利用Prometheus和Grafana監(jiān)控SimpleBank并設(shè)定告警

從服務(wù)和基礎(chǔ)設(shè)施上收集的度量指標(biāo)發(fā)送到能夠聚合和展示這些數(shù)據(jù)的系統(tǒng)上。這個(gè)系統(tǒng)會(huì)利用所收集的度量指標(biāo)來提供告警功能。為了達(dá)到這一目的,使用Prometheus來收集度量指標(biāo)并使用Grafana來展示這些數(shù)據(jù)拾并。

1)Prometheus是一個(gè)開源的系統(tǒng)監(jiān)控和告警工具箱誓酒,最初由SoundCloud公司開發(fā),現(xiàn)在是一個(gè)不依賴于任何公司的獨(dú)立開源項(xiàng)目东羹。

2)Grafana是一款能夠在Graphite剂桥、InfluxDB和Prometheus等各種度量指標(biāo)數(shù)據(jù)源之上構(gòu)建可視化儀表盤的工具。

Prometheus使用前提是已經(jīng)有組件實(shí)現(xiàn)了度量指標(biāo)并且提供Prometheus所需的格式属提。

同時(shí)使用Prometheus和StatsD兩種度量指標(biāo)來展示如何讓兩種不同的度量指標(biāo)收集協(xié)議共存权逗。StatsD是基于數(shù)據(jù)推送的工具美尸,而Prometheus是基于數(shù)據(jù)拉取的工具,使用StatsD的系統(tǒng)會(huì)將數(shù)據(jù)推送到采集服務(wù)上斟薇,而Prometheus會(huì)從源系統(tǒng)中拉取數(shù)據(jù)师坎。

將重點(diǎn)放在Prometheus的配置和Grafana上創(chuàng)建儀表盤,之后開始監(jiān)控各個(gè)服務(wù)和事件隊(duì)列堪滨。

Prometheus配置

global:

? scrape_interval: 5s ---? 設(shè)置Prometheus抓取所配置的目標(biāo)度量指標(biāo)的時(shí)間間隔

? evaluation_interval: 10s

? external_labels:

? ? ? monitor: 'simplebank-demo'

alerting:

? alertmanagers:

? - static_configs:

? ? - targets:

scrape_configs: --- 用來配置要抓取的目標(biāo)

? - job_name: 'statsd_exporter' ---? 作為抓取配置的任務(wù)標(biāo)簽

? ? static_configs:

? ? ? - targets: ['statsd-exporter:9102']

? ? ? ? labels:

? ? ? ? ? exporter: 'statsd'

? ? metrics_path: '/metrics'

? - job_name: 'rabbitmq'

? ? static_configs:

? ? ? - targets: ['rabbitmq:15672'] ---? 目標(biāo)主機(jī)和度量指標(biāo)途徑拼接到一起可以確定收集度量指標(biāo)所用的URL胯陋。如果默認(rèn)使用http,URL是“http://rabbitmq:15672/api/metrics”

? ? ? ? labels:

? ? ? ? ? exporter: 'rabbitmq'

? ? metrics_path: '/api/metrics'

設(shè)置Grafana

為了在Grafana系統(tǒng)中接收度量指標(biāo)袱箱,需要設(shè)置數(shù)據(jù)源遏乔。首先,啟動(dòng)Grafana发笔,可以通過3900端口訪問Grafana盟萨。登錄界面,輸入用戶名和密碼都是admin了讨。

登錄成功后捻激,點(diǎn)擊Add Data Source選項(xiàng),進(jìn)入Edit data source界面前计。為了在Grafana中配置一個(gè)Prometheus數(shù)據(jù)源胞谭,需要將Type設(shè)置為Prometheus,然后插入Prometheus服務(wù)實(shí)例的URL男杈,例如http://prometheus:9090丈屹。

單擊Save & Test按鈕,會(huì)立刻收到數(shù)據(jù)源狀態(tài)的反饋信息势就。如果Prometheus運(yùn)行正常泉瞻,就可以開始使用Grafana來為收集的度量指標(biāo)搭建儀表盤了。

監(jiān)控基礎(chǔ)設(shè)施度量指標(biāo):事件隊(duì)列

為了配置一套監(jiān)控RabbitMQ的儀表盤苞冯,需要用到j(luò)son格式的配置文件袖牙。在源代碼庫中,找到一個(gè)grafana文件夾舅锄,RabbitMQ Metrics.json文件記錄了儀表盤的布局以及所要收集的度量指標(biāo)的配置信息鞭达。導(dǎo)入該文件后立刻便擁有了一套監(jiān)控的RabbitMQ儀表盤。

導(dǎo)入路徑

頁面展示了一個(gè)監(jiān)控服務(wù)器運(yùn)行狀態(tài)的監(jiān)視器皇忿,上面會(huì)顯示up或者down畴蹭,此外頁面上以圖表形式展示了每臺(tái)主機(jī)上的交換(exchange)數(shù)、通道(channel)數(shù)鳍烁、消費(fèi)者(consumer)數(shù)量叨襟、連接數(shù)(connection)、隊(duì)列數(shù)(queue)幔荒、每臺(tái)主機(jī)的消息量以及每個(gè)隊(duì)列的消息量糊闽。

