操作系統(tǒng):Ubuntu 16.04
依賴環(huán)境:docker (文章中所涉及到的鏡像是本地自己打的驮配,如有需要娘扩,請(qǐng)下載 鏡像地址)
鏡像文件:grafana-prometheus? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? c0b5646cc7b4? ? ? 656MB (鏡像內(nèi)包括:grafana-4.6.2+node_exporter-0.14.0-rc.2+prometheus-1.5.2+pushgateway-0.4.0 服務(wù),使用 supervisord 進(jìn)行管理)
注:此篇文章中prometheus中的數(shù)據(jù)是由應(yīng)用App 通過 metrice 埋點(diǎn)進(jìn)行統(tǒng)計(jì)push的壮锻,如有需要畜侦,請(qǐng)留言
配置文件準(zhǔn)備:
修改prometheus的配置文件,主要配置其拉去數(shù)據(jù)的地址
targets 中的地址是需要拉去數(shù)據(jù)的服務(wù)地址躯保,此配置文件中只配pushgateway的服務(wù)地址旋膳。(同時(shí)可以添加node_exporter地址,來監(jiān)控服務(wù)器的一些資源數(shù)據(jù)途事,例如配置中被注釋的 node resources)
grafana相關(guān)配置 defaults.ini:
host = smtp.163.com:25? ? ? 163服務(wù)器的smtp地址及端口验懊,25端口是非tls端口,不需要證書認(rèn)證
user = ******@163.com? ? ? ? 郵箱用戶
password =***********? ? ? ? ? 郵件服務(wù)器登錄密碼
from_address = ****@163.com 發(fā)送告警郵件的郵箱
from_name = Grafana? ? ? ? 發(fā)送告警郵件的名稱
注:grafana的郵箱配置也可以不再配置文件中配置尸变,可以在docker 啟動(dòng)時(shí)進(jìn)行參數(shù)化配置
啟動(dòng)容器:
docker run -d \
-v /home/mpsp/dockerfile/grafana-prometheus/defaults.ini:/etc/grafana/conf/defaults.ini? \
-v /home/mpsp/dockerfile/grafana-prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-p 3000:3000 \
-p 9100:9100 \
-p 9090:9090 \
-p 9091:9091 \
--name grafana-prometheus grafana-prometheus也可以使用以下方式啟動(dòng)(不在defaults.ini 中配置郵件信息的)
docker run -d \
-e GF_SMTP_ENABLED=true \
-e GF_SMTP_SKIP_VERIFY=true \
-e GF_SMTP_HOST=smtp.163.com:25 \
-e GF_SMTP_USER=****@163.com \
-e GF_SMTP_PASSWORD=****** \
-e GF_SMTP_FROM_ADDRESS=****@163.com? \
-v /home/mpsp/dockerfile/grafana-prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-p 3000:3000 \
-p 9100:9100 \
-p 9090:9090 \
-p 9091:9091 \
--name grafana-prometheus grafana-prometheus
配置告警通知:
配置數(shù)據(jù)源:
點(diǎn)擊 test測(cè)試是否可以連接。
配置郵件告警:
配置路徑:Grafana左上角圖標(biāo) -->Alerting --> Configure notifications -->New Channel 進(jìn)行設(shè)置
如果想要通知多個(gè)郵箱召烂,可以在Email address欄中通過 碱工; 進(jìn)行配置,配置完之后可以使用“Send Test”進(jìn)行測(cè)試,會(huì)收到一份測(cè)試郵件:
配置釘釘告警:
下載安裝釘釘后,需要添加一個(gè)機(jī)器人來接收告警信息:
切換至Grafana同樣使用 New Channel 進(jìn)行配置,下拉窗口選擇“DingDing”
同樣使用 “Send Test”進(jìn)行測(cè)試梳猪,會(huì)想 群組發(fā)送一條測(cè)試信息
增加指標(biāo)監(jiān)控:
Grafana左上角圖標(biāo) -->Dashboard -->create your fist dashboard -->Graph
其他指標(biāo)的維護(hù)已在另外一篇文章(Ubuntu 16.04 安裝Grafana并配置監(jiān)控(Grafana + MySQL))中介紹過,此處不再贅述蒸痹,此處只對(duì)Metrices 和 Alert 進(jìn)行介紹:
Condition 選項(xiàng)中是配置監(jiān)控指標(biāo)的報(bào)警限制:
監(jiān)控?cái)?shù)據(jù)的什么指標(biāo)(when)從此時(shí)開始1分鐘內(nèi)(query(A春弥,1m,now))超出閾值(is above)叠荠,則進(jìn)行告警
在上圖例子中使用的是最大值(max())
配置結(jié)束后可以使用“Test Rule”來驗(yàn)證查詢是否有問題
Send to 中配置的是告警方式匿沛,點(diǎn)擊 +可以添加前面增加的 Altering
Message 中配置的是告警的具體描述
至此,告警配置已經(jīng)配置結(jié)束榛鼎,下面進(jìn)行驗(yàn)證逃呼。
使用腳本或?yàn)g覽器持續(xù)調(diào)用埋點(diǎn)接口,當(dāng)均值超出閾值時(shí)借帘,就會(huì)觸發(fā)告警:
一段時(shí)間后淌铐,當(dāng)指標(biāo)恢復(fù)到閾值以下肺然,會(huì)發(fā)一封OK郵件