Elasticsearch 模块

编辑

这是 elasticsearch 模块。

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

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

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

兼容性

编辑

Elasticsearch 模块与 Elasticsearch 6.2 及更高版本兼容。

配置模块

编辑

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

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

变量设置

编辑

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

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

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

server 日志文件集设置

编辑
var.paths

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

示例配置

  server:
    enabled: true
    var.paths:
      - /var/log/elasticsearch/*.log          # Plain text logs
      - /var/log/elasticsearch/*_server.json  # JSON logs

如果您针对 Elasticsearch >= 7.0.0 运行,请将 var.paths 设置配置为指向 JSON 日志。否则,请将其配置为指向纯文本日志。

gc 日志文件集设置

编辑
var.paths

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

示例配置

  gc:
    var.paths:
      - /var/log/elasticsearch/gc.log.[0-9]*
      - /var/log/elasticsearch/gc.log

audit 日志文件集设置

编辑
var.paths

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

示例配置

  audit:
    var.paths:
      - /var/log/elasticsearch/*_access.log  # Plain text logs
      - /var/log/elasticsearch/*_audit.json  # JSON logs

如果您针对 Elasticsearch >= 7.0.0 运行,请将 var.paths 设置配置为指向 JSON 日志。否则,请将其配置为指向纯文本日志。

slowlog 日志文件集设置

编辑
var.paths

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

示例配置

  slowlog:
    var.paths:
      - /var/log/elasticsearch/*_index_search_slowlog.log     # Plain text logs
      - /var/log/elasticsearch/*_index_indexing_slowlog.log   # Plain text logs
      - /var/log/elasticsearch/*_index_search_slowlog.json    # JSON logs
      - /var/log/elasticsearch/*_index_indexing_slowlog.json  # JSON logs

如果您针对 Elasticsearch >= 7.0.0 运行,请将 var.paths 设置配置为指向 JSON 日志。否则,请将其配置为指向纯文本日志。

deprecation 日志文件集设置

编辑
var.paths

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

示例配置

  deprecation:
    var.paths:
      - /var/log/elasticsearch/*_deprecation.log   # Plain text logs
      - /var/log/elasticsearch/*_deprecation.json  # JSON logs

如果您针对 Elasticsearch >= 7.0.0 运行,请将 var.paths 设置配置为指向 JSON 日志。否则,请将其配置为指向纯文本日志。

时区支持

编辑

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

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

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

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

字段

编辑

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