- Zabbix, Боль и унижение, или не приходят уведомления
- Мне телеграмма
- Оповещения Zabbix через Telegram
- Добавление бота
- Настройка Zabbix Telegram
- Создание скрипта
- Настройка способа оповещения через telegram
- Добавление способа оповещения пользователю
- Настройка действий
- Заключение
- Telegram закрыл доступ к ботам для «пробива»
Zabbix, Боль и унижение, или не приходят уведомления
Здравствуйте уважаемые знатоки!
Есть у меня определённая проблема, с которой к вам и обращаюсь.
Входные данные:
Zabbix 3.0 установлен на FreeBSD 11.0
Бот для telegram, который отправляет сообщение при переходе по ссылке.
Что я хочу от этого получить:
Я хочу, чтобы при срабатывании триггера, мне в телеграм приходило сообщение.
Что я для этого сделал:
1. Написал небольшой баш скриптик, который выглядит вот так:
и разрешил его выполнение (chmod +x)
2. В кофиге заббикса в переменной «AlertScriptsPath» указал путь к папке с этим скриптом
3. На странице Администрирование > Способы оповещения добавил способ оповещения «Telegram» с указанием названия созданного ранее скрипта.
4. На странице Администрирование > Пользователи, во вкладке Оповещения добавил к своему пользователю способ оповещения, и в соответствующую графу вставил токен, который по идеи должен подставляться в переменную $1, если я всё правильно понял.
5. Создал соответствующие событие и триггер.
И казалось бы, всё должно получиться, но:
Триггер отрабатывает, а сообщения не приходит, хотя если зайти и посмотреть на страничку: Отчёты > Журнал действий, то действие создаётся и статус у него: «Отправлено».
PS Если запустить скрипт из командной строки, предварительно вместо $1, $2 и $3 подставив значения ручками, то сообщение приходит.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Источник
Мне телеграмма
Как помнит внимательный читатель, у меня дома живет контроллер, который автоматизирует некоторые банальные процессы вроде мигания светом, что, без сомнения, и положено всякому контроллеру на основе Arduino.
Но проблема не в этом. А в том, что уведомления о различных событиях я выбрал получать по электронной почте, потому что так было проще всего в самом начале. Теперь же я замучился периодически выгребать кучу статусов из почтового ящика (это необязательно, но для порядка надо), и подумал, что раз есть такой прекрасный Telegram, то почему бы не воспользоваться его талантами в своих целях.
Далее приводятся мои экзистенциальные переживания на тему скрещивания PushingBox, IFTTT и Telegram синей изолентой для получения малобюджетной (и столь же малоумной) системы уведомлений.
Для начала пара слов о предыдущей конфигурации. В далекие времена, в одном из рукавов далекой-далекой галактики бесплатные почтовые сервера разрешали отправлять почту через SMTP по HTTP. То есть, с этой задачей достаточно легко справлялась плата Arduino Uno в дуэте с Ethernet-шилдом.
Потом все дружно перешли на HTTPS/SSL (надеюсь, я правильно излагаю) и пришлось изобретать что-то другое, так как в HTTPS Arduino Uno уже не умеет. Выходом из положения стал сервис уведомлений PushingBox, который получает от Arduino Uno обычный HTTP-запрос, а его параметры использует для отправки письма-уведомления (отправлять письма PushingBox умеет сам).
К слову, эта штука мне понравилась даже больше — работает гораздо быстрее общения с POP/SMTP-сервером.
Что еще лучше, PushingBox умеет выполнять и HTTPS-запросы. И, следовательно, дружит с современными веб-сервисами. Собственно, я уже размышлял на тему, что, наверное, надо сделать своего Telegram-бота и попробовать подружить его с PushingBox, как вдруг увидел, что Telegram уже успешно работает с сервисом автоматизации IFTTT.
И тут я не устоял. Дело в том, что IFTTT настолько же для меня интересен, насколько и бесполезен. Т.е. 99.9% его возможностей мне просто негде применять: в соцсетях неактивен, смартлампочки не покупаю, скучная, словом, личность.
Так что решил, конечно, дать IFTTT шанс.
Для произвольных взаимодействий с внешним миром у IFTTT есть сервис Maker, который умеет отправлять и принимать HTTP-запросы. Для решаемой задачи, разумеется, более актуально второе.
Далее, для работы с Telegram у IFTTT есть вообще специализированный сервис, который позволяет отправлять в чат или группу сообщения, картинки, музыку. Самое главное для меня — возможность отправки сообщения в приватный чат. Мне ведь не нужно, чтобы статусы читал совсем уж кто угодно.
Остается только все связать:
Arduino → PushingBox → IFTTT → Telegram
Отправка запроса с уведомлением в PushingBox лично у меня выглядит примерно так (статусов, конечно, больше и, конечно, добавлена инициализация Ethernet):
Как легко видеть, уведомление передается в параметре &status, которым затем следует манипулировать в пределах PushingBox. Для этого сначала щелкаем My Services и добавляем сервис Custom URL с необходимыми параметрами (они указаны в агитке IFTTT) и запоминающимся именем.
Потом нужно добавить сценарий, который будет использовать данный сервис. И вот здесь как раз пригодится содержание параметра &status, которое в PushingBox присваивается почти одноименной переменной $status$. Вообще, любой параметр, передаваемый в PushingBox трансформируется в одноименную переменную, окаймленную значками нашего бакса.
Итак, щелчок по My Scenarios, где после ввода имени нужно добавить действие. Для действия, связанного с IFTTT понадобится знать ключ авторизации, который отображается на страничке настроек сервиса Maker в IFTTT (нужно войти и/или зарегистрироваться в IFTTT, чтобы увидеть):
Так вот, после нажатия Add an Action, следует выбрать сервис типа Custom URL созданный в PushingBox ранее, а в параметре Data указать остаток строки, который должен передаваться IFTTT для срабатывания условия.
Например, согласно инструкции IFTTT, запрос должен выглядеть так:
Из этого уже (при добавлении сервиса) в PushingBox есть maker.ifttt.com/trigger, поэтому остается добавить событие
Так что в упомянутое выше поле Data смело прописывается следующая комбинация символов:
Повторюсь еще раз, в данном случае $status$ не что-то незыблемое. Ваша переменная может называться как угодно. Но в рамках данного примера я буду придерживаться этой терминологии.
Итак, PushingBox и IFTTT связаны. Осталось привязаться к Telegram, и тут начинается тягомотина. Дело в том, что IFTTT (в отличие от PushingBox) реагирует на конкретные условия и выполняет конкретные действия. Ему нельзя сказать передавать все входящие запросы, подходящие под условия, сразу в Telegram.
Нет, нужно на каждое условие добавлять правило обработки. Поэтому описанную ниже процедуру придется повторить по количеству нужных уведомлений.
Так что переходим в IFTTT:
1) Добавляем новый апплет с сервисом Maker — Receive a web request
2) В поле Event name указываем параметр, который передается через переменную $status$ из PushingBox. В моем случае, это, к примеру, может быть Humidifier_ON (или Intercom_unarmed). С точностью до буквы и регистра.
3) Нажимаем Create trigger и выбираем сервис Telegram для действия по срабатыванию условия. При первом использовании сервиса нужно будет авторизовать бота IFTTT, но это не проблема.
4) В качестве действия — Send message. Здесь уже будут заданы параметры по умолчанию — адрес (чат или группа) и предварительно отформатированное сообщение. Если сообщение вас устраивает — можете пользоваться им или собрать из модификаторов что-то свое. Я же вообще заменил весь текст на более понятное объяснение произошедшего.
Т.е. вместо, скажем,
В случае с Humidifier_ON написал «Увлажнитель включен» (а в случае с домофоном, как на скриншоте — «Домофон: разблокирован»). Именно это сообщение я получу от бота IFTTT при срабатывании указанного условия.
И все эти мучения только для того, чтобы в конце концов увидеть:
Нет, я не спорю. Можно было бы заменить уже Arduino на что-то более продвинутое. Или прикрутить туда ESP8266, для которого уже есть библиотека TelegramBot, которая позволяет отправлять сообщения в Telegram напрямую, без посредников вроде PushingBox или IFTTT.
Возможно, я именно это и сделаю, если PushingBox и IFTTT исчезнут, как AltaVista и Yahoo. Но пока что моя позиция незыблема: мне проще написать несколько строк кода или сконфигурировать софт, чем брать в руки паяльник.
Но я верю, что вы лучше меня, и наверняка сделаете что-то более впечатляющее. А пока что, если у вас есть еще мысли и комментарии, то я и читатели будем вам очень признательны за все.
Источник
Оповещения Zabbix через Telegram
Вы хотите получать уведомления с Zabbix через Telegram? Нет ничего проще!
Вы хотите получать уведомления с Zabbix через Telegram? Нет ничего проще!
Есть для этого готовый бот и Telegram API
Бот присылает все, что было в специальном HTTP GET запросе вида:
TOKEN — токен выданный ботом при его добавлении в список контактов Telegram
MESSAGE — собственно сообщение, которые хотите передать.
Итак, давайте разбираться, что нам для этого надо и что мы получим в итоге.
Добавление бота
После нажатия на START бот пришлет нам уникальный ключ «Token«
Ну вот и все. На этом наше общение с ботом окончено. Теперь только он нам будет писать то, что нам необходимо.
Настройка Zabbix Telegram
Создание скрипта
Данный скрипт сохраняем с произвольным именем, например. telegram.sh в директорию Zabbix’а, где хранятся скрипты уведомлений (в Freebsd по умолчанию это директория:
/usr/local/zabbix32/zabbix/alertscripts/ — (Для версии 3.2)
Делаем наш скрипт исполняемым:
Выдаем zabbix права на этот скрипт:
Настройка способа оповещения через telegram
Имя — Произвольное
Тип — Скрипт
Имя скрипта — так, как вы назвали скрипт при его создании
Параметры срипта:
(Это как раз и есть наши $1, $2 и $3)
И ставим галочку «Активировано«
И нажимаем Добавить (у меня обновить, так как он уже создан у меня)
Добавление способа оповещения пользователю
В появившемся окне выбираем тип — под каким именем мы создали действие, вставляем наш токен, который выдал нам бот и нажимаем «Добавить«
После этого у пользователя в Оповещениях появится новый способ оповещения. Нажимаем «Обновить«.
Теперь нам осталось только создать действий, по которому нам будет приходить какое-либо сообщение.
Настройка действий
Действие:
Имя — Пишем любое понятное для нас имя
Условие — Настраиваем условие, при котором будет происходит наше действие (ниже я приведу пример 1 из своих действий)
Операции:
Выбираем что будет присылаться нам во время срабатывание нашего условия
В операциях нажимаем Новый и добавляем наш способ оповещения:
Должно получиться что то типа вот этого.
На вкдадке Операции восстановления Выбираем в операциях «оповещение о восстановлении», чтобы знать, что проблема ушла.
И нажимаем «Добавить«. В принцип на этом этапе мы уже все настроили!
Заключение
Вот что мы в принципе видим в окне самого Telegram:
Собственно ничего сложного нет. Это настроить гораздо быстрее чем все это прочитать или тем более все это написать. Если возникнут трудности — пишите в комментарии. Постараюсь помочь.
]# wget -O /dev/null http://crierbot.appspot.com/LhbTlCHK. 4gqnwN8kGfE9aJz/send?message=TEST —2019-07-19 14:44:37— http://crierbot.appspot.com/LhbTlCHK. 4gqnwN8kGfE9aJz/send?message=TEST Resolving crierbot.appspot.com (crierbot.appspot.com). 64.233.162.153, 2a00:1450:4010:c05::99 Connecting to crierbot.appspot.com (crierbot.appspot.com)|64.233.162.153|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 0 [text/html] Saving to: ‘/dev/null’ [ ] 0 —.-K/s in 0s 2019-07-19 14:44:38 (0.00 B/s) — ‘/dev/null’ saved [0/0]
Ваш покорный слуга — компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.
Источник
Telegram закрыл доступ к ботам для «пробива»
По информации Telegram-канала «Утечки информации», 12 марта 2021 года Telegram удалил большинство самых популярных ботов для «пробива» из своей платформы. В настоящий момент на платформе закрыт доступ к ботам: «Глаз Бога», «Smart Search Bot», «Архангел» и «Mail Search Bot».
Удаленный аккаунт знаменитого бота для «пробива» — «Глаз Бога».
Примечательно, что с момента блокировки бота «Глаз Бога» до запуска в мессенджере этого же бота по новому адресу, прошло менее часа. Права 14 марта Telegram удалил и резервный аккаунт бота для «пробива» «Глаз Бога», который был создан практически сразу после блокировки основного.
Ранее Роскомнадзор пояснил, что сервисы типа боты для «пробива» нарушают закон о защите персональных данных, так как не получали разрешения на их использования у субъектов данных.
9 марта РКН потребовал от Telegram заблокировать всех ботов, которые собирают, распространяют за оплату и позволяют быстро получить практически все персональные данные любого жителя страны. Ведомство также попросило правоохранительные органы обратить внимание на неправомерные действия этих сервисов и установить причастных к распространению персональной информации владельцев ботов.
В середине февраля российские власти проявили обеспокоенность распространением и доступностью в Telegram множества ботов, которые за невысокую плату предоставляют информацию, включая персональные данные, о жителях страны. Этот рынок продолжает расти, а уровень входа в эту систему стал очень простой. У госрегуляторов нет возможности противодействовать работе ботов для «пробива», а представители мессенжера не особо обращают внимания на факты их присутствия в сервисе.
Источник