要在CentOS上自定义Filebeat的输出格式,您需要编辑Filebeat的配置文件filebeat.yml
- 打开Filebeat配置文件:
sudo vi /etc/filebeat/filebeat.yml
-
在
filebeat.yml
文件中找到output.elasticsearch
部分。如果您使用的是Logstash作为输出,那么应该找到output.logstash
部分。如果没有找到,请在文件末尾添加相应的部分。 -
自定义输出格式。以下是一个将日志发送到Elasticsearch的自定义输出格式示例:
output.elasticsearch: hosts: ["localhost:9200"] index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" pipeline: "filebeat-pipeline"
在这个例子中,我们将日志发送到本地的Elasticsearch实例,并使用一个名为filebeat-pipeline
的预定义管道。您可以根据需要修改这些设置。
- 如果您使用的是Logstash作为输出,可以自定义Logstash的配置文件。首先,找到Logstash的配置文件
logstash.conf
:
sudo vi /etc/logstash/conf.d/logstash.conf
- 在
logstash.conf
文件中,找到filebeat
输入插件部分。如果没有找到,请在文件末尾添加相应的部分。然后,在output
部分自定义输出格式。以下是一个将日志发送到Elasticsearch的自定义输出格式示例:
input { beats { port => 5044 } } filter { # 在这里添加您的过滤器配置 } output { elasticsearch { hosts => ["localhost:9200"] index => "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" document_type => "_doc" pipeline => "filebeat-pipeline" } }
在这个例子中,我们将日志发送到本地的Elasticsearch实例,并使用一个名为filebeat-pipeline
的预定义管道。您可以根据需要修改这些设置。
-
保存并关闭配置文件。
-
重启Filebeat和Logstash服务以应用更改:
sudo systemctl restart filebeat sudo systemctl restart logstash
现在,Filebeat应该会按照您自定义的输出格式将日志发送到Elasticsearch。