Мониторинг базы данных MySQL в Nagios можно реализовать написав свой скрипт и добавив его в nrpe. Скрипт может быть на любом языке, в простейшем случае — на bash.
Мониторинг базы данных MySQL в Nagios
Nagios — гибкая система, которая позволяет использовать очень большое количество готовых скриптов и задавать всевозможные проверки. Расширять функционал можно за счет собственных скриптов.
Они могут проверять любые условия и любые сервисы. Для пример рассмотрим сервер баз данных MySQL.
Предположим, что с сервера работает один сайт и всегда нужно контролировать возможность подключения к базе.
#!/bin/bash mysql -u USER -pPASSWORD -e "select * from DATABASE.TABLE limit 1;" 1> /dev/null 2>&1 ; if (($? == 0)); then echo "MySQL OK - select * from DATABASE.TABLE succecefull" exit 0 elif (($? > 1 )); then echo "Can't get 1, value is reserved " exit 1 elif (($? == 1 )); then echo "MySQL CRITICAL - can not select * from DATABASE.TABLE" exit 2 else echo "UNKNOWN" exit 3 fi
Файл после указания в нем имени пользователя, его пароля, базы и таблицы можно сохранить по произвольному пути на сервере /opt/mysql.sh
Затем установить бит исполнения
chmod +x /opt/mysql.sh
Скрипт с реквизитами пользователя выбирает одну строку из указанной таблицы и анализирует ответ. Если содержимое получено — возвращается ноль, если нет — возвращается единица и формируется CRITICAL.
Следует выбирать одну из основных таблиц, удаление которое не планируется.
Скрипт можно проверить просто выполняя его из консоли:
/opt/mysql.sh
MySQL OK — select * from DATABASE.TABLE succecefull
Он добавляется в качестве одной из проверок в NRPE
nrpe является отдельным пакетом, если его нет — устанавливается из репозитория
apt-get update && apt-get install nagios-nrpe-server
Проверки добавляются в основной конфигурационный файл /etc/nagios/nrpe.cfg или в один из файлов, подключаемых в нем
mcedit /etc/nagios/nrpe.cfg
…
command1=/opt/mysql.sh
…
Чтобы изменения вступили в силу службу нужно перезапустить
service nagios-nrpe-server restart
Шаблон для собственных скриптов, которые добавляются в Nagios
#!/bin/bash COMMAND if CONDITION; then echo "OK" exit 0 elif CONDITION; then echo "Warning" exit 1 elif CONDITION; then echo "Critical" exit 2 else echo "UNKNOWN" exit 3 fi
Стандартные плагины Nagios размещаются в /usr/lib/nagios/plugins/
Читайте про настройку Nagios сервера.