配置独立 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配置文件的“日志记录”部分中指定以下设置。

某些输出会在发生错误时(例如 Elasticsearch 输出中的索引错误)记录原始事件,为了防止将原始事件(可能包含敏感信息)与其他日志消息一起记录,会使用一个单独的日志文件仅用于包含原始事件的日志条目。它将使用默认记录器的相同级别、选择器和其他所有配置,但它将拥有自己的文件配置。

为原始事件使用不同的日志文件还可以防止事件数据淹没常规日志文件。使用agent.logging.event_data配置事件记录器。

Elastic Agent 监控不会收集事件日志文件。如果需要事件日志文件,可以使用诊断程序收集它们,或者直接从运行 Elastic Agent 的主机复制它们。

设置

描述

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.ndjson

日志文件名以日期和可选编号结尾: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

agent.logging.event_data.to_files

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

默认值:true

agent.logging.event_data.path

写入日志文件的目录。

/Library/Elastic/Agent/data/elastic-agent-*/logs/elastic-agent.ndjson

日志文件名以日期和可选编号结尾:log-date.ndjson、log-date-1.ndjson,依此类推,在轮转期间创建新文件。

agent.logging.event_data.files.name

写入日志的文件名。

默认值:elastic-agent-event-data

agent.logging.event_data.files.rotateeverybytes

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

默认值:5242880(5MB)

agent.logging.event_data.files.keepfiles

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

默认值:2

agent.logging.event_data.files.permissions

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

默认值:0600

agent.logging.event_data.files.interval

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

默认值:0(已禁用)

agent.logging.event_data.files.rotateonstartup

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

默认值:false