日志采集功能是容器服务为用户提供的集群内日志采集工具,可以将集群内服务或集群节点特定路径文件的日志发送至 Kafka、Elasticsearch或者腾讯云日志服务(CLS)。日志采集功能适用于需要对 Kubernetes 集群内服务日志进行存储和分析的用户。
日志采集功能需要为每个集群手动开启。日志采集功能开启后,日志采集 Agent 会在集群内以 DaemonSet 的形式运行,并根据用户通过日志采集规则配置的采集源和消费端,从采集源进行日志采集,将日志内容发送到消费端。您可根据以下操作开启日志采集功能:
/var/lib/docker/containers//.json-log
的日志时,可以指定日志采集路径为 /var/lib/docker/containers/*/*.json-log
。日志采集功能支持采集 Kubernetes 集群内指定容器的标准输出日志,用户可以根据自己的需求,灵活的配置采集规则。
采集到的日志信息将会以 JSON 格式输出到用户指定的消费端,并会附加相关的 Kubernetes metadata,包括容器所属 pod 的 label 和 annotation 等信息。
1、登录 容器服务控制台,单击左侧导航栏【日志采集】。
2、在日志采集页面上方选择地域与集群后,单击【新建】。如下图所示:
3、在新建日志收集规则页面,选择【容器标准输出】采集类型,并配置日志源。如下图所示:
选择容器标准输出采集类型时,会默认为每条日志添加以下 metadata,其中 log 为原始日志信息。且该类型日志源支持一次选择多个 Namespace 的工作负载。
字段名 | 含义 |
---|---|
docker.container_id | 日志所属的 container ID |
kubernetes.annotations | 日志所属 pod 的 annotations |
kubernetes.container_name | 日志所属的 container name |
kubernetes.host | 日志所属 pod 所在的机器 IP |
kubernetes.labels | 日志所属 pod 的 labels |
kubernetes.namespace_name | 日志所属 pod 的 namespace |
kubernetes.pod_id | 日志所属 pod 的 ID |
kubernetes.pod_name | 日志所属 pod 的名字 |
log | 原始日志信息 |
4、配置日志消费端,推荐以日志服务CLS 为消费端。如下图所示:
5、单击【完成】,完成创建。
日志采集功能也支持采集集群内指定 pod 内文件的日志。
采集到的日志信息将会以 JSON 格式输出到用户指定的消费端,并会附加相关的 Kubernetes metadata,包括容器所属 pod 的 label 和 annotation 等信息。
NT:
目前仅支持采集存储在 volume 的日志文件,即需要在工作负载创建时挂载 emptyDir、hostpath 等 volume,并将日志文件存到指定 volume。
说明:
用户可以通过指定日志文件的路径来采集 pod 上相应路径的日志文件,路径支持文件路径和通配规则,如
/var/log/nginx.log
或/var/lib/docker/containers/*/*.log
。
选择容器文件路径采集类型时,会默认为每条日志添加以下 metadata,其中 message 为原始日志信息。且该类型日志源不支持选择多个 Namespace 的工作负载。
字段名 | 含义 |
---|---|
docker.container_id | 日志所属的 container ID |
kubernetes.annotations | 日志所属 pod 的 annotations |
kubernetes.container_name | 日志所属的 container name |
kubernetes.host | 日志所属 pod 所在的机器 IP |
kubernetes.labels | 日志所属 pod 的 labels |
kubernetes.namespace_name | 日志所属 pod 的 namespace |
kubernetes.pod_id | 日志所属 pod 的 ID |
kubernetes.pod_name | 日志所属 pod 的名字 |
file | 源日志文件 |
message | 原始日志信息 |
日志采集功能支持采集集群内所有节点的指定主机路径的日志。用户可以根据自己的需求,灵活的配置所需的路径,日志采集 Agent 会采集集群内所有节点上满足指定路径规则的文件日志。
采集到的日志信息将会以 JSON 格式输出到用户指定的输出端,并会附加用户指定的 metadata,包括日志来源文件的路径和用户自定义的 metadata。
说明:
用户可以通过指定日志文件的路径来采集集群内节点上相应路径的日志文件,路径支持文件路径和通配规则,如
/var/log/nginx.log
或/var/lib/docker/containers/*/*.log
。
用户可根据实际需求进行添加自定义的 “metadata” ,将采集到的日志信息附加指定 Key-Value 形式的 “metadata”,作为日志信息的 metadata 标记。
日志 metadata 含义如下表:
字段名 | 含义 |
---|---|
path | 日志的来源文件 |
message | 日志信息 |
自定义 key | 自定义 value |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。