系统模块
编辑系统模块
编辑system
模块收集并解析由常见 Unix/Linux 发行版的系统日志服务创建的日志。
当你运行该模块时,它会在后台执行以下几个任务
- 设置日志文件的默认路径(但别担心,你可以覆盖默认值)
- 确保每个多行日志事件都作为单个事件发送
- 使用 Elasticsearch 摄取管道来解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构
- 部署用于可视化日志数据的仪表板
阅读快速入门,了解如何配置和运行模块。
兼容性
编辑该模块已使用来自 Ubuntu 12.04、Centos 7 和 macOS Sierra 等操作系统的日志进行了测试。
该模块不适用于 Windows。
配置模块
编辑你可以通过在 modules.d/system.yml
文件中指定变量设置,或在命令行中覆盖设置,来进一步细化 system
模块的行为。
你必须在模块中启用至少一个文件集。文件集默认是禁用的。
以下示例显示如何在 modules.d/system.yml
文件中设置路径,以覆盖 syslog 和授权日志的默认路径
- module: system syslog: enabled: true var.paths: ["/path/to/log/syslog*"] auth: enabled: true var.paths: ["/path/to/log/auth.log*"]
要在命令行中指定相同的设置,你使用
-M "system.syslog.var.paths=[/path/to/log/syslog*]" -M "system.auth.var.paths=[/path/to/log/auth.log*]"
变量设置
编辑每个文件集都有单独的变量设置,用于配置模块的行为。如果你不指定变量设置,system
模块将使用默认值。
对于高级用例,你还可以覆盖输入设置。请参阅 覆盖输入设置。
当你在命令行中指定设置时,请记住在设置前加上模块名称,例如,system.syslog.var.paths
而不是 syslog.var.paths
。
syslog
文件集设置
编辑-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。这里还支持 Go Glob 支持的所有模式。例如,你可以使用通配符从预定义级别的子目录中获取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中获取所有.log
文件。它不会从/path/to/log
文件夹本身获取日志文件。如果此设置为空,Filebeat 将根据你的操作系统选择日志路径。 -
var.use_journald
- 一个布尔值,设置为
true
时将从 Journald 读取日志。当使用 Journald 时,所有事件都包含标记journald
。
auth
文件集设置
编辑-
var.paths
- 一个基于 glob 的路径数组,用于指定在何处查找日志文件。这里还支持 Go Glob 支持的所有模式。例如,你可以使用通配符从预定义级别的子目录中获取所有文件:
/path/to/log/*/*.log
。这将从/path/to/log
的子文件夹中获取所有.log
文件。它不会从/path/to/log
文件夹本身获取日志文件。如果此设置为空,Filebeat 将根据你的操作系统选择日志路径。 -
var.use_journald
- 一个布尔值,设置为
true
时将从 Journald 读取日志。当使用 Journald 时,所有事件都包含标记journald
。 -
var.tags
- 要包含在事件中的标签列表。包含
forwarded
表示事件不是源自此主机,并导致host.name
不会添加到事件中。包含preserve_orginal_event
会导致管道在event.original
中保留原始日志。默认为[]
。
时区支持
编辑此模块解析不包含时区信息的日志。对于这些日志,Filebeat 读取本地时区,并在解析时使用它将时间戳转换为 UTC。用于解析的时区包含在事件的 event.timezone
字段中。
要禁用此转换,可以使用 drop_fields
处理器删除 event.timezone
字段。
如果日志来自与本地时区不同的系统或应用程序,则可以使用 add_fields
处理器使用原始时区覆盖 event.timezone
字段。
有关在配置中指定处理器的信息,请参阅处理器。
示例仪表板
编辑此模块附带示例仪表板。例如
字段
编辑有关模块中每个字段的描述,请参阅导出的字段部分。