1. 摘要
Grafana是一款用Go語言開發(fā)的開源數(shù)據(jù)可視化工具,可以做數(shù)據(jù)監(jiān)控和數(shù)據(jù)統(tǒng)計(jì)律秃,帶有告警功能佑刷。
本文介紹Grafana的安裝,以及配合Prometheus完成MySQL數(shù)據(jù)庫和主機(jī)節(jié)點(diǎn)的監(jiān)控可視化實(shí)踐钝计。
2. Grafana的介紹
Grafana是一個(gè)用于可視化大型測量數(shù)據(jù)的開源系統(tǒng)恋博,它的功能非常強(qiáng)大齐佳,界面也非常漂亮,使用它可以創(chuàng)建自定義的控制面板债沮,你可以在面板中配置要顯示的數(shù)據(jù)和顯示方式重虑,它支持很多不同的數(shù)據(jù)源,比如:Graphite秦士、InfluxDB、OpenTSDB永高、Elasticsearch隧土、Prometheus 等,而且它也支持眾多的插件 命爬。
Grafana軟件有7大特點(diǎn):
①可視化:快速和靈活的客戶端圖形具有多種選項(xiàng)曹傀。面板插件為許多不同的方式可視化指標(biāo)和日志。
②報(bào)警:可視化地為最重要的指標(biāo)定義警報(bào)規(guī)則饲宛。Grafana將持續(xù)評(píng)估它們皆愉,并發(fā)送通知。
③通知:警報(bào)更改狀態(tài)時(shí)艇抠,它會(huì)發(fā)出通知幕庐。接收電子郵件通知。
④動(dòng)態(tài)儀表盤:使用模板變量創(chuàng)建動(dòng)態(tài)和可重用的儀表板家淤,這些模板變量作為下拉菜單出現(xiàn)在儀表板頂部异剥。
⑤混合數(shù)據(jù)源:在同一個(gè)圖中混合不同的數(shù)據(jù)源!可以根據(jù)每個(gè)查詢指定數(shù)據(jù)源。這甚至適用于自定義數(shù)據(jù)源絮重。
⑥注釋:注釋來自不同數(shù)據(jù)源圖表冤寿。將鼠標(biāo)懸停在事件上可以顯示完整的事件元數(shù)據(jù)和標(biāo)記。
⑦過濾器:過濾器允許您動(dòng)態(tài)創(chuàng)建新的鍵/值過濾器青伤,這些過濾器將自動(dòng)應(yīng)用于使用該數(shù)據(jù)源的所有查詢督怜。
3.docker安裝Grafana
Ubuntu下docker安裝Grafana,命令如下:
cd /home/datadisk
mkdir grafana
cd grafana
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana
安裝后訪問:
docker exec -it grafana /bin/sh
訪問網(wǎng)頁:http://114.67.107.227:3000/login
登錄的默認(rèn)密碼為admin/admin,首次登錄需要修改。
4. 添加Prometheus數(shù)據(jù)源
(1)添加之前安裝的Prometheus的訪問網(wǎng)址作為數(shù)據(jù)源狠角。
(2)導(dǎo)入模板
使用編號(hào)導(dǎo)入模板号杠,Grafana服務(wù)需要聯(lián)網(wǎng),否則需要到Grafana模板下載JSON文件導(dǎo)入丰歌。
說明:
- 主機(jī)監(jiān)控展示看板Node-exporter導(dǎo)入 8919 模板
- 容器監(jiān)控展示看板cadvisor-exporter導(dǎo)入193 模板
- 應(yīng)用監(jiān)控展示看板jmx-exporter導(dǎo)入8563 模板
- Redis監(jiān)控展示看板Redis-exporter導(dǎo)入2751 模板
- 進(jìn)程監(jiān)控展示看板Process-exporter導(dǎo)入249 模板
- 相關(guān)mysql 狀態(tài)監(jiān)控7362:
更多模板登錄官網(wǎng)查詢:https://grafana.com/grafana/dashboards
查看Node-exporter的信息:
查看MySQL-exporter的信息
更多配置參考:http://www.reibang.com/p/0d82c7ccc85a
5 . Grafana告警配置
(1) SMTP郵箱配置
/usr/share/grafana/conf/defaults.ini
修改郵箱相關(guān)的配置究流,例如下面。重啟grafan系統(tǒng)动遭。
#################################### SMTP / Emailing #####################
[smtp]
enabled = true
host = smtp.exmail.qq.com:25
user = help@artarva.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = """your password"""
;cert_file =
;key_file =
;skip_verify = false
from_address = help@artarva.com
from_name = Grafana
ehlo_identity =
startTLS_policy =
[emails]
welcome_email_on_sign_up = false
templates_pattern = emails/*.html
(2)配置通知郵箱
在grafana
點(diǎn)擊"Test"按鈕芬探,目標(biāo)郵箱如果收到Grafana測試郵件,則配置成功厘惦。
輝哥在采用163郵箱服務(wù)器時(shí)偷仿,該測試郵件被識(shí)別為垃圾郵件拒絕發(fā)了哩簿,更換為企業(yè)郵箱則成功了。
(3)告警配置
導(dǎo)入8919模板酝静,想對(duì)內(nèi)存节榜,CPU和硬盤使用進(jìn)行監(jiān)控,但是發(fā)現(xiàn)編輯panel并沒有頁面的Alert的TAB頁面别智。
關(guān)鍵字:Template variables are not supported in alert queries
分析:由于Prometheus告警不支持變量宗苍,而模板面板使用了大量變量,導(dǎo)致不可使用告警薄榛。
解決辦法:單獨(dú)配置個(gè)告警的視圖讳窟,用正則匹配出所有的主機(jī) 或者 每臺(tái)主機(jī)單獨(dú)一個(gè)查詢語句。
輝哥采用新建一個(gè)panel敞恋,然后采用每臺(tái)機(jī)器單獨(dú)一個(gè)查詢語句的方式進(jìn)行設(shè)置面板丽啡。
(1 - (node_memory_MemAvailable_bytes{instance="101.133.173.223:9102"} / (node_memory_MemTotal_bytes{instance="101.133.173.223:9102"})))* 100
然后切換到ALERT頁面,設(shè)置好告警觸發(fā)條件和之前配置的郵件通道硬猫。
當(dāng)內(nèi)存使用率超限時(shí)就可以收到告警郵件了补箍。
6. 參考
(1) Prometheus + Granafa 構(gòu)建高大上的MySQL監(jiān)控平臺(tái)【MySQL主備】
https://didispace-wx.blog.csdn.net/article/details/111828879
使用Prometheus和Grafana監(jiān)控Mysql服務(wù)器性能
https://segmentfault.com/a/1190000007040144
(2) Grafana的介紹與使用
http://www.reibang.com/p/0d82c7ccc85a
(3) Grafana可視化工具介紹
https://cloud.tencent.com/developer/article/1422917
(4) GRAFANA的介紹與使用
https://www.freesion.com/article/8352484243/
(5) 可視化工具Grafana:簡介及安裝
https://www.cnblogs.com/imyalost/p/9873641.html
(6) grafana官網(wǎng)
https://grafana.com/docs/
(7) 官網(wǎng)配置介紹
https://grafana.com/docs/grafana/latest/administration/configure-docker/
(8) grafana模板查找
https://grafana.com/grafana/dashboards
(9) Grafana告警配置并發(fā)送郵件
https://www.imooc.com/article/73338?block_id=tuijian_wz