簡述
Filebeat是elastic公司beats系列工具中的一個,主要用于收集本地日志。
在服務器上安裝后,filebeat會監(jiān)控日志目錄或者指定的日志文件,追蹤讀取這些文件(追蹤文件的變化室梅,不停的讀),并且轉(zhuǎn)發(fā)這些信息到配置文件中指定的輸出端(例如:elasticsearch,logstarsh或kafka)疚宇。
Filebeat使用go語言開發(fā)亡鼠,使用時沒有其他依賴,比logstash-forworder輕量敷待,不會占用部署服務器太多的資源间涵。
filebeat的工作流程:當你開啟filebeat程序的時候,它會啟動一個或多個探測器(prospectors)去檢測你指定的日志目錄或文件榜揖,對于探測器找出的每一個日志文件勾哩,filebeat啟動收割進程(harvester),每一個收割進程讀取一個日志文件的新內(nèi)容举哟,并發(fā)送這些新的日志數(shù)據(jù)到處理程序(spooler)思劳,處理程序會集合這些事件,最后filebeat會發(fā)送集合的數(shù)據(jù)到你指定的地點妨猩。
安裝及使用
- 安裝
可以使用系統(tǒng)的支持的命令(deb for Debian/Ubuntu, rpm for Redhat/Centos/Fedora
)進行安裝潜叛,也可以下載壓縮包進行安裝。本文中選擇使用壓縮包的方式壶硅。
首先下載壓縮包威兜,我的操作系統(tǒng)環(huán)境是centos7.3 64bit,所以選擇下載filebeat-6.2.4-linux-x86_64.tar.gz庐椒。讀者可依據(jù)自己的操作系統(tǒng)環(huán)境選擇正確的版本椒舵。下載地址:https://www.elastic.co/downloads/beats/filebeat
tar xzf filebeat-6.2.4-linux-x86_64.tar.gz
2.配置filebeat
配置filebeat需要編輯filebeat的配置文件,不同安裝方式约谈,配置文件的存放路徑有一些不同笔宿, 對于 rpm 和 deb的方式, 配置文件路徑的是 /etc/filebeat/filebeat.yml犁钟,對于壓縮包的方式,配置文件存在在解壓目錄下(例如:我是在home目錄下進行的解壓措伐,那么配置文件的路徑就應該是~/filebeat-6.2.4-linux-x86_64/filebeat.yml)特纤。
由于我的預期目標是將filebeat收集的日志發(fā)送到kafka,所以配置output就選擇了kafka军俊。讀者可根據(jù)自己的使用場景侥加,配置output。
- 定義日志文件路徑
- type: log
# Change to true to enable this prospector configuration.
enabled: true
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /var/log/*.log
例子中的配置將對/var/log目錄下所有以.log結(jié)尾的文件進行采集粪躬。
- 定義輸出到kafka
.kafka:
# initial brokers for reading cluster metadata
hosts: ["kafka1:9092", "kafka2:9092", "kafka3:9092"]
# message topic selection + partitioning
topic: log
3.啟動
cd filebeat-6.2.4-linux-x86_64
./filebeat -e -c filebeat.yml
本文中只是為滿足需求對filebeat進行了最基本的配置担败。filebeat的很多重要的配置和特性并沒有體現(xiàn)(例如:模塊,多行消息)镰官,讀者如果需要更深入的了解請參考:https://www.elastic.co/guide/en/beats/filebeat/current/configuring-howto-filebeat.html提前。
歡迎大家在評論區(qū)討論使用過程的心得和疑惑。