乐趣区

关于php:HeartbeatOne-一个由PHP实现的MySql主服务器复制MasterSlave延迟时间检查器工具

HeartbeatOne

一个由 PHP 实现的 MySql 主服务器复制 (Master/Slave) 延迟时间查看器工具,原理同 pt-heartbeat 相似。

工具截图

(命令行执行运行示例)

(日志文件内容示例)

装置 & 应用

装置

下载本工具脚本源码,部署至您的具备 PHP 运行环境并可连贯通被监控 MySQL 的服务器。

设置

依据您的理论状况批改配置文件

<?php

/**
 * Default setting sample
 * 
 */

return [
    'mysqlMasterHost' => '', // Write server host'mysqlMasterUser'=>'',

    'mysqlMasterPwd' => '','mysqlSlaveHosts'=> [], // Slaves host of the master'mysqlSlaveUser'=>'', // Read server username

    'mysqlSlavePwd' => '','interval'=> 1, // Frequency for update monitor time in seconds'averages'=> [1, 5, 30], // Latest period slave lagging average time in seconds, can be more than three and even more, su as [1, 5, 30, 60 ...]'logFilePath'=>'/val/logs/','logFileName'=>'HeartbeatOne-Monitor','mysqlDriver'=>'mysqli', // Only support `mysqlli` or `PDO` driver
];

初始化监控数据库

导入 heartbeat.sql 文件至您的 MySQL 主 (Master) 服务器,实现初始化。

运行

在命令行 CLI 环境下执行以下命令,如果一切正常,将能看到 MySQl read/write 相干机器的提早数据打印,同时将记录到 log 文件。

php heartbeat.php

在生产环境,能够设为后盾运行 job,只记录 log 日志疏忽输入。

nohup php heartbeat.php > /dev/null &

细节

  • 留神! 监控的日志文件将每 24 小时被清空从新创立。

源码地址

https://github.com/lijiebin/H…

退出移动版