分布式系統(tǒng)監(jiān)控(二)- 平臺(tái)設(shè)計(jì)

背景

分布式系統(tǒng)使用的技術(shù)組件(nginx,reids,mq,db....)
基于高可用的考慮,還需要部署多個(gè)結(jié)點(diǎn)等。
需要對(duì)分布式系統(tǒng)的運(yùn)行狀況進(jìn)行準(zhǔn)時(shí)實(shí)的監(jiān)控。

方案

主要參考主流的分布式系統(tǒng)監(jiān)控平臺(tái)的方案,再結(jié)合自己應(yīng)用的考慮。決定采用以下方案:
flume+rocketmq+storm+redis+elasticsearch

flume

主要用于系統(tǒng)結(jié)點(diǎn)或應(yīng)用結(jié)點(diǎn)的日志信息的收集。

rocketmq

主要用于歸集flume收集的日志信息,放在各自的主題或隊(duì)列中。

storm

從rocketmq中獲取日志信息,對(duì)日志信息進(jìn)行統(tǒng)計(jì)分析。

elasticsearch

從rocketmq中獲取日志信息,對(duì)日志信息創(chuàng)建全文索引。
主要用于收集集群環(huán)境下應(yīng)用系統(tǒng)中業(yè)務(wù)日志中的關(guān)鍵日志信息,方便系統(tǒng)維護(hù)人員通過關(guān)鍵字檢索日志信息。

實(shí)施

后面將會(huì)介紹如何實(shí)現(xiàn)對(duì)系統(tǒng)資源和應(yīng)用結(jié)點(diǎn)的監(jiān)控。
大致思路如下:
通過系統(tǒng)的計(jì)劃任務(wù)(crontab),執(zhí)行shell腳本 ,腳本會(huì)生成系統(tǒng)資源或應(yīng)用結(jié)點(diǎn)的監(jiān)控?cái)?shù)據(jù)信息日志文件。
通過flume監(jiān)測日志文件的變化,當(dāng)有新的日志信息產(chǎn)生,將信息推送到rocketmq對(duì)應(yīng)的主題隊(duì)列中。
通過storm運(yùn)行rocketmq的消息消費(fèi)端,監(jiān)測主題最新的數(shù)據(jù)信息,并對(duì)數(shù)據(jù)流進(jìn)行實(shí)時(shí)分析。
通過storm的時(shí)候分析,將分析結(jié)果存儲(chǔ)到redis中,方便運(yùn)維人員查詢。

*備注:該應(yīng)用場景暫時(shí)沒有使用到elasticsearch

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

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

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