This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第 14 章 日志记录字段
日志导出的日志记录中可以包括以下字段。虽然日志记录通常格式为 JSON 对象,但相同的数据模型可以应用到其他编码。
要从 Elasticsearch 和 Kibana 搜索这些字段,在搜索时使用完整的点号字段名称。例如,使用 Elasticsearch /_search URL,若要查找 Kubernetes pod 名称,请使用 /_search/q=kubernetes.pod_name:name-of-my-pod。
顶级字段可以出现在每条记录中。
message
原始日志条目文本 UTF-8 编码。如果存在非空的 structured 字段,则此字段可能不存在或为空。请参见关于结构化的描述,了解更多。
| 数据类型 | text |
| 示例值 |
|
结构化
原始日志条目作为结构化对象.如果转发器配置为解析结构化 JSON 日志,则可能存在此字段。如果原始日志条目是有效的结构化日志,此字段将包含等同的 JSON 结构。否则此字段为空或不存在,message 字段将包含原始日志消息。structured 字段可以包含日志消息中包含的任何子字段,此处没有定义任何限制。
| 数据类型 | group |
| 示例值 | map[message:starting fluentd worker pid=21631 ppid=21618 worker=0 pid:21631 ppid:21618 worker:0] |
@timestamp
一个 UTC 值,用于标记日志有效负载创建的时间,如果创建时间未知,则标记首次收集日志有效负载的时间。"@"前缀表示为特定用途保留的字段。默认情况下,大多数工具都通过 ElasticSearch 来查找 "@timestamp"。
| 数据类型 | date |
| 示例值 |
|
主机名
此日志消息的来源主机的名称。在 Kubernetes 集群中,这与 kubernetes.host 相同。
| 数据类型 | 关键字 |
ipaddr4
源服务器的 IPv4 地址。可以是一个数组。
| 数据类型 | ip |
ipaddr6
源服务器的 IPv6 地址(如果可用)。可以是一个数组。
| 数据类型 | ip |
level
来自各种来源的日志记录级别,包括 rsyslog(severitytext property)、一个 Python 日志记录模块等。
以下值来自 syslog.h,并在前面加上它们的 等效数字:
-
0=emerg,系统不可用。 -
1=alert,必须立即执行操作。 -
2=crit,关键条件。 -
3=err,错误条件。 -
4=warn,警告条件。 -
5=notice,正常但有严重情况。 -
6=info,信息。 -
7=debug,debug 级信息。
以下两个值不是 syslog.h 的一部分,但被广泛使用:
-
8=trace,trace 级的信息,它比debug信息更详细。 -
9=unknown,日志记录系统获得一个无法被识别的值。
在前面的列表中,将其他日志记录系统的日志级别或优先级映射到其最接近的匹配项。例如,在 python logging 中,您可以使用 CRITICAL 匹配 crit,使用 ERROR 匹配 err,以此类推。
| 数据类型 | 关键字 |
| 示例值 |
|
pid
日志记录实体的进程 ID(若有)。
| 数据类型 | 关键字 |
service
与日志记录实体(若有)关联的服务的名称。例如,syslog 的 APP-NAME 和 rsyslog 的 programname 属性映射到 service 字段。
| 数据类型 | 关键字 |