要自定義 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
部分以添加更多自定義字段或更改輸出格式。