要在Ubuntu上自定義Filebeat的輸出格式,您需要編輯Filebeat的配置文件filebeat.yml。以下是一些基本步驟來幫助您自定義輸出格式:
filebeat.yml文件。通常,該文件位于/etc/filebeat/目錄下。sudo nano /etc/filebeat/filebeat.yml
filebeat.yml文件中,找到output部分。默認情況下,Filebeat使用logging或elasticsearch作為輸出模塊。根據您選擇的輸出模塊,自定義輸出格式的方法會有所不同。例如,如果您使用的是logging輸出模塊,可以在output.logging部分自定義輸出格式。以下是一個示例:
output.logging:
# 自定義日志級別
level: info
# 自定義日志格式
formatter:
message_key: log_message
message_format: '%{[agent.version]} %{[agent.date]} %{[message]}'
在這個例子中,我們自定義了日志級別和日志格式。message_format字段允許您使用占位符來定義輸出格式。有關可用占位符的詳細信息,請參閱Filebeat文檔。
如果您使用的是elasticsearch輸出模塊,可以在output.elasticsearch部分自定義輸出格式。以下是一個示例:
output.elasticsearch:
# Elasticsearch的地址
hosts: ["localhost:9200"]
# 自定義索引名稱
index: "my-custom-index-%{+yyyy.MM.dd}"
# 自定義字段映射
fields_under_root: true
document_type: "_doc"
# 自定義JSON字段
json.keys_under_root: true
json.add_error_key: true
在這個例子中,我們自定義了Elasticsearch的地址、索引名稱、字段映射和JSON字段。有關更多自定義選項,請參閱Filebeat文檔。
保存并關閉filebeat.yml文件。
重新啟動Filebeat服務以應用更改:
sudo systemctl restart filebeat
現在,Filebeat將使用您自定義的輸出格式發送日志。如果您使用的是logging輸出模塊,可以在Filebeat日志中查看自定義格式的輸出。如果您使用的是elasticsearch輸出模塊,可以在Elasticsearch中查看自定義格式的文檔。