Реализация проверки времени задержки репликации master-slave в MySQL с помощью PHP, похожая на pt-heartbeat.
(пример командной строки)
(образец файла журнала)
Скачайте zip-файл этого проекта и разверните его на любом php-сервере, который может получить доступ к серверу MySQL.
Измените файл setting.php
в соответствии с вашей реальной ситуацией.
<?php
/**
* Пример настройки по умолчанию
*
*/
return [
'mysqlMasterHost' => '', // Укажите хост сервера
'mysqlMasterUser' => '',
'mysqlMasterPwd' => '',
'mysqlSlaveHosts' => [], // Хосты ведомых устройств мастера
'mysqlSlaveUser' => '', // Имя пользователя сервера чтения
'mysqlSlavePwd' => '',
'interval' => 1, // Частота обновления времени монитора в секундах
'averages' => [1, 5, 30], // Среднее время задержки ведомого устройства за последний период в секундах, может быть более трёх и даже больше, например [1, 5, 30, 60 ...]
'logFilePath' => '/val/logs/',
'logFileName' => 'HeartbeatOne-Monitor',
'mysqlDriver' => 'mysqli', // Поддерживается только драйвер `mysqli` или `PDO`
];
Импортируйте heartbeat.sql
на главный сервер MySQL, за которым вы хотите следить.
Просто запустите следующую команду в cli, вы увидите отчёт о времени задержки и одновременно запись в журнал, если всё в порядке.
php heartbeat.php
Для продакшена рекомендуется запускать в фоновом режиме, а затем записывать данные о задержке в файл журнала.
nohup php heartbeat.php > /dev/null &
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )