1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/JohnBeanLee-HeartbeatOne

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 2.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 03.12.2024 12:36 60a6332

HeartbeatOne

Реализация проверки времени задержки репликации master-slave в MySQL с помощью PHP, похожая на pt-heartbeat.

Скриншот

(пример командной строки)
image

(образец файла журнала)
image

Установка и использование

Установка

Скачайте 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 &

Подробности

  • Обратите внимание! Содержимое журнала мониторинга будет очищаться каждые 24 часа.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/JohnBeanLee-HeartbeatOne.git
git@api.gitlife.ru:oschina-mirror/JohnBeanLee-HeartbeatOne.git
oschina-mirror
JohnBeanLee-HeartbeatOne
JohnBeanLee-HeartbeatOne
main