重庆思庄Oracle、Redhat认证学习论坛
标题: 一个开源的数据库监控系统PMM [打印本页]
作者: 郑全 时间: 2023-10-4 21:43
标题: 一个开源的数据库监控系统PMM
本帖最后由 郑全 于 2023-10-4 21:54 编辑
pmm 是 Percona Monitoring and Management 的缩写,是Percona 公司的大作,默认可以监控 MYSQL,PG,MONGODB,如果要监控其他数据库,比如ORACLE,需要定制 XX_EXPOTER,我们这里主要记录一下PMM的安装,及MYSQL,PG,MONGODB的监控实现。
PMM是一个C/S架构,服务器端,是在一个单独的服务器,上面主要以开源软件为主,被监控的数据库服务器上,安装PMM的客户端。
PMM服务器端,提供了三种方式,DOCKER,VBOX虚拟机,AWS云上服务,最简单的,也是线下最容易实现的,肯定是DOCKER,我们这里以DOCKER为例。
环境
PMM server:192.168.133.240
pmm client:
192.168.133.140 mongodb
192.168.133.201 mysql
192.168.133.240docker pg PMM 本身使用PG保存数据
第一步 安装 docker
我的操作系统为ORACLE LINUX 8.8
#1. 下载docker-ce的repo
curl https:// download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
#2. 安装依赖(这是相比centos7的关键步骤)
yum install https: //download.docker.com / linux/fedora /30/x86_64/stable/Packages/ containerd.io-1.2.6-3.3.fc30.x86_64.rpm
#3. 安装docker-ce
yum install docker-ce -y
#4. 启动docker
systemctl start docker
第二步 安装pmm-server
#拉取镜像
docker pull percona/pmm-server:2
#创建数据卷
docker volume create pmm-data
#启动容器
docker run --detach --restart always --publish 443:443 -v pmm-data:/srv --name pmm-server percona/pmm-server:2
#修改admin密码
docker exec -t pmm-server change-admin-password sztech_4U
#查看日志
docker logs pmm-server
#查看网页 (非本地环境localhost换成机器ip 注意防火墙要开通)
#账户:admin 密码:passwordxxx (参考修改admin密码步骤的密码)
https://192.168.133.240:443
第三步 被监控节点安装 pmm-client
#1 配置yum源
yum install -y https:// repo.percona.com/yum/percona-release-latest.noarch.rpm
#2 安装pmm2-client
yum install -y pmm2-client
yum localinstall percona-toolkit-3.5.5-1.el7.x86_64.rpm
#3 查看版本
pmm-admin --version
#4 注册节点 注意admin账户密码和ip不要填错
pmm-admin config --server-insecure-tls --server-url=https://admin:passwordxxx@X.X.X.X:443
# 说明:
# X.X.X.X is the address of your PMM Server.
# 443 is the default port number.
# admin/admin is the default PMM username and password. This is the same account you use to log into the PMM user interface, which you had the option to change when first logging in.
我们这里:
pmm-admin config --server-insecure-tls --server-url=https://admin:sztech_4U@192.168.133.240:443
第三步 添加被监控节点上的数据库 3.1. 增加 MYSQL监控
1. 增加pmm-client监控账号
create user 'pmm'@'%' identified by 'sztech_4U';
grant all privileges on *.* to 'pmm'@'%' ;
2.增加pmm客户端监控mysql到pmm服务器
# pmm-admin add mysql --user pmm --password sztech_4U --host 192.168.133.201 --port 3306
[root@host01 ~]# pmm-admin list
Service type Service name Address and port Service ID
MySQL sl-mysql 127.0.0.1:3306 /service_id/81a38dd2-4218-4160-a850-bdee2e28dc5f
MySQL host01.example.com-mysql 192.168.133.201:3306 /service_id/c04573b5-ea46-4242-8e54-2a36d8005f5e
MySQL ps-mysql 127.0.0.1:3306 /service_id/e83b69e1-2029-4be1-89de-b8db573eb63e
Agent type Status Metrics Mode Agent ID Service ID Port
pmm_agent Connected /agent_id/e09da53a-e048-4fcb-9221-d3f3b065f3a7 0
node_exporter Running push /agent_id/949921b3-c359-4430-b82b-8b8f99215cb9 42000
mysqld_exporter Running push /agent_id/1090e219-2298-4c4f-b90c-92b405cf1a90 /service_id/c04573b5-ea46-4242-8e54-2a36d8005f5e 42002
mysqld_exporter Running push /agent_id/55b2ce13-526e-4ec8-945d-65dd13417ec2 /service_id/81a38dd2-4218-4160-a850-bdee2e28dc5f 42004
mysqld_exporter Running push /agent_id/8ecb7d34-be8e-4078-ad04-619592377a24 /service_id/e83b69e1-2029-4be1-89de-b8db573eb63e 42003
3.2. 增加 MONGODB监控
# pmm-admin add mongodb --username=root --password=root --host=192.168.133.140 --port=27017 --service-name=mongodb-192.168.133.140-27017
[root@dbserver ~]# pmm-admin list
3.3 增加 PG监控
pmm-admin add postgresql --username=pmm --password=sztech_4U --host=xx.xx.xx.xx --port=5432 --service-name=PG-xx.xx.xx.xx-5432
最后,添加监控后,如下: