Kibana 中的日志设置

编辑

Kibana 中的日志设置

编辑

您无需配置任何其他设置即可使用 Kibana 中的日志功能。日志默认启用,并将使用 pattern 布局以 info 级别记录日志,该布局将日志输出到 stdout

但是,如果您计划使用 Elasticsearch 或其他工具来摄取日志,我们建议使用 json 布局,该布局会生成 ECS 格式的日志。一般来说,当原始日志由人读取时,建议使用 pattern 布局,而当日志由机器读取时,则建议使用 json 布局。

日志配置会根据预定义的模式进行验证,如果存在任何问题,Kibana 将会启动失败并显示详细的错误消息。

Kibana 依赖于三个高级实体来设置日志服务:appender、logger 和 root。这些可以在 kibana.yml 中的 logging 命名空间中进行配置。

  • Appender 定义了日志消息的显示位置(stdout 或控制台)及其布局(patternjson)。它们还允许您指定是否要存储日志,以及在何处存储(磁盘上的文件)。
  • Logger 定义了要应用于特定上下文的日志设置,例如详细程度级别和 appender。每个日志条目上下文都提供了有关发出该条目的服务或插件及其任何子部分的信息,例如,metrics.opselasticsearch.query
  • Root 是一个 logger,它应用于 Kibana 中的所有日志条目。

下表可以作为不同日志配置键的快速参考。请注意,这些不是独立的设置,可能需要额外的日志配置。有关常见配置用例,请参阅Kibana 中配置日志指南和完整的示例

logging.appenders[].<appender-name>

唯一的 appender 标识符。

logging.appenders[].console

用于将日志记录到 stdout 的 appender。默认情况下,使用 [%date][%level][%logger] %message pattern 布局。要使用 json,请将布局类型设置为 json

logging.appenders[].file

允许您指定一个文件名,以便将日志记录写入磁盘。要将所有日志记录写入文件,请将 file appender 添加到 root.appenders。如果已配置,您还需要指定 logging.appenders.file.pathName

logging.appenders[].rolling-file

类似于 Log4jRollingFileAppender,此 appender 将日志记录到文件中,并在配置的策略触发时按照滚动策略进行轮转。目前支持两种策略:size-limittime-interval

logging.appenders[].<appender-name>.type

appender 类型决定了日志消息的发送位置。选项包括 consolefilerewriterolling-file。必需。

logging.appenders[].<appender-name>.fileName

确定 file 和 rolling-file appender 类型的日志消息写入的文件路径。对于写入文件的 appender 是必需的。

logging.appenders[].<appender-name>.policy.type

指定 rolling-file 类型 appender 应该发生轮转的触发策略。

logging.appenders[].<appender-name>.policy.interval

指定 time-interval 类型 rolling-file appender 轮转日志文件的时间间隔。默认值为 24h

logging.appenders[].<appender-name>.policy.size

指定 size-limit 类型 rolling-file appender 的策略应触发轮转的大小限制。默认值为 100mb

logging.appenders[].<appender-name>.policy.interval

指定 time-interval 类型 rolling-file appender 的策略应触发轮转的时间间隔。

logging.appenders[].<appender-name>.policy.modulate

是否应调整间隔以使下一次轮转发生在间隔边界上。布尔值。默认为 true

logging.appenders[].<appender-name>.strategy.type

滚动文件策略类型。目前仅支持 numeric

logging.appenders[].<appender-name>.strategy.pattern

滚动时附加到文件路径的后缀。必须包含 %i

logging.appenders[].<appender-name>.strategy.max

要保留的最大文件数。可选。默认为 7,最大值为 100

logging.appenders[].<appender-name>.layout.type

确定日志消息的显示方式。选项包括 pattern,提供人类可读的输出,或者 json,提供符合 ECS 的输出。必需。

logging.appenders[].<appender-name>.layout.highlight

可选的布尔值,用于以颜色突出显示日志消息。仅适用于 pattern 布局。默认为 false

logging.appenders[].<appender-name>.layout.pattern

可选的字符串模式,用于将占位符替换为实际日志消息中的数据。仅适用于模式类型的布局。

logging.root.appenders[]

要应用于 root 的特定 appender 列表。默认为具有 pattern 布局的 console

logging.root.level

指定所有日志消息的默认详细程度,以便在未在各个 logger 级别专门配置时回退。选项包括 allfatalerrorwarninfodebugtraceoffalloff 级别只能在配置中使用,它们只是方便的快捷方式,允许您记录每个日志记录或完全禁用日志记录,或者禁用特定 logger 的日志记录。默认为 info

logging.loggers[].<logger>.name

特定的 logger 实例。

logging.loggers[].<logger>.level

指定 <logger> 上下文的日志消息的详细程度。可选,并继承任何祖先 logger(直至 root logger 的 level)的详细程度。

logging.loggers[].<logger>.appenders

确定要作为数组应用于特定 logger 上下文的 appender。可选,如果未指定,则回退到 root logger 的 appender。