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

    xiaoxiao2024-03-30  111

    作者介绍

    贺春旸金融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)打开浏览器http://yourip即可

     

     

    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

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

     

     

    这一步步骤繁琐,具体请参考视频演示:http://pan.baidu.com/s/1i4OyGo1

     

    效果如下图:

     

    原文发布时间为:2017-02-21

    本文来自云栖社区合作伙伴DBAplus

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)