OneProxy :: 整合OneAgent性能监控数据,一条命令了解整个集群运行情况。

结合OneAgent性能监控插件,OneProxy可以自动获取后端数据库的负载信息,配合中间件自身收集的各类性能数据,可以很好地了解一个MySQL集群的运行状况。登录OneProxy管理端口后,可以运行“LIST DBLOAD”命令来查看OneAgent收集的后端MySQL的主机负载信息,包括了CPU、连接数、QPS/TPS、数据卷空间、日志生成量等。如下所示:

mysql> list dbload \G
*************************** 1. row ***************************
  GROUP: server1
ADDRESS: 127.0.0.1:3306
 STATUS: UP
   LOAD: 5.660000
    SYS: 18
    USR: 46
    IRQ: 14
    WIO: 0
    IDL: 22
   MEMF: 77
   SESS: 18
   FREE: 19
   CMMT: 0
    INS: 0
    UPD: 0
    DEL: 0
    SEL: 18677
    TRX: 18676
   TRXT: 0
   REDO: 736
1 row in set (0.00 sec)

其中“FREE”字段表示数据目录的可用空间,“TRXT”表示最长的事务时间,MySQL还是比较怕长事务的。在读写分离分库分表的场景下,不需要登录每台服务器,即可判断压力是否平均,可以快速地作出权重调整,并可以自动化整个调节过程。复制相关的信息也可以执行“LIST BACKEND”命令来得到:

mysql> LIST BACKEND \G
......
*************************** 2. row ***************************
    INDX: 2
 ADDRESS: 127.0.0.1:3306
    TYPE: RW
  STATUS: UP
  MARKUP: 1
REQUESTS: 65909691
   POWER: 1
   GROUP: server1
    IS_M: No
    IS_S: No
   MFile: NULL
   DFile: NULL
   RFile: NULL
      IO: NULL
     SQL: NULL
 Seconds: NULL
2 rows in set (0.00 sec)

考虑到OneProxy中间件的重要性,所以我们没有选择内置HTTP服务器来输出这些信息,选择另外搭建Web服务器来输出信息会比较安全。