第 17 章 日志记录字段


日志导出的日志记录中可以包括以下字段。虽然日志记录通常格式为 JSON 对象,但相同的数据模型可以应用到其他编码。

要从 Elasticsearch 和 Kibana 搜索这些字段,在搜索时使用完整的点号字段名称。例如,使用 Elasticsearch /_search URL,若要查找 Kubernetes pod 名称,请使用 /_search/q=kubernetes.pod_name:name-of-my-pod

顶级字段可以出现在每条记录中。

message

原始日志条目文本 UTF-8 编码。如果存在非空的 structured 字段,则此字段可能不存在或为空。请参见关于结构化的描述,了解更多。

数据类型

text

示例值

HAPPY

结构化

原始日志条目作为结构化对象.如果转发器配置为解析结构化 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

示例值

2015-01-24 14:06:05.071000000 Z

主机名

此日志消息的来源主机的名称。在 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,以此类推。

数据类型

关键字

示例值

info

pid

日志记录实体的进程 ID(若有)。

数据类型

关键字

service

与日志记录实体(若有)关联的服务的名称。例如,syslog 的 APP-NAME 和 rsyslog 的 programname 属性映射到 service 字段。

数据类型

关键字

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.