Мониторинг MySQL в Nagios


Мониторинг базы данных 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 сервера.

Сказать спасибо