Kubernetes Pod 日志
使用 Site24x7 AppLogs 采集、跟踪并监控运行在 Kubernetes Pod 上的应用程序日志。Site24x7 服务器代理支持从 Kubernetes 日志文件中采集日志。
添加 Kubernetes Pod 日志的步骤:
- 登录您的 Site24x7 账户。
- 如果您尚未添加 Kubernetes 监视器,请按照此处的步骤进行添加(或前往服务器 > Kubernetes > 集群 (+) > 添加 Kubernetes 监视器)。
- 添加 Kubernetes 监视器后,我们的 Site24x7 Pod 将在您的每个 Kubernetes 集群节点上运行,并准备好采集日志。
- 然后,您可以导航至管理 > AppLogs > 日志配置文件 > 添加日志配置文件来创建日志配置文件。
- 从日志类型列表中选择 Kubernetes Pod Logs。
- Kubernetes Pod 日志来源于 /var/log/pods/ 文件夹路径。添加 Kubernetes 监视器后,将自动把 /var 文件夹挂载为 /host/var 至我们的 Site24x7 Pod 中。site24x7-agent.yaml 文件已在父目录下包含所述路径,以便我们的 Pod 能够读取该文件夹中的日志。
过滤 Pod 日志
- 如需采集所有 Pod 的日志,请在日志配置文件中使用以下文件路径。该路径为通用路径,将收集所有命名空间文件夹中的日志:
/host/var/log/pods/*/*/*.log - 以下路径表示按命名空间、Pod 名称和唯一 Pod 标识符组织的容器日志存储位置:
/host/var/log/pods/namespace_podame_podid/ container_name/*.log
- 如需采集特定 Pod 的日志,可通过指定该 Pod 的名称路径实现:
/host/var/log/pods/*<particular Pod name>*/*/*.log - 如需采集特定命名空间的日志,请在日志配置文件中设置如下文件路径:
/host/var/log/pods/*<namespace>*/*/*.log
- 如需采集特定 Pod 的日志,可通过指定该 Pod 的名称路径实现:
- 如需排除 Site24x7 Pod 的日志,单击 + 图标,选择排除选项,并添加以下文件路径:
/host/var/log/pods/*site24x7-agent*/site24x7-agent/*.log
- 如需采集所有 Pod 的日志,请在日志配置文件中使用以下文件路径。该路径为通用路径,将收集所有命名空间文件夹中的日志:
- 添加 Kubernetes 监视器后,您可以使用将此日志配置文件与以下服务器关联选项关联相应的 Kubernetes 节点。

在 Kubernetes 中,部分 Pod 以 JSON 格式写入日志,另一些则使用 klog 原生格式。Site24x7 支持 klog 原生格式和 JSON 日志格式,用于解析 Kubernetes Pod 日志。
Klog 原生格式:示例日志及日志模式
2022-11-08T19:29:58.894693328Z stdout F 2022-11-08 19:29:58,894 INFO reaped unknown pid 12591
$time:date:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'$ $Stream$ $LogTag$ $Message$
JSON:示例日志及日志模式
{"log":"Starting image","stream":"stdout","time":"2019-06-04T11:29:54.295671087Z", "namespace" : "kube-system", "podname" : "kube-proxy-4jrl9_323e26da", "podid": "323e26da-67d4-4ae8-ad19-a30abcb9e101", "containername" : "kube-proxy"}
json $log$ $stream$ $time:date:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'$ $namespace as NameSpace$ $podname as PodName$ $podid as PodId$ $containername as ContainerName$
该日志被拆分为多个字段,每个字段将获取其对应的值,然后上传至 Site24x7。
| 字段名称 | 字段值 |
| log | Starting image |
| stream | stdout |
| time | 2019-06-04T11:29:54.295671087Z |
| NameSpace | kube-system |
| PodName | kube-proxy-4jrl9_323e26da |
| PodId | 323e26da-67d4-4ae8-ad19-a30abcb9e101 |
| ContainerName | kube-proxy |
其中,log 键用于捕获实际的日志消息。NameSpace、PodName、PodID 和 ContainerName 等其余字段名称为附加元信息。

借助 Site24x7 的 Kubernetes 事件日志,您可以查看并管理集群、Pod 和节点的所有事件日志。
相关日志类型
延伸阅读
学习文章:Kubernetes 日志 101
