配置独立 Elastic Agent 的日志记录编辑

elastic-agent.yml 配置文件中的“日志记录”部分包含用于配置日志记录输出的设置。日志记录系统可以将日志写入 syslogfilestderreventlog 或轮转日志文件。如果您没有显式配置日志记录,则使用 stderr 输出。

此示例配置 Elastic Agent 日志记录

agent.logging.level: info
agent.logging.to_files: true
agent.logging.files:
  path: /var/log/elastic-agent
  name: elastic-agent
  keepfiles: 7
  permissions: 0600

日志记录配置设置编辑

您可以在 elastic-agent.yml 配置文件中的“日志记录”部分指定以下设置。

设置

描述

agent.logging.level

最低日志级别。

可能的值

  • error:记录错误和严重错误。
  • warning:记录警告、错误和严重错误。
  • info:记录信息性消息,包括已发布的事件数量。还会记录任何警告、错误或严重错误。
  • debug:记录调试消息,包括所有已刷新事件的详细打印输出。还会记录信息性消息、警告、错误和严重错误。当日志级别为 debug 时,您可以指定 选择器 列表以显示特定组件的调试消息。如果没有指定选择器,则使用 * 选择器来显示所有组件的调试消息。

默认值:info

agent.logging.selectors

指定不同 Elastic Agent 组件用于调试的选择器标签。要调试所有组件的输出,请使用 *。要显示与事件发布相关的调试消息,请设置为 publish。多个选择器可以链接。

可能的值:[beat][publish][service]

agent.logging.to_stderr

设置为 true 以将所有日志记录输出写入 stderr 输出 - 这等效于使用 -e 命令行选项。

默认值:true

agent.logging.to_syslog

设置为 true 以将所有日志记录输出写入 syslog 输出。

默认值:false

agent.logging.to_eventlog

设置为 true 以将所有日志记录输出写入 Windows eventlog 输出。

默认值:false

agent.logging.metrics.enabled

设置为 true 以便 Elastic Agent 定期记录其在上一周期内发生变化的内部指标。对于每个发生变化的指标,都会记录其与周期开始时的值的差值。此外,所有非零内部指标的总值将在关闭时记录。如果设置为 false,则不会记录代理或在其下运行的任何 Beat 的指标。

默认值:true

agent.logging.metrics.period

指定记录内部指标的周期。此设置不会传递给在 Elastic Agent 下运行的任何 Beat。

默认值:30s

agent.logging.to_files

设置为 true 以记录到轮转文件。设置为 false 以禁用记录到文件。

默认值:true

agent.logging.files.path

写入日志文件的目录。

/Library/Elastic/Agent/data/elastic-agent-*/logs/elastic-agent-json.log

日志文件名以日期和可选数字结尾:log-date.ndjson、log-date-1.ndjson 等,在轮转过程中创建新文件时会使用这些文件名。

agent.logging.files.name

写入日志的文件名。

默认值:elastic-agent

agent.logging.files.rotateeverybytes

日志文件的最大大小限制。如果达到限制,则会生成一个新的日志文件。

默认值:10485760 (10MB)

agent.logging.files.keepfiles

在磁盘上保留的最近轮转日志文件的数量。在日志轮转过程中,会删除较旧的文件。该值必须在 21024 个文件之间。

默认值:7

agent.logging.files.permissions

轮转日志文件时要应用的权限掩码。权限选项必须是有效的 Unix 风格文件权限掩码,以八进制表示法表示。在 Go 中,八进制表示法中的数字必须以 0 开头。

默认值:0600

agent.logging.files.interval

除了基于大小的轮转之外,还启用按时间间隔轮转日志文件。间隔必须至少为 1s1m1h24h7*24h30*24h365*24h 的值与本地系统时钟报告的分钟、小时、天、周、月和年对齐。所有其他间隔都从 Unix 纪元开始计算。

默认值:0 (已禁用)

agent.logging.files.rotateonstartup

设置为 true 以在启动时轮转现有日志,而不是追加到现有文件。

默认值:true