重庆思庄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


最后,添加监控后,如下:


pmm.png
登录/注册后可看大图