PMP自定义监控项

PMP虽然提供了191个监控项,但还缺少了很多常用的监控指标,比如:

  • QPS(Queries Per Second):每秒的查询数,对数据库而言就是数据库每秒执行的SQL数(含 insert、select、update、delete 等);
  • TPS(Transactions Per Second):每秒的事务数,TPS对于数据库而言就是数据库每秒执行的事务数,以commit和reooback的成功次数为准;
  • IOPS(Input/Output Operations Per Second):每秒磁盘进行的I/O操作次数。

因此,我们需要在原来的基础上添加一些自定义的监控项,完善监控系统。

PMP添加监控项是基于ss_get_mysql_stats.php文件做修改。下面以TPS为例进行自定义监控指标。

1)向ss_get_mysql_stats.php添加监控项

根据TPS的定义,计算公式为:

  • TPS = (Com_commit + Com_rollback) / Uptime

这三个状态变量在mysql中用以下方式查看:

mysql> show global status like 'com_commit'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Com_commit | 1 | +---------------+-------+ 1 row in set (0.00 sec) mysql> show global status like 'com_rollback'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Com_rollback | 0 | +---------------+-------+ 1 row in set (0.00 sec) mysql> show global status like 'uptimes'; Empty set (0.00 sec) mysql> show global status like 'uptime'; +---------------+--------+ | Variable_name | Value | +---------------+--------+ | Uptime | 867149 | +---------------+--------+ 1 row in set (0.00 sec)