1.介紹
logstash 也可以收集日志,但是數(shù)據(jù)量大時太消耗系統(tǒng)新能。而filebeat是輕量級的,占用系統(tǒng)資源極少。
Filebeat 由兩個主要組件組成:harvester 和 prospector。
采集器 harvester 的主要職責是讀取單個文件的內(nèi)容。讀取每個文件,并將內(nèi)容發(fā)送到 the output。 每個文件啟動一個 harvester,harvester 負責打開和關(guān)閉文件,這意味著在運行時文件描述符保持打開狀態(tài)。如果文件在讀取時被刪除或重命名,F(xiàn)ilebeat 將繼續(xù)讀取文件。
查找器 prospector 的主要職責是管理 harvester 并找到所有要讀取的文件來源。如果輸入類型為日志,則查找器將查找路徑匹配的所有文件,并為每個文件啟動一個 harvester。每個 prospector 都在自己的 Go 協(xié)程中運行。
2.下載
下載地址:www.elastic.co/downloads/beats/filebeat
百度云elk
3.安裝
tar -zxvf filebeat-7.9.3-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/
mv filebeat-7.9.3-linux-x86_64 filebeat
cd filebeat/
[root@node1 filebeat]# ls -l
fields.yml? ? ?filebeat? ? ??filebeat.reference.yml? ? ? ???filebeat.yml? ? ? ???kibana
LICENSE.txt? ? ? ??module? ? ? ???modules.d? ? ? NOTICE.txt? ? ? ???README.md
filebeat為應用程序
cd /usr/local/filebeat/filebeat.yml 是配置文件
modules.d的目錄下放置的日志收集模板,實現(xiàn)了模塊化的日志收集
[root@node1 modules.d]# ls
activemq.yml.disabled ? ?coredns.yml.disabled ? ? ? ?ibmmq.yml.disabled ? ? microsoft.yml.disabled?
okta.yml.disabled ? ? ? ?squid.yml.disabled? ? apache.yml.disabled ? ? ?crowdstrike.yml.disabled ? ?icinga.yml.disabled ? ?misp.yml.disabled? ? ? ?osquery.yml.disabled ? ? suricata.yml.disabled
auditd.yml.disabled ? ? ?cylance.yml.disabled ? ? ? ?iis.yml.disabled ? ? ? mongodb.yml.disabled ? ?
panw.yml.disabled ? ? ? ?system.yml.disabled? ?aws.yml.disabled ? ? ? ? elasticsearch.yml.disabled ?imperva.yml.disabled ? mssql.yml.disabled ? ? ?postgresql.yml.disabled ?tomcat.yml.disabled
azure.yml.disabled ? ? ? envoyproxy.yml.disabled ? ? infoblox.yml.disabled ?mysql.yml.disabled ? ? ?
rabbitmq.yml.disabled ? ?traefik.yml.disabled? ?barracuda.yml.disabled ? f5.yml.disabled ? ? ? ? ? ? iptables.yml.disabled ?nats.yml.disabled? ? ? ? radware.yml.disabled ? ? zeek.yml.disabled
bluecoat.yml.disabled ? ?fortinet.yml.disabled ? ? ? juniper.yml.disabled ? netflow.yml.disabled ? ?
redis.yml.disabled ? ? ? zscaler.yml.disabled? ?cef.yml.disabled ? ? ? ? googlecloud.yml.disabled ? ?kafka.yml.disabled ? ? netscout.yml.disabled? ? ?santa.yml.disabled
checkpoint.yml.disabled ?gsuite.yml.disabled ? ? ? ? kibana.yml.disabled ? ?nginx.yml.disabled ? ? ?
sonicwall.yml.disabled? cisco.yml.disabled ? ? ? haproxy.yml.disabled ? ? ? ?logstash.yml.disabled ?o365.yml.disabled ? ? ?
sophos.yml.disabled
4.配置
配置filebeat.yml
注意 以下使用“-” 為首字母的,要求前面不能使用tab做縮進,
filebeat.inputs: ? #定義日志輸入的開始
- type: log ? ? ? ?
#注意格式,收集日志類型為日志,還可以是redis,UDP,TCP,docker,syslog,stdin等
? enabled: true? ? ? ? ? ? ? ? ? ? ? ?#使用手動模式,如果false將使用modules.d目錄下的模塊方式
? paths:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #要收集的日志的路徑
? ?- /var/log/messages
? ?- /var/log/secure
?#如果日志較多,可以模糊的填寫,如 - /data/nginx/logs/ngix_*.log
?# - /var/log/*.log 的配置會獲取/var/log下所有子目錄中以.log結(jié)尾的日志,而不會查找/var/log/目錄下的.log文件。
? fields:
? ?log_topic:osmessages? ? ? ? #osmessages是自己定義主體的名字
name: "10.10.10.56"? ? ? ? ? ? ? #指定名字,不配置時默認使用主機名
output.kafka:
? eanbled: true
? hosts: ["10.10.10.71:9092","10.10.10.72:9092","10.10.10.73:9092"] ? #kafka集群的地址和端口號
? version: 2.0.1? ? ? ? ? ? ? ? ? ? ?#kafka的版本號
? topic: '%{[fields][log_topic]}' ? ?#也可以fields.log_topic的寫法
? partition.round_robin:? ? ? ? ? ? ?#采用輪詢的方式
? reachable_only: true
? worker: 2
? required_acks: 1? ? ? ? ? ? ? ? ? ? #有1,2,3等可寫,1最大限度保證
? compression: gzip
? max_message_bytes: 10000000
logging.level: debug? ? ? ? ? ? ? ? #info,warming,error等可寫,定義 ?日志級別
配置里還包含一些過濾條件,如行排除,行包含,文件排除等
exclude_lines: ['^DBG']
include_lines: ['^ERR', '^WARN']
exclude_files: ['.gz$']
以上配置使用了kafka作為filebeat的輸出,
配置
# ============================== Filebeat modules ==============================
filebeat.config.modules:
? # Glob pattern for configuration loading
? path: ${path.config}/modules.d/*.yml
? # Set to true to enable config reloading
? reload.enabled: false
? # Period on which files under path should be checked for changes
? #reload.period: 10s
# ======================= Elasticsearch template setting =======================
文檔中還有一些模塊的配置,如上
由于我們在
filebeat.inputs:?
- type: log ? ? ? ?
? enabled: true ? ? ?這里我們設(shè)置為了true,使用了手動配置的方式,屏蔽了快速模塊,這里配置為false時,才使用模塊配
置
使用./filebeat test config 或者./filebeat -c filebeat.yml -configtest 對配置文件進行格式測試。檢查啟動filebeat
more filebeat.yml
nohup /usr/local/filebeat/filebeat -e -c /usr/local/filebeat/filebeat.yml &
測試
tail -f nohup.out 查看收集的日志
? "@timestamp": "2023-08-28T07:56:14.266Z", ?時間戳
? "@metadata": {
? ? "beat": "filebeat", ? ? ? ? ? ? ? ? ? ? ??
? ? "type": "_doc",
? ? "version": "7.9.3"
? },
? "log": { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 類型
? ? "file": {
? ? ? "path": "/var/log/secure"
? ? },
? ? "offset": 508431 ? ? ? ? ? ? ? ? ? ? ? ? 位置,偏移量
? },
? "message": "Aug 28 15:56:12 node1 sshd[31513]: pam_limits(sshd:session): invalid line 'End of file' -
skipped",
? "fields": { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 自定義的域
? ? "log_topic": "osmessages"
? },
? "input": { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?類型
? ? "type": "log"
? },
? "agent": {
? ? "id": "a5a5cdf5-42f5-40a8-8c4c-068b76a2b22c",
? ? "name": "10.10.10.56",
? ? "type": "filebeat",
? ? "version": "7.9.3",
? ? "hostname": "node1",
? ? "ephemeral_id": "826d8757-65f0-4838-b915-409eba0cd6bf"
? },
? "ecs": {
? ? "version": "1.5.0"
? },
? "host": {
? ? "name": "10.10.10.56"
? }
}
我們看到,很多信息都是filebeat附帶的一些信息。?? ?我們可以通過配置參數(shù)的過濾掉一些信息。
# ================================= Processors =================================
processors:
# ?- add_host_metadata:
# ? ? ?when.not.contains.tags: forwarded
# ?- add_cloud_metadata: ~
# ?- add_docker_metadata: ~
# ?- add_kubernetes_metadata: ~
? - drop_fields:
? ? ? fields: ["host","input","offset","ecs","log","agent.id"]
drop_fields:所定義的就是不需要在日志中顯示的filebeat自帶的一些信息。
上面的配置信息agent.id ,因為agent下有很多個屬性,僅過濾掉id這個屬性
?"agent": {
? ? "id": "a5a5cdf5-42f5-40a8-8c4c-068b76a2b22c",
? ? "name": "10.10.10.56",
? ? "type": "filebeat",
? ? "version": "7.9.3",
? ? "hostname": "node1",
? ? "ephemeral_id":?
這樣配置后,將在日志文件中過濾掉 以上屬性的內(nèi)容,僅顯示留下的內(nèi)容。文章來源:http://www.zghlxwxcb.cn/news/detail-688227.html
通過tail -f nohup.out查看本機產(chǎn)生的日志
通過在kafka機器上用過消費來開傳到kafka上的日志
cd /usr/local/kafka/bin
./kafka-console-consumer.sh ?--bootstrap-server 10.10.10.71:9092,10.10.10.72:9092,10.10.10.73:9092 --topic
osmessages
?文章來源地址http://www.zghlxwxcb.cn/news/detail-688227.html
到了這里,關(guān)于ELK安裝、部署、調(diào)試(五)filebeat的安裝與配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!