Logstash 模块编辑

logstash 模块解析 Logstash 的常规日志和慢日志,它将支持纯文本格式和 JSON 格式。

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

  • 设置日志文件的默认路径(但不用担心,您可以覆盖默认路径)
  • 确保每个多行日志事件都作为单个事件发送
  • 使用 Elasticsearch Ingest Pipeline 解析和处理日志行,将数据塑造成适合在 Kibana 中可视化的结构
  • 部署用于可视化日志数据的仪表盘

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

logstash 模块有两个文件集

  • log 文件集收集并解析 Logstash 写入磁盘的日志。
  • slowlog 文件集解析 Logstash 慢日志。

对于 slowlog 文件集,请确保配置 Logstash 慢日志选项

兼容性编辑

Logstash log 文件集已使用来自 Logstash 5.6 和 6.0 的日志进行测试。

Logstash slowlog 文件集已使用来自 Logstash 5.6 和 6.0 的日志进行测试

配置模块编辑

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

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

以下示例展示了如何在 modules.d/logstash.yml 文件中设置路径以覆盖 Logstash 日志的默认路径。

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

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

-M "logstash.log.var.paths=[/path/to/log/logstash/logstash-server.log*]" -M "logstash.slowlog.var.paths=[/path/to/log/logstash/logstash-slowlog.log*]"

变量设置编辑

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

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

当您在命令行中指定设置时,请记住使用模块名称作为前缀,例如 logstash.log.var.paths 而不是 log.var.paths

log 文件集设置编辑

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

slowlog 文件集设置编辑

var.paths
一个基于通配符的路径数组,用于指定查找日志文件的位置。这里支持 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 字段覆盖为原始时区。

请参阅 处理器,了解如何在您的配置文件中指定处理器。

示例仪表盘编辑

此模块包含两个示例仪表盘。

kibana logstash log
kibana logstash slowlog

已知问题编辑

当使用 log 文件集解析纯文本日志时,如果多行纯文本日志包含一个嵌入式 JSON 对象,使得 JSON 对象从新行开始,文件集可能无法正确解析多行纯文本日志事件。

字段编辑

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