HeartbeatOne - 一个由PHP实现的MySql主服务器复制(Master/Slave)延迟时间检查器工具

HeartbeatOne

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

工具截图

(命令行执行运行示例)
HeartbeatOne - 一个由PHP实现的MySql主服务器复制(Master/Slave)延迟时间检查器工具_第1张图片

(日志文件内容示例)
HeartbeatOne - 一个由PHP实现的MySql主服务器复制(Master/Slave)延迟时间检查器工具_第2张图片

安装&使用

安装

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

设置

根据您的实际情况修改配置文件

 '', // 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...

你可能感兴趣的:(HeartbeatOne - 一个由PHP实现的MySql主服务器复制(Master/Slave)延迟时间检查器工具)