Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Не приходят уведомления в Telegram

Ответить
Настройки темы
Не приходят уведомления в Telegram

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: png 111.png
(181.8 Kb, 2 просмотров)
Тип файла: png 222.png
(35.8 Kb, 1 просмотров)
Тип файла: png 333.png
(30.5 Kb, 2 просмотров)
Тип файла: png 444.png
(57.6 Kb, 2 просмотров)
Всем привет! Задался вопросом настройки Zabbix, столкнулся с проблемой, не приходят уведомления в Telegram.

Общая информация:
- Zabbix 3.2.3
- OS FreeBSD 11.0.

Тело используемого скрипта:

Код: Выделить весь код
# vim /usr/local/etc/zabbix32/zabbix//alertscripts/zabbix_notify.sh

#!/usr/local/bin/bash

TOKEN='тут мой токен'

which curl &>/tmp/telegram.log

if [ $? -ne 0 ] ; then echo 'FAIL: curl not found.' && exit 1 ; fi
if [ $# -ne 3 ] ; then echo 'FAIL: Params not defined.' && echo 'Usage: zabbix-to-telegram-notify.sh TelegramID Subject Message' && exit 1 ; fi

CHAT_ID="$1"
SUBJECT="$2"
MESSAGE="$3"

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" | $

if [ $? -eq 0 ] ; then exit 1 ; fi
Владельцем файла назначен zabbix.
Выполнена команда: chmod +x zabbix_notify.sh

Скрины настроек Zabbix во вложении:

Уведомления исправно приходят на email но не в телеграм.
Если запускать скрипт вручную от любого пользователя, с параметрами:
./zabbix_notify.sh "my ID" "test" "test"
Все, так же исправно.
Надеюсь кто-то подскажет, в чем может быть проблема.

Отправлено: 09:50, 13-06-2017

 

Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Посмотрите в самом Zabbix, Monitoring - Problems, в поле Actions будут Failures, и там Info, где будет описание, почему зафейлилось оповещение.
Заббикс у меня не русифицирован, потому как указанные поля выглядят у вас могу лишь догадываться.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:34, 13-06-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


11.06.2017 22:53:38 Telegram Triggers Telegram Admin (Zabbix Administrator) 282749432 Тема:PROBLEM:Ping state

Сообщение:
Trigger: Ping state
Status: PROBLEM
Severity: Warning
Last value: Down (0)
IP address 192.168.0.101

Item values:

1.ICMP ping (mail.intevtt.gr:icmpping): Down (0)

Original event ID: 77 Отправлено

Вот все, вроде бы, ок. Но в телеграм не приходят, на мыло приходят нормально.

Отправлено: 15:58, 13-06-2017 | #3


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


То есть, с точки зрения заббикса всё гладко?

Попробуйте получить дамп респонс хедеров, может там будет что-то.
Код: Выделить весь код
curl --dump-header /tmp/dump.txt -s --header 'Content-Type: application/json' --request 'POST' --data "{\"chat_id\":\"${CHAT_ID}\",\"text\":\"${SUBJECT}\n${MESSAGE}\"}" "https://api.telegram.org/bot${TOKEN}/sendMessage" | $
Цитата:
-D, --dump-header <file>
Write the protocol headers to the specified file.

This option is handy to use when you want to store the headers that an HTTP site sends to you. Cookies from the headers could then be read in a second curl invocation by
using the -b, --cookie option! The -c, --cookie-jar option is a better way to store cookies.

When used in FTP, the FTP server response lines are considered being "headers" and thus are saved there.

If this option is used several times, the last one will be used.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:06, 13-06-2017 | #4


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, с его точки зрения все, ок. Спасибо, сейчас попробую.

Отправлено: 16:19, 13-06-2017 | #5


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Создается впечатление, что zabbix вообще не дергает даже скрипт. Если выполняю вручную скрипт с параметрами - "ID" test test - все приходит. И в dump.txt:
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Tue, 13 Jun 2017 13:35:53 GMT
Content-Type: application/json
Content-Length: 217
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains

Если жду алерта от Zabbix, то ничего не происходит, совсем.

Отправлено: 16:39, 13-06-2017 | #6


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата Vandercast:
Создается впечатление, что zabbix вообще не дергает даже скрипт. »
Он бы об этом написал.

Попробуйте в скрипте полный путь к curl прописать. Хотя там проверки есть... И на exit code тоже есть проверка. Вы точно подключили своему юзеру нужное Media?

UPD Подозреваю, что проблема кроется ещё и тут:

Код: Выделить весь код
which curl &>/tmp/telegram.log
Когда вы проверяли скрипт от другого пользователя, этот лог был создан с овнером текущего юзера, а при umask 022 никто, кроме рута не может писать в чужой файл. Скрипт на этом при запуске от юзера заббикса фейлится. Почему это в заббиксе не отражается, не пойму. Скрипт измените так:
Код: Выделить весь код
which curl &>/dev/null

if [ $? -ne 0 ] ; then echo 'FAIL: curl not found.' && exit 1 ; fi
dump.txt тоже не забудьте удалить

Последний раз редактировалось Jula0071, 14-06-2017 в 13:13.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:29, 14-06-2017 | #7


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Итак, после множества тщетных попыток, стала ясна одна вещь - Zabbix не передает параметр chat_id в скрипт.

После создания скрипта с таким содержимым:

Код: Выделить весь код
#!/bin/bash

echo $0 $1 $2 $3 $4 $5 > /tmp/tg.log
В логфайле /tmp/tg.log -
[zabbix@asterisk /usr/local/etc/zabbix32/zabbix/alertscripts]$ cat /tmp/tg.log
Original event ID: 91erconnect.gr:icmpping): Up (1)2749482 OK:Ping state Trigger: Ping state
[zabbix@asterisk /usr/local/etc/zabbix32/zabbix/alertscripts]$

Соответственно, буду копать в этом направлении. Может, кто сталкивался с таким?

Отправлено: 13:25, 14-06-2017 | #8


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата Vandercast:
Zabbix не передает параметр chat_id в скрипт. »
Цитата Jula0071:
Вы точно подключили своему юзеру нужное Media? »
Administration - Users - ваш юзер - Media, в Send To - ваш chat_id.

Отправлено: 13:48, 14-06-2017 | #9


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Jula0071:
Administration - Users - ваш юзер - Media, в Send To - ваш chat_id. »
Тип Отправлять на Когда активен Использовать, если важность Status Действие
Telegram 2827***** 1-7,00:00-24:00 НИПСВЧ Активировано

Отправлено: 14:18, 14-06-2017 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Не приходят уведомления в Telegram

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] не приходят уведомления, что мне на форуме ответили Стрингер О сайте и форуме 4 04-09-2015 11:42
Не приходят уведомления AlexeyN О сайте и форуме 6 23-07-2012 12:38
[решено] Не приходят уведомления на почту dream.reckless О сайте и форуме 4 19-11-2011 23:58
[решено] Не приходят уведомления в PM о перенесенных темах D_Master О сайте и форуме 5 20-09-2008 04:21
Не приходят уведомления Evil О сайте и форуме 4 04-03-2005 14:36




 
Переход