RabbitMQ 模块编辑

这是用于解析RabbitMQ 日志文件的模块。它仅支持 RabbitMQ 默认的 RFC 3339 时间戳格式,即 TIMESTAMP_ISO8601。

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

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

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

兼容性编辑

解析 3.7.0 中引入的单文件格式

经测试,与版本 3.7.14 兼容。

配置模块编辑

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

您必须在模块中启用至少一个文件集。默认情况下,文件集是被禁用的。

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

- module: rabbitmq
  log:
    enabled: true
    var.paths: ["/path/to/log/rabbitmq/*.log*"]

要在命令行中指定相同的设置,请使用

-M "rabbitmq.log.var.paths=[/path/to/log/rabbitmq/*.log*]"

变量设置编辑

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

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

在命令行中指定设置时,请记住在设置前加上模块名称,例如,使用 rabbitmq.log.var.paths 而不是 log.var.paths

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 字段。

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

字段编辑

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