前言
目前各大公司生產(chǎn)部署很多都是采用的集群+微服務(wù)的部署方式,如果讓日志散落在各個(gè)主機(jī)上,查詢起來(lái)會(huì)非常的困難,所以目前我了解到的都是采用的日志中心來(lái)統(tǒng)一收集管控日志,日志中心的實(shí)現(xiàn)方案大多基于ELK(即Elasticsearch、Logstash和Kibana三個(gè)開(kāi)源軟件的縮寫),ELK一般都要配合FileBeat使用,其中FileBeat做為采集器,Logstash做為日志過(guò)濾格式化工具、Elasticsearch做為存儲(chǔ)介質(zhì)、Kibana做為視圖解析器,四個(gè)組件搭配組成日志中心。
已有開(kāi)源日志采集實(shí)現(xiàn)
FileBeat作為一款日志采集工具,工作原理就是輪詢目標(biāo)目錄來(lái)監(jiān)聽(tīng)文件的變化,它是通過(guò)文件MD5值得變化來(lái)感知文件內(nèi)容得變化。開(kāi)源的工具雖然好用,但是配置繁瑣,配置項(xiàng)多,有些時(shí)候我們可能只是簡(jiǎn)單的需要將多個(gè)服務(wù)器的日志打印在同一個(gè)主機(jī)上,為了便于查看。
目前有兩種方案來(lái)實(shí)現(xiàn)日志采集:
一種是在應(yīng)用中集成netty客戶端,在打日志的時(shí)候使用aop的方式在日志后添加發(fā)送到netty服務(wù)端的邏輯。
第二種,和FileBeat的思路一樣,采用監(jiān)聽(tīng)輪詢文件的方式來(lái)監(jiān)聽(tīng)文件的變化,最后將變化內(nèi)容發(fā)送到netty服務(wù)端。
Jef-log-tail日志采集工具介紹
概述:
Jef-log-tail是一款基于netty的輕量級(jí)的日志采集器,支持指定文件、指定文件后綴、指定文件目錄的采集方式,提供了供java程序插碼(agent)的集成方式,可以實(shí)時(shí)采集日志。
Jef-log-tail分為采集端和服務(wù)端,采集端將采集到的文件傳輸?shù)椒?wù)端,服務(wù)端根據(jù)自定義配置可輸出到指定文件中,也可以保存到數(shù)據(jù)庫(kù)、Redis、Kafka或其他組件中。
倉(cāng)庫(kù)地址:https://gitee.com/chengzhi2/jef-log-tail
使用方式:
客戶端配置如下:
netty.server.ip = 127.0.0.1
# netty.server.ip = fe80::f816:3eff:fe17:bb2e/64
netty.server.port = 9999
# 與服務(wù)端斷開(kāi)后重連次數(shù)
netty.max.retry.count=13
# 連接超時(shí)時(shí)間
netty.connect.timeout=60
# 心跳間隔時(shí)間 單位 秒
netty.heart.interval = 10
# 重連最大間隔時(shí)間
netty.connect.retry.intervalue = 7200
# 監(jiān)聽(tīng)文件的后綴
log.listen.suffix=.sql
# 監(jiān)聽(tīng)文件夾
log.listen.filepath=D:\test\test1
# 輪詢間隔時(shí)間 單位s
log.listen.intervalue.time=5
log.file.chatset=UTF-8
# 是否在發(fā)送的消息中添加ip地址
log.add.address = true
服務(wù)端配置如下:
# 服務(wù)端口
server.port = 9999
# 心跳超時(shí)斷開(kāi)時(shí)間,該配置需要大于客戶端的心跳間隔時(shí)間
server.heart.read.time=20
# 文件存放路徑
log.filepath = D:\test\all\20221005.txt
# 文件分割原則 單位 M,例如10M為一個(gè)新文件
log.split.size = 10
# 存儲(chǔ)方案
save.plan = localFile
啟動(dòng)方式:
服務(wù)端啟動(dòng):其中-Djef.properties表示自定義配置文件。
nohup java -Djef.properties=file:///home/acctuser/tools/logTail/config/server.properties -jar -Dorg.slf4j.simpleLogger.defaultLogLevel=debug ./LogTail-server-1.0-SNAPSHOT-start.jar > ./log/logTail.log 2>&1 &
客戶端啟動(dòng)同上。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-471922.html
開(kāi)啟掘金成長(zhǎng)之旅!這是我參與「掘金日新計(jì)劃 · 2 月更文挑戰(zhàn)」的第30天,點(diǎn)擊查看活動(dòng)詳情文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-471922.html
到了這里,關(guān)于一種輕量級(jí)日志采集解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!