将 Kubernetes 的错误日志转发至 Splunk
在生产环境中,及时收集和分析错误日志对于维护系统稳定性和协助故障排查至关重要。
本指南介绍了如何从运行在 Kubernetes 环境中的多个 API7 网关实例中收集错误日志,并将其发送至 Splunk 进行集中式的日志管理。为了实现这一目标,你将使用 Splunk OpenTelemetry Collector for Kubernetes,这是一个专门用于从 Kubernetes Pod 收集日志的解决方案。
前提条件
- 在 Kubernetes 集群中部署 API7 网关。
- 安装 Splunk。
部署 Splunk
你可以选择使用 Splunk 的云服务或在本地部署 Splunk。如果你已经部署了 Splunk,则可以跳过此步骤,直接进入创建 Splunk HEC Token。
为 Splunk 创建一个 docker-compose 文件:
docker-compose.yaml
services:
splunk:
image: splunk/splunk:8.2.3
container_name: splunk
hostname: splunk
environment:
- SPLUNK_START_ARGS=--accept-license
- SPLUNK_PASSWORD=yourpassword123
- SPLUNK_HEC_TOKEN=your-hec-token
ports:
- "8000:8000"
- "8088:8088"
- "8089:8089"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
启动 Splunk:
docker compose up -d