LINUX.ORG.RU
решено ФорумAdmin

Nagios и уведомления через Telegram

 ,


0

1

На днях, попивая смузи, я понял что мне срочно нужно прикрутить уведомления через Telegram к Nagios, ведь кто, если не мы.
Делал по этому гайду: https://smeretech.com/en/to-use-telegram-with-nagios/
И всё вроде просто:

commmands.cfg

define command{
command_name    notify-service-by-telegram
command_line    /usr/bin/curl --data "chat_id=-129423472" --data text="***** Nagios *****Notification Type: $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info:$SERVICEOUTPUT$" https://api.telegram.org/bot165684562:ABHfnrDNpkjrtq9cKrLjWPltIAm7kDM6dWs/sendMessage
}


В консоли эта команда работает, сообщения приходят.
При генерации аларма в нагиосе - тишина.

Логи
/var/log/nagios/nagios.debug:[1518204454.517820] [032.2] [pid=25947] Raw notification command: /usr/bin/curl --data "chat_id=-129423472" --data text="***** Nagios *****Notification Type: $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info:$SERVICEOUTPUT$" https://api.telegram.org/bot165684562:ABHfnrDNpkjrtq9cKrLjWPltIAm7kDM6dWs/sendMessage

/var/log/nagios/nagios.debug:[1518204454.518257] [256.1] [pid=25947] Running command '/usr/bin/curl --data "chat_id=-319923871" --data text="***** Nagios *****Notification Type: PROBLEM Service: Black hawk down Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info:$SERVICEOUTPUT$" https://api.telegram.org/bot165684562:ABHfnrDNpkjrtq9cKrLjWPltIAm7kDM6dWs/sendMessage$'...

Execution time=0.767 sec, early timeout=0, result=0, output={"ok":false,"error_code":404,"description":"Not Found: method not found"}


Смущает символ доллара(/sendMessage$), который берётся на ровном месте.
Он виден и в логах и в дампе трафика, так что ответ 404 в принципе наверное понятен.
Так как нагиос я впервые увидел только на этой неделе, то не пойму откуда ноги растут.
Перебор разных вариантов с кавычками и опциями curl результата не дал, лор, помоги - подскажи как починить нотификашки и curl

★★★★★

Может там винодовый перенос строки закрался в commmands.cfg?

З.ы. у меня в телегу zabbix шлет такой командой:

curl -s --header 'Content-Type: application/json' --request 'POST' --data "{\"chat_id\":\"${CHAT_ID}\",\"text\":\"${SUBJECT}\n${MESSAGE}\"}" "https://api.telegram.org/bot${TOKEN}/sendMessage"

Deleted ()

Заверни весь баш в скрипт, и в команде дергай его, а если религия позволяет то используй перл/питон и апи,и твои волосы будут блестящие и шелковистые

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

Спасибо
Так и не понял, в чём было дело, но в итоге твой синтаксис удалось допилить до работоспособности для моей конфигурации.

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