LINUX.ORG.RU

Зависит от «программу типа Help Desk». Алерты это команды — скрипты. Всё что можно сделать из скрипта сможет и nagios.

anonymous ()

спрашивай cli-утилиты заведение тикетов или инцидентов у вендора своего helpdesk

напиши обёрточку или особый формат вызова command-ы типа такие, который например принимает аргументы в каком-то таком виде

define command{
 command_name    notify-host-to-helpdesk
 command_line    $USER1$/notify-host-to-helpdesk.sh "$HOSTNAME$" "$HOSTADDRESS$ is $HOSTSTATE$" 
}

$USER1$/notify-host-to-helpdesk.sh совершаешь заведение инцидента.

Заводишь контакт, вешаешь ему эти команды в качестве service_notification_commands, host_notification_commands
define contact{
        contact_name                    helpdesk
        alias                           helpdesk
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,c,r
        host_notification_options       d,u,r
        service_notification_commands   notify-service-to-helpdesk
        host_notification_commands      notify-host-to-helpdesk
        }


хостам, сервисам, группе сервисов, дописываешь (можно через запятую) чтобы уведомлять также в хелпдеск.
contacts                  admin,helpdesk

bl ★★★ ()
Последнее исправление: bl (всего исправлений: 1)
Ответ на: комментарий от bl

Я так примерно и сделал, но как передать атрибуты.

Смысл в чем: есть сервер Nagios (192.168.1.1) и сервер ServiceDesk (SD) (192.168.2.2). HD может сгенерировать событие через RestFul API http://1192.168.2.2:8080/sd/services/rest/create/currency/... Либо с помощью SOAP-сервисов <ser:createRequest> Как Nagios должен пнуть HD, чтобы он это сделал?

artnov ()

Re: Я так примерно и сделал, но как передать атрибуты.

происходит событие, нагиос запускает заданный скрипт и передаёт ему информацию о событии (посмотри как вызывается скрипт отправляющий email уведомления), скрипт как угодно обрабатывает полученные параметры и как-нибудь дёргает ServiceDesk
У Нагиоса очень подробные и более-менее вменяемые доки, почитай их.

MrClon ★★★★★ ()
Последнее исправление: MrClon (всего исправлений: 1)

через позиционные параметры можешь разыменовать «макросы» как в примере:

command_line    $USER1$/notify-host-to-helpdesk.sh "$HOSTNAME$" "$HOSTADDRESS$ is $HOSTSTATE$" 

при вызове команды разыменуется пара позиционных параметров, как название хоста из секции host, и «192.168.1.1 is CRITICAL»
далее, например имя хоста я могу подставить в имя configuration item для сервисдеска, и дернуть curl-ом нужный запрос.

http://nagios.sourceforge.net/docs/3_0/macros.html
http://nagios.sourceforge.net/docs/3_0/macrolist.html

bl ★★★ ()
Ответ на: комментарий от bl

Спасибо. Ввел пользователя, добавил в хосты и сервисы.

Прописал command_line $USER1$/notify-host-to-helpdesk «$HOSTNAME$» «$HOSTADDRESS$ $HOSTSTATE$» «$hostoutput$» Тоже и для сервисов. Добавил команды notify-host-to-helpdesk и notify-service-to-helpdesk. А дальше? Нужно создать файл notify-host-to-helpdesk.sh в котором использовать curl? curl -F http://192.168.2.2/sd/services/rest/creat/serviceCall host=«$HOSTNAME$» hostaddr=«$HOSTADDRESS$

artnov ()

Или так curl --data "host=«$HOSTNAME$»&param2=hostaddr=«$HOSTADDRESS$»" http://192.168.2.2/sd/services/rest/creat/serviceCall

Может где есть пример файла notify-host-to...sh? В Nagios нашел что-то похожее, но на php и сложное (для меня).

artnov ()

в скрипт все эти макросы $HOSTNAME$, будут разыменованы нагиосом, как позиционные параметры.
если тебе надо передавать имя хоста, ип хоста в скрипт вызова, передавай только их:

если bash-скрипт, то следует использовать например $1 $2

curl --data "host=$1&hostaddr=$2" http://192.168.2.2/sd/services/rest/creat/serviceCall


к сведению, если скрипт дергает nagios, у него объявлено множество переменных среды окружения типа:
NAGIOS_HOSTNAME=myhostname
NAGIOS_HOSTADDRESS=10.1.1.1
их можно использовать в скриптах проверки, но сложно тестить при написании скрипта.

bl ★★★ ()
Последнее исправление: bl (всего исправлений: 1)

пример нотификации с использованием curl.
https://exchange.nagios.org/directory/Addons/Notifications/send_android/details
данный url с списком параметров отправляет соотв. сообщение на андроид, но отправляет методом post, с использованием утилиты curl.
тебе надо перепилить url и названия используемых параметров.

пример bash-скрипта
https://github.com/Wirehive/nagiosplugins/blob/master/notifications/send_android

bl ★★★ ()
Ответ на: комментарий от bl

Спасибо. Теперь многое стало на свои места.

Но странно, что Nagios XI нет стандартных средств передачи оповещений в другие системы, кроме как кроме sms и e-mail.

artnov ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.