帮助手册

Kubernetes Pod 日志

使用 Site24x7 AppLogs 采集、跟踪并监控运行在 Kubernetes Pod 上的应用程序日志。Site24x7 服务器代理支持从 Kubernetes 日志文件中采集日志。

添加 Kubernetes Pod 日志的步骤:

  1. 登录您的 Site24x7 账户。
  2. 如果您尚未添加 Kubernetes 监视器,请按照此处的步骤进行添加(或前往服务器 > Kubernetes > 集群 (+) > 添加 Kubernetes 监视器)。
  3. 添加 Kubernetes 监视器后,我们的 Site24x7 Pod 将在您的每个 Kubernetes 集群节点上运行,并准备好采集日志。
  4. 然后,您可以导航至管理 > AppLogs > 日志配置文件 > 添加日志配置文件来创建日志配置文件。
  5. 从日志类型列表中选择 Kubernetes Pod Logs
  6. 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
    • 如需排除 Site24x7 Pod 的日志,单击 + 图标,选择排除选项,并添加以下文件路径:
      /host/var/log/pods/*site24x7-agent*/site24x7-agent/*.log
  7. 添加 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

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!