匯總:grafana支持某個(gè)基礎(chǔ)設(shè)施度量指標(biāo)模板導(dǎo)入直接監(jiān)控梳玫。

疑問點(diǎn):grafana怎么知道哪個(gè)基礎(chǔ)設(shè)施?

告警設(shè)置

前面已經(jīng)在收集和存儲(chǔ)度量指標(biāo)了右犹,在指定度量指標(biāo)的數(shù)值背離了所謂的正常值可以發(fā)送告警信息提澎。這可以是指定請(qǐng)求的處理時(shí)間增大,也可以是錯(cuò)誤率升高念链,還可以是某個(gè)計(jì)數(shù)器異常增加等等盼忌。

通過網(wǎng)關(guān)服務(wù)提交出售訂單后,會(huì)發(fā)生許多事情掂墓。這會(huì)觸發(fā)許多事件消息谦纱,系統(tǒng)的瓶頸在于market服務(wù)處理訂單發(fā)布事件的速度。在market place order隊(duì)列中的消息量超過某個(gè)閾值時(shí)君编,設(shè)置一個(gè)告警來發(fā)送一條消息服协。可以配置多種通知方式:電子郵件啦粹、slack、pagerduty窘游、pingdom唠椭、webhook等。

告警系統(tǒng)中設(shè)置webhook通知忍饰,每次消息隊(duì)列中的消息數(shù)超過100時(shí)贪嫂,就會(huì)將告警消息通知給webhook。

同樣可以使用Grafana來設(shè)置告警艾蓝,并且這些告警會(huì)展示在與之相關(guān)的面板上力崇。既可以接收告警通知,又可以查看面板上之前的告警記錄赢织。

首先添加一個(gè)通知渠道以傳播告警事件亮靴。

1)單擊屏幕左上角的Grafana圖標(biāo)。

2)在Alerting菜單中于置,選擇Notification? Channels茧吊。

3)輸入渠道的名稱并選擇類型為webhook,然后選中Send on All Alerts選項(xiàng)八毯。

4)輸入接收告警服務(wù)的URL搓侄。可以使用告警服務(wù)的URL话速,并監(jiān)聽POST請(qǐng)求讶踪。

5)單擊Send Test按鈕驗(yàn)證該功能是否運(yùn)行正常。如果正常泊交,單擊Save按鈕保存這些修改信息乳讥。

在創(chuàng)建的RabbitMQ儀表盤下的消息隊(duì)列面板上配置告警柱查。單擊Messages/Queue面板的標(biāo)題會(huì)彈出一個(gè)菜單,然后選擇Edit雏婶。就可以在Alert選項(xiàng)卡下創(chuàng)建告警了

在Alert Config部分物赶,添加告警名稱以及期望條件的檢查頻率以30s為例,接下來設(shè)置告警條件(condition)留晚。將告警設(shè)置為在最近1min內(nèi)一旦從隊(duì)列A中搜集的值超過100就通知用戶酵紫。

在Alert選項(xiàng)卡下,可以查看所配置告警的歷史記錄错维。

至此已經(jīng)配置了一套收集度量指標(biāo)數(shù)據(jù)的監(jiān)控基礎(chǔ)設(shè)施奖地,這些數(shù)據(jù)包括各個(gè)服務(wù)發(fā)送的數(shù)據(jù)以及這些服務(wù)進(jìn)行異步通信時(shí)所使用的核心組件(消息隊(duì)列的數(shù)據(jù))。


摘取自 摩根·布魯斯和保羅·A.佩雷拉的《微服務(wù)實(shí)戰(zhàn)》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赋焕,一起剝皮案震驚了整個(gè)濱河市参歹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隆判,老刑警劉巖犬庇,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異侨嘀,居然都是意外死亡臭挽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門咬腕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欢峰,“玉大人,你說我怎么就攤上這事涨共∨μ” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵举反,是天一觀的道長(zhǎng)懊直。 經(jīng)常有香客問我,道長(zhǎng)火鼻,這世上最難降的妖魔是什么吹截? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮凝危,結(jié)果婚禮上波俄,老公的妹妹穿的比我還像新娘。我一直安慰自己蛾默,他們只是感情好懦铺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著支鸡,像睡著了一般冬念。 火紅的嫁衣襯著肌膚如雪趁窃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天急前,我揣著相機(jī)與錄音醒陆,去河邊找鬼。 笑死裆针,一個(gè)胖子當(dāng)著我的面吹牛刨摩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播世吨,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼澡刹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了耘婚?” 一聲冷哼從身側(cè)響起罢浇,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沐祷,沒想到半個(gè)月后嚷闭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赖临,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年凌受,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片思杯。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖挠进,靈堂內(nèi)的尸體忽然破棺而出色乾,到底是詐尸還是另有隱情,我是刑警寧澤领突,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布暖璧,位于F島的核電站,受9級(jí)特大地震影響君旦,放射性物質(zhì)發(fā)生泄漏澎办。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一金砍、第九天 我趴在偏房一處隱蔽的房頂上張望局蚀。 院中可真熱鬧,春花似錦恕稠、人聲如沸琅绅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽千扶。三九已至料祠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澎羞,已是汗流浹背髓绽。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妆绞,地道東北人顺呕。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像摆碉,于是被迫代替她去往敵國和親塘匣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容