0
点赞
收藏
分享

微信扫一扫

MySQL监控指标及采集方法

扬帆远航_df7c 2022-02-13 阅读 52


MySQL监控指标及采集方法

背景:线上生产环境MySQL的架构是一主双从,为了更好了解MySQL集群运行状况,我们需要对以下指标进行监控!

1

一、对数据库服务可用性进行监控

思路:

1.1 通过测试账号ping命令返回的信息判断数据库可以通过网络连接

[root@host-39-108-217-12 scripts]# /usr/bin/mysqladmin -uroot -p123456 ping

mysqld is alive

1.2 确认数据库是否可读写

a.检查数据库的read_only参数是否为off

[root@host-47-106-141-17 scripts]# mysql -uroot -p123456 -P3306 -e "show global variables like 'read_only'" | grep read_only

read_only   OFF

b.执行简单的数据库查询,如:select @@version;

[root@host-47-106-141-17 scripts]# mysql -uroot -p123456 -P3306 -e "select @@version"  | grep MariaDB

5.5.56-MariaDB


二、对数据库性能进行监控

2.1 监控数据库连接数可用性

a.数据库最大连接数

[root@host-47-106-141-17 scripts]# mysql -uroot -p123456 -e "show variables like 'max_connections'"

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| max_connections | 151   |

+-----------------+-------+

b.数据库当前打开的连接数

[root@host-47-106-141-17 scripts]# mysqladmin -uroot -p123456 extended-status | grep -w "Threads_connected"

| Threads_connected                        | 1           |

注:如何计算当前打开的连接数占用最大连接数的比例呢?

result=Threads_connected/max_connections,在做监控报警或可视化监控时能够很好的根据这个比例及时调整最大连接数。

2.2 数据库性能监控

a.QPS:每秒的查询数

QPS计算方法

Questions = SHOW GLOBAL STATUS LIKE 'Questions';

Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';

QPS=Questions/Uptime

b.TPS:每秒的事物量(commit与rollback的之和)

TPS计算方法

Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';

Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';

Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';

TPS=(Com_commit + Com_rollback)/Uptime

2.3 数据库并发请求数量

MariaDB [(none)]>  SHOW GLOBAL STATUS LIKE 'Threads_running';

+-----------------+-------+

| Variable_name   | Value |

+-----------------+-------+

| Threads_running | 3     |

+-----------------+-------+

1 row in set (0.00 sec)

注:并发请求数量通常会远小于同一时间内连接到数据库的连接数数量。

2.4 监控innodb阻塞情况

a. innodb


三、对主从复制进行监控

3.1 主从复制链路状态的监控

3.2 主从复制延迟时间的监控

3.3 定期确认主从复制的数据是否一致



举报

相关推荐

0 条评论