查看原文
其他

安利一款运维杀手锏,让监控部署不再尴尬!(附视频)

2017-02-21 贺春旸 DBAplus社群


作者介绍

贺春旸普惠金融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)打开浏览器



Component

URL

PMM首页

http://yourip

Query Analytics (慢日志分析)

http://yourip/qan/

Metrics Monitor (Grafana)

http://yourip/graph/

user name: admin

password: admin

Orchestrator

http://yourip/orchestrator


3、PMM Client安装


(1)下载PMM Client


# wget

# 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、页面配置


这一步步骤繁琐,具体请参考视频演示:http://pan.baidu.com/s/1i4OyGo1,或点击底部【阅读原文】下载。


效果如下图:



参考文献:

  • https://www.percona.com/doc/percona-monitoring-and-management/index.html


相关专题:


精选专题(官网:dbaplus.cn)

◆  近期热文  ◆  

5天2亿活跃用户,QQ新春天降红包活动后台技术揭密

从0开始搭建坚不可摧的Web系统主流架构

MySQL集群节点宕机,数据库脑裂!如何排障?

技术管理经验谈丨你与优秀管理者之间只差这一个图谱

一网打尽消息队列在大型分布式系统中的实战精髓


◆  MVP专栏  ◆  

杨志洪杨建荣邹德裕韩锋欧阳辰

网易腾讯云百度朱祥磊卢钧轶

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存