Filebeat是elastic公司beats系列工具中的一個,主要用于收集本地日志。
創(chuàng)新互聯(lián)建站于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元青縣做網(wǎng)站,已為上家服務(wù),為青縣各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
在服務(wù)器上安裝后,filebeat會監(jiān)控日志目錄或者指定的日志文件,追蹤讀取這些文件(追蹤文件的變化,不停的讀),并且轉(zhuǎn)發(fā)這些信息到配置文件中指定的輸出端(例如:elasticsearch,logstarsh或kafka)。
Filebeat使用go語言開發(fā),使用時沒有其他依賴,比logstash-forworder輕量,不會占用部署服務(wù)器太多的資源。
filebeat的工作流程:當(dāng)你開啟filebeat程序的時候,它會啟動一個或多個探測器(prospectors)去檢測你指定的日志目錄或文件,對于探測器找出的每一個日志文件,filebeat啟動收割進(jìn)程(harvester),每一個收割進(jìn)程讀取一個日志文件的新內(nèi)容,并發(fā)送這些新的日志數(shù)據(jù)到處理程序(spooler),處理程序會集合這些事件,最后filebeat會發(fā)送集合的數(shù)據(jù)到你指定的地點。
2.配置filebeat
配置filebeat需要編輯filebeat的配置文件,不同安裝方式,配置文件的存放路徑有一些不同, 對于 rpm 和 deb的方式, 配置文件路徑的是 /etc/filebeat/filebeat.yml,對于壓縮包的方式,配置文件存在在解壓目錄下(例如:我是在home目錄下進(jìn)行的解壓,那么配置文件的路徑就應(yīng)該是~/filebeat-6.2.4-linux-x86_64/filebeat.yml)。
由于我的預(yù)期目標(biāo)是將filebeat收集的日志發(fā)送到kafka,所以配置output就選擇了kafka。讀者可根據(jù)自己的使用場景,配置output。
例子中的配置將對/var/log目錄下所有以.log結(jié)尾的文件進(jìn)行采集。
3.啟動
本文中只是為滿足需求對filebeat進(jìn)行了最基本的配置。filebeat的很多重要的配置和特性并沒有體現(xiàn)(例如:模塊,多行消息),讀者如果需要更深入的了解請參考: 。
歡迎大家在評論區(qū)討論使用過程的心得和疑惑。
對于Go語言的日志來說,如何將log寫到指定的文件里面,下面是一個例子。
output:
output:
go語言適用的領(lǐng)域有:
Go語言主要用作服務(wù)器端開發(fā),其定位是用來開發(fā)“大型軟件”的,適合于很多程序員一起開發(fā)大型軟件,并且開發(fā)周期長,支持云計算的網(wǎng)絡(luò)服務(wù)。
Go語言作為服務(wù)器編程語言,很適合處理日志、數(shù)據(jù)打包、虛擬機(jī)處理、文件系統(tǒng)、分布式系統(tǒng)、數(shù)據(jù)庫代理等;網(wǎng)絡(luò)編程方面,Go語言廣泛應(yīng)用于Web應(yīng)用、API應(yīng)用、下載應(yīng)用等;除此之外,Go語言還可用于內(nèi)存數(shù)據(jù)庫和云平臺領(lǐng)域,目前國外很多云平臺都是采用Go開發(fā)。
Go語言能夠讓程序員快速開發(fā),并且在軟件不斷的增長過程中,它能讓程序員更容易地進(jìn)行維護(hù)和修改。它融合了傳統(tǒng)編譯型語言的高效性和腳本語言的易用性和富于表達(dá)性。
Go語言作為一門大型項目開發(fā)語言,在很多大公司相繼使用,甚至完全轉(zhuǎn)向Go開發(fā),其中代表有Google、Facebook、騰訊、百度、阿里巴巴、京東、小米以及360、美團(tuán)、滴滴以及新浪等,因此,Go語言的開發(fā)前景還是很不錯的!