В продолжение прошлой заметки — в этой напишу как автоматизировать проверку идентичности slave сервера в рамках компании.
Основной момент, это определиться с периодом проверки СУБД на идентичность, судя по моему опыту — это раз в неделю, либо после проблем с репликацией. Во всех остальных случаях, если разработчики знакомы с ограничениями MySQL при репликации данных, СУБД ведет себя достаточно стабильно.
Для автоматизации проверки я использую скрипт — mysql_consistency.sh. Скрипт достаточно простой, позволяет автоматизировать проверку СУБД на идентичность, с последующей нотификацией через систему Nagios о имеющихся проблемах.
Для его использования достаточно скачать его и скопировать в нужную вам директорию, в обязательном порядке нужно установить набор утилит Maatkit, иначе скрипт не будет работать, так как не будет необходимых программ для реализации проверки идентичности MySQL серверов.
Перед запуском скрипта необходимо указать в нем логин и пароль, при помощи которых он будет подключаться к СУБД, также, если требуется поддержка Nagios, нужно настроить следующие параметры:
###
# Nagios support variables
# 1 - enable nagios nsca support
# 0 - disable nagios nsca support
###
nagios_support=0
# Name of the nagios service
NAGIOS_SERVICE_NAME="MySQL Checksum Check"
# Set NSCA host and port
NSCA_HOST="localhost"
NSCA_PORT="5667"
nagios_support — включает/выключает поддержку Nagios.
NSCA_HOST — определяет имя сервера, на котором установлен NSCA сервер.
После запуска скрипт запустит mk-table-checksum, который проверит master MySQL сервер, далее при помощи mk-table-sync проверит консистентность slave MySQL серверов. Если включена поддержка Nagios — скрипт отправит сообщение со статусом проверки, как положительным так и отрицательным, NSCA серверу при помощи утилиты send_nsca.
В следующей заметке напишу как настраивать систему мониторинга Nagios для работы с NSCA сервером, в этой настройке есть несколько моментов.