苍穹环境中的PMM安装配置指南
1 PMM简介
PMM 全称 Percona Monitoring and Management,是一款开源的监控平台,主要用于监控主机、MySQL 、PG、mongoDB性能。同时,也可以通过扩展其内置的Grafana模块,监控中间件、k8s、容器等组件。本文主要介绍PMM在苍穹环境下的主机、数据库监控功能安装配置。
PMM架构如下:
PMM client:部署在每个监控主机(如数据库主机)上,搜集主机、数据库、SQL慢查询等数据。
PMM Server:汇集数据并展示。提供表,dashboards和graph的web界面。
2 PMM安装
2.1 PMM Server(服务端)安装
(1).登录gPaaS master主机(推荐)或 苍穹应用master主机
(2).将pmm server服务镜像(点击下载)上传到主机上
(3). 导入镜像:docker load -i pmm-server-v2.41.1.tar
(4).创建持久化数据容器:docker create --volume /srv --name pmm-data kcr.kingdee.com/gpaas/pmm-server:2.41.1 /bin/true
(5).运行pmm server容器:
docker run --detach --restart always --publish 8093:443 --volumes-from pmm-data --name pmm-server kcr.kingdee.com/gpaas/pmm-server:2.41.1
注:8093 为主机开放的访问端口,可根据需要自行修改
(6). 浏览器登录pmm server控制台
注:192.168.1.2 为主机的IP,8093为上述运行容器设置的主机映射端口
默认登录账户:admin,默认登录密码:admin
注:由于PMM server端负责了大量数据库的性能数据清洗和分析,建议在原k8s主机资源配备基础上,增加至少2核 CPU,8G内存和500G磁盘的资源
2.2 PMM Client agent(客户端代理)安装
(1).使用root权限账户登录苍穹数据库主机(目前PMM只能监控PG或MySQL)
(2).将pmm client二进制安装包(点击下载)上传到主机上
(3). 解压安装包:tar xfz pmm2-client-2.41.1.tar.gz && cd pmm2-client-2.41.1
(4).在主机上设置pmm安装目录环境变量:export PMM_DIR=/usr/local/percona/pmm2
(5).执行client安装:./install_tarball
(6).设置主机环境变量:PATH=$PATH:$PMM_DIR/bin
(7). 配置Client agent:
pmm-agent setup --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml --server-address=192.168.1.2:8093 --server-insecure-tls --server-username=admin --server-password=admin 172.25.2.3 generic PG_172.25.2.3
注:server-address为前面步骤设置的pmm server地址, server-username 和 server-password 为 前面步骤设置的pmm server登录账户密码,172.25.2.3为数据库主机的IP地址,PG_172.25.2.3 为该数据库主机的标签(用于多数据库监控时的界面检索,建议配置规则为:数据库缩写+数据库主机IP地址后两位);其他参数按照上述进行配置即可
(8). 运行Client agent: nohup pmm-agent --config-file=${PMM_DIR}/config/pmm-agent.yaml &
(9). 检查client agent运行状态:pmm-admin status
注:若部署了多台苍穹数据库,则每台数据库主机都需要执行上述1-9步骤来安装pmm client agent;客户端的安装需要在原数据库主机基础上, 增加至少1核 CPU,2G内存资源
2.3 PMM Client service(客户端服务) 配置
2.3.1 PG数据库的服务配置
(1). 登录任一一台PG数据库主机
(2). 将PG服务增加值PMM Server端进行监控:
pmm-admin add postgresql --host=172.25.2.3 --password=Cosmic@2321 --port=5432 --username=cosmic PG_Service_172.25.2.3 --query-source="pgstatements"
注:host 为PG数据库主机IP, username、password、port 为PG数据库的登录账户密码(注意账户需要有最高的管理员权限;若PG数据库为安装器安装,建议使用安装时配置的PG账户),PG_Service_172.25.2.3 为该数据库服务的标签(用于多数据库监控时的界面检索,建议配置规则为:数据库缩写+Service+数据库主机IP地址后两位); 其他参数按照上述进行配置即可
2.3.2 MySQL数据库的服务配置
(1). 登录任一一台MySQL数据库主机
(2). 由于安装器不支持MySQL数据库安装,需要先手工创建一个具有足够权限的账户:
#CREATE USER 'pmm'@'%' IDENTIFIED BY 'Cosmic@2321' WITH MAX_USER_CONNECTIONS 10;
#GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO 'pmm'@%;
(3).将MySQL服务增加值PMM Server端进行监控:
pmm-admin add mysql --host 172.25.2.3 --username pmm --password Cosmic@2321 --port 3306 MySQL_Service_172.25.2.3
注:host 为数据库主机IP, username、password、port 为数据库的登录账户、密码、端口(注意账户需要有最高的管理员权限;),MySQL_Service_172.25.2.3为该数据库服务的标签(用于多数据库监控时的界面检索,建议配置规则为:数据库缩写+Service+数据库主机IP地址后两位); 其他参数按照上述进行配置即可
(4). 开启MySQL慢查询(以便pmm能监控sql执行情况)
编辑/etc/my.cnf:
slow_query_log=ON
log_output=FILE
long_query_time=0
log_slow_admin_statements=ON
log_slow_slave_statements=ON
3 PMM使用
上述配置完后,即可浏览器登录pmm server 监控数据库数据。主要使用场景如下:
(1). SQL查询分析(核心场景)
Load –在时间范围内合计的总压力大小,在对应SQL计算得到负载百分比,并提供分布曲线。
Count-在时间范围内的执行次数,即QPS,并提供曲线。
Latency-时间延迟,根据执行次数计算平均时间,并提供曲线。
(2). 数据库主机、应用指标查询(也可通过gPaaS 监控服务中的主机、数据库页面进行查询)。部分指标如下:
CPU
System 内核态占用率,高:内存拷贝、大量系统调用,可以使用strace跟踪处理。
User 用户态CPU占用,高:用户态CPU占用,普遍较高,可使用ltrace分析或者JDK的top+jstack分析。
Softirq 代码调用了中断INT,导致CPU响应中断处理程序。
Iowait 大量CPU时间用于IO的拷贝处理,从内核空间拷贝到用户空间、或者在等待IO完成。需要重点关注。
内存
MySQL:数据库骤然的内存下降或者跃升,提示数据库服务重启或者OOM,正在执行大SQL。
PostgreSQL:Used变化不明显,骤然上升提示work_mem使用增加(排序、去重、分组等)。
数据库服务
提供总览性监控,例如各种Buffer、临时文件、元组等监控。
苍穹环境中的PMM安装配置指南
本文2024-09-23 01:10:02发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144200.html