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…
发表回复