要自定义 CentOS 上 Filebeat 的输出格式,您需要编辑 Filebeat 配置文件。以下是自定义输出格式的步骤:
Filebeat 的配置文件通常位于 /etc/filebeat/filebeat.yml
。使用文本编辑器打开它,例如使用 vim:
sudo vim /etc/filebeat/filebeat.yml
在配置文件中,找到 output
部分。您可以选择将输出发送到不同的目标,例如 Logstash、Elasticsearch 或其他支持的输出模块。在这个例子中,我们将输出发送到 Logstash。
output.logstash:
hosts: ["localhost:5044"]
要自定义输出格式,您需要在 processors
部分添加一个新的处理器。在这个例子中,我们将创建一个自定义的 JSON 字符串作为输出格式。
首先,在 filebeat.yml
文件中添加以下内容:
processors:
- add_fields:
fields:
custom_field: "custom_value"
这将向每个事件添加一个名为 custom_field
的自定义字段。
接下来,您需要创建一个自定义的 Logstash 配置文件,以便正确解析 Filebeat 发送的自定义输出格式。创建一个名为 filebeat-logstash.conf
的文件,并添加以下内容:
input {
beats {
port => 5044
ssl => false
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "filebeat-%{+YYYY.MM.dd}"
}
}
这个配置文件将从 Filebeat 接收自定义格式的事件,并将其解析为 JSON。然后,它将事件发送到 Elasticsearch。
保存所有更改后,重启 Filebeat 和 Logstash 以应用新的配置:
sudo systemctl restart filebeat
sudo systemctl restart logstash
现在,Filebeat 将使用自定义的输出格式发送事件到 Logstash。您可以根据需要修改 processors
部分以添加更多自定义字段或更改输出格式。