基于 GrayLog & ELK 的日志監(jiān)控

其實玩了多年日志系統(tǒng)從傳統(tǒng)ELK 2.x開始玩一路玩到5.x,6.x「已經(jīng)搞定容器化」,聽說最近7.x了「能不能節(jié)奏慢點年紀(jì)大了,學(xué)不動了」

今天說說個人感受「談不上是什么架構(gòu),因為隨便Google下一排排的」。

Collector

FileBeat:輕巧占用資源少,但是功能有點弱?!赶肫鹆艘恍〇|西,都是淚」

Fluentd:個人理解在Logstash與FileBeat中間,可以簡單處理一些日志,插件豐富「要再研究下」

自己弄:架構(gòu)圖里面只是mysql調(diào)用了自己實現(xiàn)的解析工具,但是其實當(dāng)日志大到一定的量的還是必須自己來的,類似日志抽樣、降級、控制頻率等功能,是要真真切切的花費大量時間精力下去的一個sidecar并非動動嘴巴就能搞定的。「都是淚」

Queue

Kafka:王者地位「量小的時候也可以不用這個直接朝后面輸出,有很多中間方案大家自己腦補(bǔ)」,不同的日志分不同的topic,嚴(yán)格區(qū)分日志所屬類型,為后續(xù)消費打下基礎(chǔ),比如A業(yè)務(wù)進(jìn)入A Topic并在日志中打上所屬語言類型的Tag。

Consumer

Logstash:其實這個東西也可以作為收集端來使用,就是比較耗費資源有點重,還會莫名其妙掛了「應(yīng)該是我不會玩」

GrayLog:本人最喜歡的一個組件,集解析、報警、簡單分析、Dashboard、日志TTL的綜合體,有這個東西吧其實Kibana就沒啥用了,畢竟誰沒事天天去分析日志。

Storage

ElasticSearch:全文索引Engine,其實并沒有官方說的那么牛,當(dāng)?shù)揭欢ǖ牟l(fā)寫入、大量查詢之后其實根本不是加機(jī)器能解決的,怎么分shard,是按照天保存還是按照條數(shù)保存「我比較喜歡按照條數(shù)保存,這樣可以保證每個index都差不多大小,對于reblance是有好處的,重復(fù)利用多盤」如何保存是需要不斷調(diào)整的?!肝覀冞@邊不討論MongoDB去存日志,看著都不靠譜」

規(guī)范

其實日志系統(tǒng)最關(guān)鍵的是怎么打、什么格式打、但是這個東西需要消耗大量的時間去定義與各個部門Pk,遇到過大量不講理的輸出,直接線上Debug,600k的并發(fā)寫入,日志又大又臭誰能扛得住「阿里云的SLS是真的很?!?/p>

卷起袖子加油干,少動嘴,多動手,日志很好玩。在容器化的大環(huán)境下也越發(fā)的重要。

架構(gòu)圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容