Filebeat是一種輕量型日志采集器,內(nèi)置有多種模塊(auditd、Apache、NGINX、System、MySQL 等等),可針對(duì)常見格式的日志大大簡(jiǎn)化收集、解析和可視化過程,只需一條命令即可。之所以能實(shí)現(xiàn)這一點(diǎn),是因?yàn)樗鼘⒆詣?dòng)默認(rèn)路徑(因操作系統(tǒng)而異)與 Elasticsearch 采集節(jié)點(diǎn)管道的定義和 Kibana 儀表板組合在一起。不僅如此,數(shù)個(gè) Filebeat 模塊還包括預(yù)配置的 Machine Learning 任務(wù)。另一點(diǎn)需要聲明的是:根據(jù)采集的數(shù)據(jù)形式不同,形成了由多個(gè)模塊組成的Beats。Beats是開源數(shù)據(jù)傳輸程序集,可以將其作為代理安裝在服務(wù)器上,將操作數(shù)據(jù)發(fā)送給Elasticsearch,或者通過Logstash,在Kibana中可視化數(shù)據(jù)之前,在Logstash中進(jìn)一步處理和增強(qiáng)數(shù)據(jù)。
Beats組成模塊如下:
日志格式 | 采集所需組件框架 |
---|---|
Audit data | Auditbeat(輕量型審計(jì)日志采集器) |
Log files | Filebeat(輕量型日志采集器) |
Availability | Heartbeat(輕量型運(yùn)行時(shí)間監(jiān)控采集器) |
Metrics | Metricbeat(輕量型指標(biāo)采集器) |
Network traffic | Packetbeat(輕量型網(wǎng)絡(luò)數(shù)據(jù)采集器) |
Windows event logs | Winlogbeat(輕量型 Windows 事件日志采集器) |
Beat日志采集流程圖:
Filebeat特點(diǎn)1)輕量型日志采集器,占用資源更少,對(duì)機(jī)器配置要求極低。
2)操作簡(jiǎn)便,可將采集到的日志信息直接發(fā)送到ES集群、Logstash、Kafka集群等消息隊(duì)列中。
3)異常中斷重啟后會(huì)繼續(xù)上次停止的位置。(通過${filebeat_home}\data\registry文件來(lái)記錄日志的偏移量)。
4)使用壓力敏感協(xié)議(backpressure-sensitive)來(lái)傳輸數(shù)據(jù),在logstash 忙的時(shí)候,F(xiàn)ilebeat 會(huì)減慢讀取-傳輸速度,一旦 logstash 恢復(fù),則 Filebeat 恢復(fù)原來(lái)的速度。
5)Filebeat帶有內(nèi)部模塊(auditd,Apache,Nginx,System和MySQL),可通過一個(gè)指定命令來(lái)簡(jiǎn)化通用日志格式的收集,解析和可視化。
bin/logstash -e 'input { stdin{} } output { stdout{} }'
Filebeat與Logstash對(duì)比1)Filebeat是輕量級(jí)數(shù)據(jù)托運(yùn)者,您可以在服務(wù)器上將其作為代理安裝,以將特定類型的操作數(shù)據(jù)發(fā)送到Elasticsearch。與Logstash相比,其占用空間小,使用的系統(tǒng)資源更少。
2)Logstash具有更大的占用空間,但提供了大量的輸入,過濾和輸出插件,用于收集,豐富和轉(zhuǎn)換來(lái)自各種來(lái)源的數(shù)據(jù)。
3)Logstash是使用Java編寫,插件是使用jruby編寫,對(duì)機(jī)器的資源要求會(huì)比較高。在采集日志方面,對(duì)CPU、內(nèi)存上都要比Filebeat高很多。
Filebeat本身對(duì)機(jī)器性能要求不高,所以對(duì)機(jī)器性能無(wú)需過多關(guān)注。加之,其采集數(shù)據(jù)后采用的Http請(qǐng)求發(fā)送的數(shù)據(jù),所以對(duì)運(yùn)行環(huán)境也無(wú)過多要求,因此在部署Filebeat時(shí),應(yīng)過多的關(guān)注其它組件的部署問題。
安裝地址1)Filebeat官網(wǎng)地址:https://www.elastic.co/cn/products/beats/filebeat
2)安裝包下載地址:https://www.elastic.co/cn/downloads/beats/filebeat
筆者這里用的是8.5.2版本,包括ES,Kibana,Logstash框架等。一律使用的均是8.5.2版本
在這里筆者為了節(jié)省主節(jié)點(diǎn)資源,不將組件放到主節(jié)點(diǎn)了,放到次節(jié)點(diǎn)上
[root@hadoop103 ~]# cd /opt/software/
[root@hadoop103 software]# mkdir elk
[root@hadoop103 software]# cd elk/
#將組件放入該目錄中
[root@hadoop103 elk]# tar -zxvf filebeat-8.5.2-linux-x86_64.tar.gz -C /opt/module/
[root@hadoop103 elk]# cd /opt/module/
[root@hadoop103 module]# mv filebeat-8.5.2-linux-x86_64/ filebeat
進(jìn)入filebeat,指定監(jiān)控日志的輸入輸出路徑
[root@hadoop103 module]# mkdir log
[root@hadoop103 module]# cd filebeat/
[root@hadoop103 filebeat]# vim filebeat.yml
對(duì)圖片內(nèi)容進(jìn)行修改
Logstash部署安裝[root@hadoop103 elk]# tar -zxvf logstash-8.5.2-linux-x86_64.tar.gz -C /opt/module/
[root@hadoop103 module]# mv logstash-8.5.2/ logstash
注意:logstash在使用的時(shí)候單獨(dú)配置運(yùn)行文件。
1)創(chuàng)建文件夾加job編寫數(shù)據(jù)采集文件:filebeat_to_logstash.conf文件
[root@hadoop103 logstash]$ mkdir job
[root@hadoop103 logstash]$ cd job/
[root@hadoop103 job]$ vim filebeat_to_logstash.conf
# 添加內(nèi)容如下
input {#對(duì)接的是beats
beats {#端口號(hào)5044
port=>5044
#編碼格式GBK
codec=>plain{charset=>"GBK"
}
}
}
filter {mutate{split=>["message","|"]
add_field =>{"field1" =>"%{[message][0]}"
}
add_field =>{"field2" =>"%{[message][1]}"
}
remove_field =>["message"]
}
json{source =>"field1"
target =>"field2"
}
}
#輸出數(shù)據(jù)到控制臺(tái)
output{ stdout{ codec=>rubydebug
}
}
配置filebeat中的output部分(Logstash)
[root@hadoop103 filebeat]# vim filebeat.yml
啟動(dòng)filebeat 與 logstash
[root@hadoop103 filebeat]$ ./filebeat -e
[root@hadoop103 logstash]$ bin/logstash -f job/filebeat_to_logstash.conf
進(jìn)入log目錄,創(chuàng)建日志文件,并導(dǎo)入如下數(shù)據(jù):
[root@hadoop103 logstash]$ cd /opt/module/log
[root@hadoop103 log]$ vim app.log
1562065564549|{"cm":{"ln":"-54.7","sv":"V2.9.8","os":"8.1.0","g":"9NY0AL0L@gmail.com","mid":"m140","nw":"WIFI","l":"pt","vc":"13","hw":"1080*1920","ar":"MX","uid":"u737","t":"1562030978430","la":"-7.4","md":"HTC-14","vn":"1.1.3","ba":"HTC","sr":"M"},"ap":"gmall","et":[{"ett":"1561996979060","en":"display","kv":{"newsid":"n925","action":"1","extend1":"1","place":"4","category":"37"}},{"ett":"1562031053551","en":"newsdetail","kv":{"entry":"3","newsid":"n332","news_staytime":"10","loading_time":"8","action":"4","showtype":"3","category":"11","type1":"433"}},{"ett":"1561986545246","en":"loading","kv":{"extend2":"","loading_time":"7","action":"1","extend1":"","type":"1","type1":"102","loading_way":"1"}},{"ett":"1562053433842","en":"active_foreground","kv":{"access":"1","push_id":"1"}},{"ett":"1562030443443","en":"favorites","kv":{"course_id":2,"id":0,"add_time":"1562049124751","userid":0}}]}
查看結(jié)果
Logstash控制臺(tái)結(jié)果如下:
Filebeat模塊使用(配置Kafka)1)官方提供了封裝完整的框架日志監(jiān)控,拿kafka為例,使用對(duì)應(yīng)的module可以直接實(shí)現(xiàn)對(duì)kafka日志的監(jiān)控
2)修改Filebeat配置文件filebeat.yml
[root@hadoop103 filebeat]$ vim filebeat.yml
按照?qǐng)D片方式設(shè)置好
進(jìn)入modules.d 目錄
[root@hadoop103 filebeat]$ cd modules.d
后綴disabled均為不可用狀態(tài)。
3)修改kafka對(duì)應(yīng)的module配置文件
[root@hadoop103 modules.d]# cp kafka.yml.disabled kafka.yml
[root@hadoop103 modules.d]# vim kafka.yml
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-kafka.html
配置文件直接從官方文檔獲取即可。
注意,官網(wǎng)的path/to是kafka的路徑,具體路徑要看自己的服務(wù)器上kafka的路徑。記得修改!
安裝ES:https://blog.csdn.net/weixin_45417821/article/details/117389204
這里安裝單機(jī)版ES即可,只為測(cè)試專用
chown -R luanhao:luanhao /opt/module/es
除了單機(jī)配置之外,還需要再加入一個(gè)配置文件
ingest.geoip.downloader.enabled: false
#并將xpack.security.enabled設(shè)置為false,原因:是因?yàn)镋S8默認(rèn)開啟了 ssl 認(rèn)證。
xpack.security.enabled: false
官網(wǎng):https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html
1)修改Filebeat配置文件
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["hadoop103:9200"]
#通過判斷數(shù)據(jù)中包含的字符串 可以分流數(shù)據(jù)
# #通過語(yǔ)法%{}可以調(diào)用元數(shù)據(jù)信息和特殊信息
# #error-8.5.2-2022-12-02
indices:
- index: "warning"
when.contains:
message: "WARN"
- index: "error-%{[agent.version]}-%{+yyyy.MM.dd}"
when.contains:
message: "ERR"
- index: "info"
when.contains:
message: "INFO"
清一色的error日志
對(duì)接Kafka案例展示Filebeat也可以直接將數(shù)據(jù)發(fā)送到Kafka
官網(wǎng)相關(guān)文檔如下:https://www.elastic.co/guide/en/beats/filebeat/current/kafka-output.html
1)修改Filebeat配置文件
[root@hadoop103 filebeat]$ vim filebeat.yml
添加如下內(nèi)容
簡(jiǎn)單些就行
啟動(dòng)zk和kafka,安裝目錄:https://blog.csdn.net/weixin_45417821/article/details/
[root@hadoop104 ~]# kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic logs
之后拷貝一份log文件進(jìn)去即可
[root@hadoop103 log]# cd /opt/module/log
[root@hadoop103 log]# cp app.log appbak.log
查看kafka消費(fèi)者內(nèi)容
總結(jié)對(duì)于大數(shù)據(jù)從業(yè)者人員來(lái)講,我們只需要關(guān)注,日志文件 ->Filebeat ->Kafka 這樣的工程,其他的均可交給Spark ,F(xiàn)link等計(jì)算框架計(jì)算即可。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:Filebeat從入門到實(shí)戰(zhàn)-創(chuàng)新互聯(lián)
文章分享:http://muchs.cn/article8/deigop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站制作、建站公司、網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)