安利一款運維殺手鐧,讓監控部署不再尷尬!(附視頻)
作者介紹
賀春暘,普惠金融MySQL專家,《MySQL管理之道》第一版、第二版作者。曾任職於中國移動飛信、機鋒安卓市場,擁有豐富的數據庫管理經驗。目前致力於MySQL、Linux等開源技術的研究。
一、痛點
目前DBA團隊和運維團隊是單獨部署的監控係統,我用Nagios監控DB,運維用Zabbix監控應用,早期我是用Cacti+Percona的模板做畫圖,由於MySQL/MongoDB服務的增多,每次人肉在網頁裏加監控項太累,後接在Zabbix裏實現畫圖,結果造成Zabbix的監控表變大,Zabbix開始變得卡頓產生大量的誤報警,導致運維在春節年會飯桌上收到了上百個報警短信,後直接切表才得以解決,固我決定需要拆分出去,實現微服務思想,讓運維可以安心吃頓飯 ^_^
二、介紹
Percona Monitoring and Management (PMM)是一款開源的用於管理和監控MySQL和MongoDB性能的開源平台,通過PMM客戶端收集到的DB監控數據用第三方軟件Grafana畫圖展示出來。在這個產品之前,Percona提供了Zabbix和Cacti的圖形模板,也許是考慮到了用戶部署起來繁瑣等問題,索性在春節前Percona發布了PMM Docker鏡像,用戶隻需要下載鏡像運行就全部搞定,開箱即用相當easy!
PMM架構如下圖所示:
模塊說明:
-
Query Analytics (QAN):用來展示MySQL慢查詢日誌。
-
Prometheus:是一個開源的服務監控係統和時間序列數據庫,用來聚集DB的監控數據。
-
Grafana:將Prometheus裏麵的數據畫圖展示出來。
三、部署
係統:CentOS-7.3
1、Docker安裝
# yum install docker -y
2、PMM Server安裝
(1)下載PMM Server Docker鏡像
# docker create \ -v /opt/prometheus/data \ -v /opt/consul-data \ -v /var/lib/mysql \ -v /var/lib/grafana \ --name pmm-data \ percona/pmm-server:1.0.7 /bin/true |
(2)啟動
# docker run -d \ -p 80:80 \ --volumes-from pmm-data \ --name pmm-server \ --restart always \ percona/pmm-server:1.0.7 |
(3)查看Docker運行狀態
(4)打開瀏覽器https://yourip即可
Component |
URL |
PMM首頁 |
https://yourip |
Query Analytics (慢日誌分析) |
https://yourip/qan/ |
Metrics Monitor (Grafana) |
https://yourip/graph/ user name: admin password: admin |
Orchestrator |
https://yourip/orchestrator |
3、PMM Client安裝
(1)下載PMM Client
# wget https://www.percona.com/downloads/pmm-client/LATEST/binary/tarball/pmm-client-1.0.7.tar.gz # tar zxvf pmm-client-1.0.7.tar.gz # cd pmm-client-1.0.7 # ./install |
(2)連接PMM Server
# pmm-admin config --server yourip |
(3)增加MySQL和MongoDB監控服務
# pmm-admin add mysql --user admin --password 123456 --host 192.168.148.21 # pmm-admin add mongodb --cluster rs1 --uri mongodb://admin:123456@localhost:27017 |
(4)查看
# pmm-admin list
五、監控頁麵展示
OS係統
MySQL
MySQL慢查詢分析
MongoDB
六、Email報警
報警是通過Grafana發出的,內置有Email、Webhook、slack、pagerduty,可惜沒有微信,老外應該沒聽過這個玩意,所以這裏我介紹一下Email報警是如何配置的。
1、首先進入docker shell裏,見下麵截圖:
# docker ps # docker exec -it 75d3be875849 /bin/bash |
2、修改/etc/grafana/grafana.ini配置文件:
#################################### SMTP / Emailing ########################## [smtp] enabled = true host = smtp.126.com:25 user = chunyang_he@126.com password = 123456 ;cert_file = ;key_file = ;skip_verify = false from_address = chunyang_he@126.com |
3、重啟Docker生效
# docker stop 75d3be875849
# docker start 75d3be875849
4、頁麵配置
這一步步驟繁瑣,具體請參考視頻演示:https://pan.baidu.com/s/1i4OyGo1
效果如下圖:
原文發布時間為:2017-02-21
本文來自雲棲社區合作夥伴DBAplus
最後更新:2017-05-15 10:02:47