如果您的组织使用 Splunk,则可以配置 Rancher 向其发送 Kubernetes 日志。您可以登录 Splunk 服务器,查看日志。
前提:
- 为您的 Splunk 服务器(Splunk Enterprise 或 Splunk Cloud)配置 HTTP 事件收集。
- 创建新 Token 或复制现有 Token。
有关更多信息,请参阅 Splunk 文档.
Splunk 配置
在访问地址字段中,输入您的 Splunk 实例输入 IP 地址和端口(例如:
http://splunk-server:8088
)- Splunk 通常使用端口
8088
。如果您使用的是 Splunk Cloud,可以通过 Splunk 支持 来获取访问地址。
- Splunk 通常使用端口
输入您在 Splunk 中获得的Token。
在日志源字段中定义 Rancher 日志源的名字。
可选: 输入您 Token 有权限访问的 index。
SSL 配置
如果您的 Splunk 实例使用 SSL,则您的访问地址必须以https://
开头。输入正确的访问地址,将展开SSL 配置表单。
提供客户端私钥和客户端证书。您可以复制和粘贴它们,也可以使用从文件读取按钮上传它们。
您可以使用自签名证书,也可以使用证书颁发机构提供的证书。
或使用 openssl 命令生成自签名证书。例如:
openssl req -x509 -newkey rsa:2048 -keyout myservice.key -out myservice.cert -days 365 -nodes -subj "/CN=myservice.example.com"
输入您的客户密钥密码。
选择是否要验证 SSL 证书
- 如果使用的是自签名证书,请选择启用-输入受信任的服务器证书,并提供 PEM 格式的 CA 证书。您可以复制和粘贴证书,也可以使用从文件读取按钮上传证书。
- 如果您使用的是来自证书颁发机构的证书,请选择启用-输入受信任的服务器证书。您无需提供PEM 格式的 CA 证书。
查看日志
登录到 Splunk 服务器。
点击Search & Reporting。Indexed Events的数量应在增加。
故障排查
您可以使用 curl 来查看 HEC 是否开启:
curl http://splunk-server:8088/services/collector/event \
-H 'Authorization: Splunk 8da70994-b1b0-4a79-b154-bfaae8f93432' \
-d '{"event": "hello world"}'
如果正确配置了 Splunk,则应该收到 json 返回 success code 0
。您应该能够 将记录数据发送到 HEC。
如果收到错误,请检查 Splunk 和 Rancher 中的配置。