生成 filebeat 自定义字段
Generating filebeat custom fields
我有一个 elasticsearch 集群 (ELK) 和一些节点使用 filebeat 将日志发送到 logstash。我环境中的所有服务器都是CentOS 6.5.
每个服务器中的 filebeat.yml 文件由 Puppet 模块强制执行(我的生产服务器和测试服务器都有相同的配置)。
我想在每个文档中都有一个字段,告诉它是否来自 production/test 服务器。
我想在每个文档中生成一个动态自定义字段,它使用 filebeat.yml 文件指示环境 (production/test)。
为了解决这个问题,我想到了 运行 宁一个命令,其中 returns 环境(可以通过 facter 了解环境)并将其添加到 "environment" filebeat.yml 文件中的自定义字段,但我找不到任何方法。
是否可以通过 filebeat.yml 运行 命令?
还有其他方法可以实现我的目标吗?
是的,您可以通过filebeats向文档添加字段。
official doc 告诉你怎么做。
在你的filebeat.yml中:
filebeat:
prospectors:
-
paths:
- /path/to/my/folder
input_type: log
# Optional additional fields. These field can be freely picked
# to add additional information to the crawled log files
fields:
mycustomvar: production
在 filebeat-7.2.0 中我使用以下语法:
processors:
- add_fields:
target: ''
fields:
mycustomfieldname: customfieldvalue
注意:target = ''表示mycustomfieldname是顶级字段
official 7.2 docs
我有一个 elasticsearch 集群 (ELK) 和一些节点使用 filebeat 将日志发送到 logstash。我环境中的所有服务器都是CentOS 6.5.
每个服务器中的 filebeat.yml 文件由 Puppet 模块强制执行(我的生产服务器和测试服务器都有相同的配置)。
我想在每个文档中都有一个字段,告诉它是否来自 production/test 服务器。
我想在每个文档中生成一个动态自定义字段,它使用 filebeat.yml 文件指示环境 (production/test)。
为了解决这个问题,我想到了 运行 宁一个命令,其中 returns 环境(可以通过 facter 了解环境)并将其添加到 "environment" filebeat.yml 文件中的自定义字段,但我找不到任何方法。
是否可以通过 filebeat.yml 运行 命令? 还有其他方法可以实现我的目标吗?
是的,您可以通过filebeats向文档添加字段。
official doc 告诉你怎么做。
在你的filebeat.yml中:
filebeat:
prospectors:
-
paths:
- /path/to/my/folder
input_type: log
# Optional additional fields. These field can be freely picked
# to add additional information to the crawled log files
fields:
mycustomvar: production
在 filebeat-7.2.0 中我使用以下语法:
processors:
- add_fields:
target: ''
fields:
mycustomfieldname: customfieldvalue
注意:target = ''表示mycustomfieldname是顶级字段 official 7.2 docs