filebeat采集日誌到kafka配置及使用
在服務器上安裝後,filebeat會監控日誌目錄或者指定的日誌文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀),並且轉發這些信息到配置文件中指定的輸出端(例如:elasticsearch,logstarsh或kafka)。
Filebeat使用go語言開發,使用時沒有其他依賴,比logstash-forworder輕量,不會占用部署服務器太多的資源。
filebeat的工作流程:當妳開啟filebeat程序的時候,它會啟動壹個或多個探測器(prospectors)去檢測妳指定的日誌目錄或文件,對於探測器找出的每壹個日誌文件,filebeat啟動收割進程(harvester),每壹個收割進程讀取壹個日誌文件的新內容,並發送這些新的日誌數據到處理程序(spooler),處理程序會集合這些事件,最後filebeat會發送集合的數據到妳指定的地點。
2.配置filebeat
配置filebeat需要編輯filebeat的配置文件,不同安裝方式,配置文件的存放路徑有壹些不同, 對於 rpm 和 deb的方式, 配置文件路徑的是 /etc/filebeat/filebeat.yml,對於壓縮包的方式,配置文件存在在解壓目錄下(例如:我是在home目錄下進行的解壓,那麽配置文件的路徑就應該是~/filebeat-6.2.4-linux-x86_64/filebeat.yml)。
由於我的預期目標是將filebeat收集的日誌發送到kafka,所以配置output就選擇了kafka。讀者可根據自己的使用場景,配置output。
例子中的配置將對/var/log目錄下所有以.log結尾的文件進行采集。
3.啟動
本文中只是為滿足需求對filebeat進行了最基本的配置。filebeat的很多重要的配置和特性並沒有體現(例如:模塊,多行消息),讀者如果需要更深入的了解請參考: https://www.elastic.co/guide/en/beats/filebeat/current/configuring-howto-filebeat.html 。
歡迎大家在評論區討論使用過程的心得和疑惑。