ZooKeeper 模块

编辑

zookeeper 模块收集和解析由 Apache ZooKeeper 创建的日志。

当你运行该模块时,它会在后台执行一些任务

  • 设置日志文件的默认路径(但别担心,你可以覆盖默认值)
  • 确保每个多行日志事件都作为单个事件发送
  • 使用 Elasticsearch 摄取管道来解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构

阅读快速入门,了解如何配置和运行模块。

兼容性

编辑

zookeeper 模块已使用 3.7.0 版本的日志进行了测试。

配置模块

编辑

你可以通过在 modules.d/zookeeper.yml 文件中指定 变量设置,或在命令行覆盖设置来进一步优化 zookeeper 模块的行为。

你必须在该模块中启用至少一个文件集。 默认情况下,文件集处于禁用状态。

变量设置

编辑

每个文件集都有单独的变量设置,用于配置模块的行为。如果你未指定变量设置,zookeeper 模块将使用默认值。

对于高级用例,你还可以覆盖输入设置。请参阅覆盖输入设置

当你在命令行指定设置时,请记住在设置前加上模块名称,例如 zookeeper.audit.var.paths 而不是 audit.var.paths

以下示例显示如何在 modules.d/zookeeper.yml 文件中设置路径,以覆盖日志的默认路径

- module: zookeeper
  audit:
    enabled: true
    var.paths:
      - "/path/to/logs/zookeeper_audit.log*"
  log:
    enabled: true
    var.paths:
      - "/path/to/logs/zookeeper.log*"

要在命令行指定相同的设置,你需要使用

-M "zookeeper.audit.var.paths=[/path/to/logs/zookeeper_audit.log*]" -M "zookeeper.log.var.paths=[/path/to/logs/zookeeper.log*]"

审计日志

编辑

审计日志在 Zookeeper 3.6.0 及更高版本中可用,但默认情况下处于禁用状态。要启用它,你可以将以下设置添加到配置文件中

audit.enable=true

audit 文件集设置

编辑
var.paths
一个基于 glob 的路径数组,用于指定查找日志文件的位置。此处还支持 Go Glob 支持的所有模式。例如,你可以使用通配符从预定义的子目录级别中提取所有文件:/path/to/log/*/*.log。这将提取 /path/to/log 的子文件夹中的所有 .log 文件。它不会从 /path/to/log 文件夹本身中提取日志文件。如果此设置为空,Filebeat 将根据你的操作系统选择日志路径。

时区支持

编辑

此模块解析不包含时区信息的日志。对于这些日志,Filebeat 会读取本地时区,并在解析时使用它将时间戳转换为 UTC。用于解析的时区包含在事件的 event.timezone 字段中。

要禁用此转换,可以使用 drop_fields 处理器删除 event.timezone 字段。

如果日志源自与本地时区不同的系统或应用程序,可以使用 add_fields 处理器将 event.timezone 字段覆盖为原始时区。

有关在配置中指定处理器的信息,请参阅处理器

log 文件集设置

编辑
var.paths
一个基于 glob 的路径数组,用于指定查找日志文件的位置。此处还支持 Go Glob 支持的所有模式。例如,你可以使用通配符从预定义的子目录级别中提取所有文件:/path/to/log/*/*.log。这将提取 /path/to/log 的子文件夹中的所有 .log 文件。它不会从 /path/to/log 文件夹本身中提取日志文件。如果此设置为空,Filebeat 将根据你的操作系统选择日志路径。

时区支持

编辑

此模块解析不包含时区信息的日志。对于这些日志,Filebeat 会读取本地时区,并在解析时使用它将时间戳转换为 UTC。用于解析的时区包含在事件的 event.timezone 字段中。

要禁用此转换,可以使用 drop_fields 处理器删除 event.timezone 字段。

如果日志源自与本地时区不同的系统或应用程序,可以使用 add_fields 处理器将 event.timezone 字段覆盖为原始时区。

有关在配置中指定处理器的信息,请参阅处理器

字段

编辑

有关模块中每个字段的说明,请参阅导出的字段部分。