MySQL-MongoDB开源监控利器之PMM
最近要对数据库的监控体系进行改进,发现Percona 公司的一款开源的监控工具Percona Monitoring and Management(PMM) 对于MySQL的监控指标各项值比较全面准确,现在公司内部的开发测试环境进行了部署体验。 主要的架构图如下:源于官方可以看到主要是由客户端的代理程序node_export\mysqld_export\mongodb_export等和客户端管理工具pmm-admin做为数据的收集方式并发送到服务端的QAN API\Consul API\Prometheus等各个API然后通过Grafana来展示数据指标,界面非常靓丽
Pmm 的server端的运行方式主要有官方提供的以下三种方式:
1.已经集成好的Docker方式
2.集成好的VirtualBox方式
3. Amazon Machine Image (AMI)
在这里我用的是Docker方式,轻量部署、升级很方便
PMM的client安装比较方便,直接安装官方的yum安装就OK了
#详细的请参考官方文档
https://www.percona.com/doc/perc ... nagement/index.html
#Dokcer方式部署
提前准备好系统和Docker服务,安装不在这里展示
1-创建容器的数据磁盘
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.1.1 /bin/true2-创建容器的运行实例
docker run -d \ -p 80:80 \ --volumes-from pmm-data \ --name pmm-server \ --restart always \ percona/pmm-server:1.1.1
#客户端安装
# yum install http://www.percona.com/downloads ... se-0.1-4.noarch.rpm
# yum install -y pmm-client
#增加客户端mysql监控
# pmm-admin config--server 192.168.100.171
OK, PMM server is alive.
PMM Server | 192.168.100.171
Client Name | master.wboy.com
Client Address| 192.168.100.41
# pmm-admin list
pmm-admin 1.1.1
PMM Server | 192.168.100.171
Client Name | master.wboy.com
Client Address| 192.168.100.41
Service Manager | unix-systemv
No monitoring registered for this node identified as 'master.wboy.com'.
#命令帮助
# pmm-adminadd --help
This command is used to add a monitoring service.
Usage:
pmm-admin add
Available Commands:
mysql Add complete monitoring for MySQL instance (linux and mysql metrics, queries).
linux:metrics Add this system to metrics monitoring.
mysql:metrics Add MySQL instance to metrics monitoring.
mysql:queries Add MySQL instance to Query Analytics.
mongodb Add complete monitoring for MongoDB instance (linux and mongodb metrics).
mongodb:metricsAdd MongoDB instance to metrics monitoring.
proxysql:metrics Add ProxySQL instance to metrics monitoring.
Flags:
--service-port uint16 service port
Global Flags:
-c, --config-file string PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")
Use "pmm-admin add --help" for more information about a command.
# pmm-adminaddmysql --help
This command adds the given MySQL instance to system, metrics and queries monitoring.
When adding a MySQL instance, this tool tries to auto-detect the DSN and credentials.
If you want to create a new user to be used for metrics collecting, provide --create-user option. pmm-admin will create
a new user 'pmm@' automatically using the given (auto-detected) MySQL credentials for granting purpose.
Table statistics is automatically disabled when there are more than 10000 tables on MySQL.
is an optional argument, by default it is set to the client name of this PMM client.
Usage:
pmm-admin add mysql
Examples:
pmm-admin add mysql --password abc123
pmm-admin add mysql --password abc123 --create-user
pmm-admin add mysql --password abc123 --port 3307 instance3307
Flags:
--create-user create a new MySQL user
--create-user-maxconn uint16 max user connections for a new user (default 10)
--create-user-password string optional password for a new MySQL user
--defaults-file string path to my.cnf
--disable-binlogstats disable binlog statistics
--disable-processlist disable process state metrics
--disable-tablestats disable table statistics
--disable-tablestats-limit uint16 number of tables after which table stats are disabled automatically (default 1000)
--disable-userstats disable user statistics
--force force to create/update MySQL user
--host string MySQL host
--password string MySQL password
--port string MySQL port
--query-source string source of SQL queries: auto, slowlog, perfschema (default "auto")
--socket string MySQL socket
--user string MySQL username
Global Flags:
-c, --config-file string PMM config file (default "/usr/local/percona/pmm-client/pmm.yml")
--service-port uint16 service port
#增加本地mysql实例
# pmm-adminaddmysql--user root --password root
OK, now monitoring this system.
OK, now monitoring MySQL metrics using DSN root:***@unix(/var/lib/mysql/mysql.sock)
OK, now monitoring MySQL queries from slowlog using DSN root:***@unix(/var/lib/mysql/mysql.sock)
安装完成后的访问地址列表:其实在 landing page包含了下面三个功能的页面
各个组件功能访问地址
PMM landing pagehttp://192.168.100.1
Query Analytics (QAN web app)http://192.168.100.1/qan/
Metrics Monitor (Grafana)http://192.168.100.1/graph/
User name: admin
Password: admin
Orchestratorhttp://192.168.100.1/orchestrator
##
下面是一些截图界面
页:
[1]