配置日志
配置文件filebeat.yml中的logging部分包含用于配置日志记录输出的选项。日志记录系统可用将日志写入syslog,如果未明确配置日志记录,则使用文件输出。
logging.level: info
logging.to_files: true
logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
permissions: 0644
tip:除了在配置文件汇总设置日志记录选项外,还可以从命令行修改日志记录输出配置。
配置选项:
你可以在配置文件filebeat.yml配置文件的logging部分中,指定一下选项:
(1)logging.to_syslog
如果未true,则将所有日志记录输出写入syslog
(2)logging.to_eventlog
如果未true,则将所有日志记录输出写入windows事件日志。
(3)logging.to_files
如果未true,则将所有日志记录输出写入文件,达到日志文件大小限制时,日志文件会自动限制替换(轮转)。
note:如果有日志记录输出,filebeat只会创建一个日志文件。eg:如果将日志设置level为error,且没有出现错误,则在为日志指定的目录中将没有日志文件。
(4)logging.level
最低日志级别。debug、info、warning、error。默认日志级别为info。
(5)logging.selectors
不同filebeat组件使用的仅调试处理器标记的列表。使用 * 以使所有组件的调试输出。eg:添加publish以显示与事件发布相关的所有调试消息。启动filebeat时,可以使用 -d 命令行选项覆盖选择器。
(6)logging.metrics.enabled
如果启动,filebeat会定期记录上一时期内已更改的内部指标,对于更改的每个度量标准,将记录该期间开头的值的增量,此外,关闭时会记录所有非零内部指标的总值。默认值为true。
(7)logging.metrics.period
记录内部指标的时间段。默认值为30秒。
(8)logging.files.path
写入日志文件的目录。默认为日志路径。
(9)logging.files.name
写入日志的文件的名称。
(10)logging.files.rotateeverybytes
日志文件的最大大小,如果达到限制,则会生成新的日志文件,默认大小限制为10M。
(11)logging.files.permissions
旋转日志文件时要应用的权限掩码。默认值为0600。
(12)logging.files.keepfiles
要保留在磁盘上的最新轮换日志文件数。在日志轮换期间删除旧文件。默认值为7.keepfiles选项必须在2到1024个文件的范围。
(13)logging.json
如果未true,则以json格式记录消息。默认值为false。
记录格式
每个日志记录输出的日志记录格式通常相同,一个例外是syslog的输出,其中时间戳未包含在消息中,因为syslog添加了自己的时间戳。
每条日志消息都包含了一下部分:
(1)ISO8601格式的时间戳
(2)level
(3)括号中包含的记录器名称(可选)
(4)调用者的文件名和行号
(5)以JSON编码的结构化数据(可选)
以下是一些示例:
2018-12-17T18:54:16.241-0500 INFO logp/core_test.go:13 unnamed global logger
2018-12-17T18:54:16.242-0500 INFO [example] logp/core_test.go:16 some message
2018-12-17T18:54:16.242-0500 INFO [example] logp/core_test.go:19 some message {"x": 1}