Заполните данные о состоянии хоста NAGIOS из базы данных - PullRequest
2 голосов
/ 22 февраля 2011

у нас есть сервер Nagios, и мы используем его для мониторинга наших хостов.

Теперь у нас есть старая система, которая сообщает в базе данных mysql о состоянии некоторых конкретных хостов. Мне интересно, есть ли способ (также если есть возможность) написать плагин, который может извлекать данные из базы данных и заполнять монитор Nagios.

Давайте представим, что в базе данных есть таблица, подобная этой: IP, HOSTNAME, STATUS, CPU_TEMP, HDD_TEMP

и я хотел бы получить эти данные на монитор Nagios. Возможно ли это?

Нет способа подключить клиента через демон nagios, я могу только получать данные из этой базы данных.

Спасибо !!! привет

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Если вы можете получить доступ к БД напрямую из nagios, я бы сделал такой сценарий bash, как этот:

mysql -uuser -ppass -H monitoringDb.mydomain.com -e "select HOSTNAME,STATUS,CPU_TEMP,HDD_TEMP from monitoring where STATUS != "OK" OR CPU_TEMP > '40' OR HDD_TEMP > '20'" > /tmp/check_monitoring

if [[ `wc -l /tmp/check_monitoring` > 0 ]]; # If that query returned anything, you have an issue
     then echo "CRITICAL: `cat /tmp/check_monitoring`" && exit 2
fi

echo "OK: Monitoring DB Checks passed" && exit 0

Возможно, в SQL есть одна или две ошибки, но вы должны понять это. Если вы хотите получить фантазию, вы можете сделать больше, если операторы для уровней предупреждения и вернуть 1.

0 голосов
/ 07 марта 2011

вам потребуется создать плагин, который будет подключаться к БД, запросить заданное имя хоста или IP-адрес и проверить, что STATUS находится в пределах параметров.

...