PMM添加MySQ监控服务

2024年 1月 31日 55.3k 0

1 PMM添加服务介绍

PMM来监控MySQ的实现方式是PMM Client从MySQL数据库收集指标数据,然后PMM Client将收集到的数据发送到PMM Server,由PMM Server对数据进行处理、存储和可视化。

PMM添加MySQL服务的步骤如下:

  1. 创建PMM帐户并设置权限。
  2. 选择一个数据源:
    • 慢速查询日志;
    • 或者,性能模式。
  3. 配置:
    • 查询响应时间;
    • 表统计;
    • 用户数据。
  4. 添加服务。
  5. 检查服务。

PMM还支持从PostgreSQL、MariaDB、Percona服务器和Percona XtraDB集群收集指标。详见官方文档:https://docs.percona.com/percona-monitoring-and-management/setting-up/client/mysql.html

2 依赖检查

添加前确保已经完成如下事项:

  • PMM服务器已经安装并运行,并且可以从客户机节点访问一个已知的IP地址。
  • 已安装PMM Client,节点已在PMM Server上注册。
  • 在PMM Client主机上拥有超级用户(root)访问权限。

3 添加MySQL服务

3.1 创建PMM数据库用户

On MySQL 8.0:

mysql>
CREATE USER 'pmm'@'192.168.131.99' IDENTIFIED BY 'Pmm123123.' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO 'pmm'@'192.168.131.99';

On MySQL 5.7:

mysql>
CREATE USER 'pmm'@'192.168.131.99' IDENTIFIED BY 'Pmm123123.' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm'@'192.168.131.99';

查看用户:

mysql> select user,host from mysql.user where user = 'pmm';
+------+-----------+
| user | host |
+------+-----------+
| pmm | 192.168.131.99 |
+------+-----------+
mysql> show grants for pmm@192.168.131.99;
+-------------------------------------------------------------------------------+
| Grants for pmm@192.168.131.99 |
+-------------------------------------------------------------------------------+
| GRANT SELECT, RELOAD, PROCESS, REPLICATION CLIENT ON *.* TO `pmm`@`192.168.131.99` |
| GRANT BACKUP_ADMIN ON *.* TO `pmm`@`192.168.131.99` |
+-------------------------------------------------------------------------------+

3.2 选择并配置一个源

指标源两种:慢查询日志和Performance_Schema。

慢速查询日志和Performance_Schema指标源各自的优缺点,如下:

数据库不同版本的源建议:


如果要使用慢查询日志作为源,pmm client和mysql数据库服务必须在同一台机器上。其实,如果满足同一台机器这个条件,那么也更建议使用慢查询日志作为源,因为可以获得更详细的监控数据,且可以减小对资源的影响。

1.慢查询日志源的设置方法

设置慢查询日志的相关参数,动态设置:

mysql>
SET GLOBAL slow_query_log = 1;
SET GLOBAL log_output = 'FILE';
SET GLOBAL long_query_time = 1;
SET GLOBAL log_slow_admin_statements = 1;
SET GLOBAL log_slow_slave_statements = 1;

或者,在配置文件my.cnf中添加这些参数:

slow_query_log=ON
log_output=FILE
long_query_time=1
log_slow_admin_statements=ON
log_slow_slave_statements=ON

下次重启后生效。

注意:动态设置好之后,也建议将这些参数固化到配置文件中,要不然下次重启之后会失效。

2.Performance_Schema源的设置方法

设置Performance_Schema的相关参数,动态设置:

mysql>
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME LIKE 'statement/%';
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME LIKE '%statements%';

或者,在配置文件my.cnf中添加这些参数:

performance_schema=ON
performance-schema-instrument='statement/%=ON'
performance-schema-consumer-events-statements-current=ON
performance-schema-consumer-events-statements-history=ON
performance-schema-consumer-events-statements-history-long=ON
performance-schema-consumer-statements-digest=ON
innodb_monitor_enable=all

events_transactions_current

下次重启后生效。

注意:动态设置好之后,也建议将这些参数固化到配置文件中,要不然下次重启之后会失效。

3.3 添加服务

[root@mysql001 config]# pmm-admin add mysql --username=pmm --password=Pmm123123. --query-source=slowlog mysql001-mysql 192.168.131.99:3306
MySQL Service added.
Service ID : /service_id/60b91fd3-065f-41a9-892e-1eea8ca00d43
Service name: mysql001-mysql

Table statistics collection enabled (the limit is 1000, the actual table count is 365).

参数说明:

  • pmm-admin add mysql:添加一个新的MySQL PMM服务。
  • –username=pmm:MySQL用户名。
  • –password=Pmm123123:MySQL用户名密码。
  • –query-source=slowlog:指标源是慢查询日志。
  • mysql001-mysql:服务名,默认是{hostname}-mysql。
  • 192.168.131.99:3306:这是MySQL实例的地址和端口。

3.4 检查服务状态

PMM用户界面查看,依次点击ConfigurationInventory

也可在命令行检查:

[root@mysql001 config]# pmm-admin inventory list services --service-type=mysql
Services list.

Service type Service name Address and Port Service ID
MySQL mysql001-mysql 192.168.131.99:3306 /service_id/60b91fd3-065f-41a9-892e-1eea8ca00d43

3.5 查看MySQL实例监控页面

4 QAN

QAN全称Query Analytics,此仪表板显示查询是如何执行的,以及它们在哪里花费时间。可以帮助我们分析一段时间内的数据库查询,可用于优化数据库性能,快速找到并解决问题的根源。

在工作中可能看得最多的就是这块面板了,因为影响数据库性能百分之九十的原因是查询问题,也就是慢SQL。有时候一个慢SQL就能拖垮整个库,进而影响业务系统的正常运转。

因此,应该好好利用Query Analytics这个功能。

Query Analytics面板如下:

4.1 过滤

左边栏的Filters可以按不同维度进行查询过滤,例如数据库、节点名、服务名等:

4.2 sql详情

点击total列表里的sql,右下栏显示sql的详情,包括记录数、查询时间、锁表时间等指标:

【关联文章】

1) MySQL监控方案PMM之PMM Server的安装
2)一个PMM Server部署问题解决办法
3)MySQL监控方案PMM之PMM Client的安装
4)PMM添加MySQ监控服务

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论