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/percona-monitoring-and-management/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/true
2-创建容器的运行实例
docker run -d \ -p 80:80 \ --volumes-from pmm-data \ --name pmm-server \ --restart always \ percona/pmm-server:1.1.1
#客户端安装
[root@master ~]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
[root@master ~]# yum install -y pmm-client
#增加客户端mysql监控
[root@master ~]# 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
[root@master ~]# 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'.
#命令帮助
[root@master ~]# pmm-admin add --help
This command is used to add a monitoring service.
Usage:
pmm-admin add [command]
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:metrics Add 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 [command] --help" for more information about a command.
[root@master ~]# pmm-admin add mysql --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.
[name] is an optional argument, by default it is set to the client name of this PMM client.
Usage:
pmm-admin add mysql [name] [flags]
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实例
[root@master ~]# pmm-admin add mysql --user root --password root
[linux:metrics] OK, now monitoring this system.
[mysql:metrics] OK, now monitoring MySQL metrics using DSN root:***@unix(/var/lib/mysql/mysql.sock)
[mysql:queries] OK, now monitoring MySQL queries from slowlog using DSN root:***@unix(/var/lib/mysql/mysql.sock)
安装完成后的访问地址列表:其实在 landing page包含了下面三个功能的页面
各个组件 | 功能访问地址 |
---|---|
PMM landing page | http://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 |
Orchestrator | http://192.168.100.1/orchestrator |
##
下面是一些截图界面

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mariadb初始登陆报错 ERROR 1045 (28000) 的解决办法
今天,测试环境下需要使用到mysql数据库;于是我使用yum安装方式快速部署了mariadb。使用的Linux系统版本为CentOS 7.x。 安装完成后,我很自然的使用mysql命令登陆,因为是刚安装的初始环境,结果报错了: [root@node~]#mysql ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO) 第一次碰到这种情况。我检查了配置文件,没发现异常,另外yum安装,也是初始环境,应该不会有问题。无奈只能上网找找相关的案例试试。 还好,最后成功的解决了此问题。 解决步骤如下: 1,首先停掉数据库服务: [root@node~]#systemctlstopmariadb.service 2,使用mysqld_safe来启动mysqld服务器: [root@node~]#mysqld_safe--user=mysql--skip-grant-tables--skip-networking& [1]4120 [root@node~]#17030111:04:57mysq...
- 下一篇
JMeter打开badboy保存的jmx文件报错的解决方法
无数小白童鞋总问这个问题,其实在做任何学习的时候都要注意版本的一致,不然就会出莫名其妙的问题。但这些看起来很低级的问题99%的人都不会去在意,而一味追求所谓的高级,实在不理解。。。。唉 好了下面进入正题: 问题: 排查: badboy和jmeter版本不匹配。一般大家都用的是JMeter是3.1的,而badboy是2.0.5 解决方法: 把badboy升级到最新版,比如2.1.2即可。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8安装Docker,最新的服务器搭配容器使用