Мониторинг сети с Nagios 3.x

компьютеры Linux администрирование мониторинг

Уже есть: OpenSUSE 10.3, Nagios 3, PNP для отрисовки графиков. Есть script1.sh, который выводит на stdout некоторое числовое значение. Требуется рисовать график изменения этого значения во времени и вызывать скрипт script2.sh, когда значения выходят за допустимые пределы.

Примечание:
___

Примечание:
да понятно, что в конфиге надо включать, вопрос был в том, как именно))
для тех, кому интересно...

в nagios.cfg:
process_performance_data=1
# и раскомментировать
host_perfdata_command=...
service_perfdata_command=...

в commands.cfg:
define command{
command_name process-host-perfdata
command_line /usr/bin/perl /usr/local/nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
define command{
command_name process-service-perfdata
command_line /usr/bin/perl /usr/local/nagios/libexec/process_perfdata.pl -d SERVICEPERFDATA
}

далее, при объявлении хоста/сервиса при желании собирать данные производительности:
define host {
...
process_perf_data 1
...
}

а теперь, как прикрутить свой скрипт для получения данных:
define command {
command_name check_rand
command_line $USER1$/check_rand
}
define command {
command_name notify_rand
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" >> /var/tmp/my-notifies.txt
}
define contact {
contact_name test-contact
use generic-contact
alias Test Contact
service_notification_commands notify_rand
host_notification_commands notify_rand
email root@localhost
}
define contactgroup {
contactgroup_name testgroup
alias Test Group
members test-contact
}
define service {
host_name localhost
use local-service
service_description Random Test
check_command check_rand
process_perf_data 1
normal_check_interval 0.2
contact_groups testgroup
}

скрипт check_rand поставляет случайные числа, это просто для примера. и для того, чтобы увидеть примерный формат вывода скрипта:
#!/usr/bin/env python
import random
a = random.randint(0, 100)
print "Random Test: %d | rand=%d;90;80;0;100" % (a, a)
exit(0) # 0-OK, 1-WARN, 2-CRIT, см utils.sh в этой папке

теперь 5 раз в минуту можно менять значения exit(?) скрипте и смотресть в папку /var/tmp и читать что получилось.
Ответы:
Не совсем понятно. Легче из скрипта 1 вызывать скрипт 2 с определенными параметрами. А чтобы нагиос рисовал всякую ерундистику нужно perf включить в конфиге.
В идеологи Nagios-а можно сделать несколько проще, нет "необходимости см. куда либо программно" т.к. Nagios сам умеет вызывать нужный скрипт(тот же script2.sh), нужно только оформить его в виде команды и указать в операторе event_handler для описанного сервиса + выставить необходимое кол-во проверок и временные интервалы для наступления события.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.