Архив за Март 2010

Настройка NSCA сервера для системы мониторинга Nagios

В данной заметке я напишу как настроить NSCA демона для работы системы проверки идентичности MySQL сервера.

Для корректной работы NSCA у вас уже должна быть установлена и настроена система мониторинга Nagios, то есть как минимум пробники для сервера localhost должны проверяться и отображаться корректно. Далее, необходимо установить NSCA сервер, в RHEL 5 это можно сделать командой (предварительно подключив epel репозиторий):

После установки управление демоном происходит при помощи скрипта /etc/init.d/nsca, управление конфигурацией происходит при помощи файла /etc/nagios/nsca.cfg. Необходимо проверить, что путь до command_file указан верный, либо исправить, если это не так. У меня данный параметр настрен следующим образом:

Все данные, что NSCA получает по сети он будет обрабатывать и записывать в этот файл, далее Nagios разберет полученную информацию, и, если нет ошибок, обработает и покажет в системе мониторинга.

После вышеописанных действий NSCA сервер настроен, осталось настроить клиента. Для этого устанавливаем его на сервере при помощи команды:

Конфигурационный файл /etc/nagios/send_nsca.cfg в правках не нуждается, проверить корректность работы утилиты send_nsca можно следующим образом – запустить ее со следующими параметрами:

“echo -e” – передает на через pipe утилите send_nsca специальную строку с указанием сервера, сервиса, состояния (0 – все ок, 1 – Warning, 2 – Error, 3 – Unknown), параметр -e отвечает за обработку управляющих символов, то есть \t – табуляция, \n – перевод строки.

nsca.server.hostname – DNS адрес или IP адрес сервера.

После проверки при помощи send_nsca корректной работы связки nsca client – nsca server, осталось настроить систему мониторинга Nagios.

Для этого нужно создать шаблон для сервиса с типом passive, я использую следующий:

Измените его под свои настройки Nagios, и проверте, что у вас есть timeperiod c именем never и содержимым:

Этот период задает нулевую периодичность для проверки сервисов с типом passive. После вышеописанной настройки осталось настроить сам сервис, например так:

Перезапускаем Nagios, для хоста, у которого мы настроили сервис MySQL Checksum Check он находится в состоянии pending, после отправки при помощи send_nsca сообщения указанного выше, через некоторое время он должен перейти в состояние ОК.

Название сервиса MySQL Checksum Check должно быть одинаковым как в конфигурации Nagios, так и для утилиты send_nsca, иначе Nagios не сможет обработать сообщение полученное от NSCA сервера.

Проверка идентичности MySQL Slave сервера, часть 2

В продолжение прошлой заметки – в этой напишу как автоматизировать проверку идентичности slave сервера в рамках компании.

Основной момент, это определиться с периодом проверки СУБД на идентичность, судя по моему опыту – это раз в неделю, либо после проблем с репликацией. Во всех остальных случаях, если разработчики знакомы с ограничениями MySQL при репликации данных, СУБД ведет себя достаточно стабильно.

Для автоматизации проверки я использую скрипт – mysql_consistency.sh. Скрипт достаточно простой, позволяет автоматизировать проверку СУБД на идентичность, с последующей нотификацией через систему Nagios о имеющихся проблемах.

Для его использования достаточно скачать его и скопировать в нужную вам директорию, в обязательном порядке нужно установить набор утилит Maatkit, иначе скрипт не будет работать, так как не будет необходимых программ для реализации проверки идентичности MySQL серверов.

Перед запуском скрипта необходимо указать в нем логин и пароль, при помощи которых он будет подключаться к СУБД, также, если требуется поддержка Nagios, нужно настроить следующие параметры:

nagios_support – включает/выключает поддержку Nagios.

NSCA_HOST  – определяет имя сервера, на котором установлен NSCA сервер.

После запуска скрипт запустит mk-table-checksum, который проверит master MySQL сервер, далее при помощи mk-table-sync проверит консистентность slave MySQL серверов. Если включена поддержка Nagios – скрипт отправит сообщение со статусом проверки, как положительным так и отрицательным, NSCA серверу при помощи утилиты send_nsca.

В следующей заметке напишу как настраивать систему мониторинга Nagios для работы с NSCA сервером, в этой настройке есть несколько моментов.