fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Бізнес

check_mysql_replica моніторимо реплікації MySQL в FreeBSD

При використанні MASTER-MASTER реплікацій, я регулярно стикався з проблемами втрати зв’язку і “відставання” одного сервера від іншого. Найчастіше це виникає при обривах зв’язку між ними. MySQL досить коректно перепідключається і відновлює реплікацію, проте на це може піти кілька хвилин. Щоб бути в курсі та моніторити дані перерви, був знайдений плагін check_mysql_replica.
Плагін працює за простою схемою – підключається до кожного з двох серверів:
– перевіряє змінні Slave_IO_Running і Slave_SQL_Running, що видаються за запитом show slave status. При запущеній реплікації і з’єднанні вони повинні бути “Yes”.
– порівнює позиції бінарних логів по командам show slave status і show master status на різних серверах. В ідеалі вони повинні бути однакові, що означає, що обидва сервера повністю відтворена.
Установка й настроювання.
Створюємо користувачів на обох mysql, що мають права на виконання запитів show slave status і show master status. Для свого я поставив права SUPER, REPLICATION SLAVE, REPLICATION CLIENT.
Качаємо і встановлюємо плагін:
cd /usr/local/libexec/nagios/
fetch
chmod 755 check_mysql_replica
Редагуємо в плагіні рядки:
SLAVEIP=10.1.1.1
MASTERIP=10.2.2.2
REPLUSERNAME=nagios
REPLPASSWD=nagios
Тут думаю все зрозуміло 🙂
CRITICAL_VALUE=500
WARNING_VALUE=200
Це різниця в позиції бінарних логів. Підбираємо під себе досвідченим шляхом..
commands.cfg
define command{
command_name check_mysql_replica
command_line $USER1$/check_mysql_replica
}
server.cfg
define service{
use local-service ; Name of service template to use
host_name 10.1.1.1
service_description MySQL Replica
check_command check_mysql_replica
}
Інформація черпалася з сайту записки системного адміністратора Mahn0