配置日志
配置文件filebeat.yml中的logging部分包含用於配置日志記錄輸出的選項。日志記錄系統可用將日志寫入syslog,如果未明確配置日志記錄,則使用文件輸出。
logging.level: info logging.to_files: true logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0644
tip:除了在配置文件匯總設置日志記錄選項外,還可以從命令行修改日志記錄輸出配置。
配置選項:
你可以在配置文件filebeat.yml配置文件的logging部分中,指定一下選項:
(1)logging.to_syslog
如果未true,則將所有日志記錄輸出寫入syslog
(2)logging.to_eventlog
如果未true,則將所有日志記錄輸出寫入windows事件日志。
(3)logging.to_files
如果未true,則將所有日志記錄輸出寫入文件,達到日志文件大小限制時,日志文件會自動限制替換(輪轉)。
note:如果有日志記錄輸出,filebeat只會創建一個日志文件。eg:如果將日志設置level為error,且沒有出現錯誤,則在為日志指定的目錄中將沒有日志文件。
(4)logging.level
最低日志級別。debug、info、warning、error。默認日志級別為info。
(5)logging.selectors
不同filebeat組件使用的僅調試處理器標記的列表。使用 * 以使所有組件的調試輸出。eg:添加publish以顯示與事件發布相關的所有調試消息。啟動filebeat時,可以使用 -d 命令行選項覆蓋選擇器。
(6)logging.metrics.enabled
如果啟動,filebeat會定期記錄上一時期內已更改的內部指標,對於更改的每個度量標准,將記錄該期間開頭的值的增量,此外,關閉時會記錄所有非零內部指標的總值。默認值為true。
(7)logging.metrics.period
記錄內部指標的時間段。默認值為30秒。
(8)logging.files.path
寫入日志文件的目錄。默認為日志路徑。
(9)logging.files.name
寫入日志的文件的名稱。
(10)logging.files.rotateeverybytes
日志文件的最大大小,如果達到限制,則會生成新的日志文件,默認大小限制為10M。
(11)logging.files.permissions
旋轉日志文件時要應用的權限掩碼。默認值為0600。
(12)logging.files.keepfiles
要保留在磁盤上的最新輪換日志文件數。在日志輪換期間刪除舊文件。默認值為7.keepfiles選項必須在2到1024個文件的范圍。
(13)logging.json
如果未true,則以json格式記錄消息。默認值為false。
記錄格式
每個日志記錄輸出的日志記錄格式通常相同,一個例外是syslog的輸出,其中時間戳未包含在消息中,因為syslog添加了自己的時間戳。
每條日志消息都包含了一下部分:
(1)ISO8601格式的時間戳
(2)level
(3)括號中包含的記錄器名稱(可選)
(4)調用者的文件名和行號
(5)以JSON編碼的結構化數據(可選)
以下是一些示例:
2018-12-17T18:54:16.241-0500 INFO logp/core_test.go:13 unnamed global logger 2018-12-17T18:54:16.242-0500 INFO [example] logp/core_test.go:16 some message 2018-12-17T18:54:16.242-0500 INFO [example] logp/core_test.go:19 some message {"x": 1}
