В этой инструкции описан процесс настройки быстрых уведомлений о состоянии сервисов облака Advanced и отправки их в Telegram-bot. Например, можно организовать работу так, чтобы бот присылал вам уведомления, если потребление vCPU, памяти или диска виртуальной машины превысит заданное пороговое значение.
- Введение
- Архитектура решения
- Создайте топик в сервисе SMN
- Создайте правило в Cloud Eye
- Создайте Telegram-бот
- Создайте функцию в FunctionGraph
Введение
Для настройки и работы быстрых уведомлений потребуются следующие сервисы:
- Cloud Eye
- Simple Message Notification
- FunctionGraph
Архитектура решения
- Cloud Eye — сервис мониторинга, отслеживает состояние облачных ресурсов и оповещает о достижении пороговых значений.
- При достижении пороговых значений аварийный сигнал приходит в Simple Message Notification — сервис для отправки уведомлений о событиях.
- Уведомление из Simple Message Notification становится триггером для запуска функции в FunctionGraph — сервисе для выполнения кода в бессерверной среде.
- FunctionGraph отрабатывает функцию и отправляет запрос в Telegram-бот.
Telegram-бот получает данные, записанные в коде функции, и присылает пользователю уведомление.
Чат-бот в Telegram для уведомлений
Создайте топик в сервисе SMN
В этом примере мы создадим оповещение о превышении пороговых значений CPU в сервисе ECS.
-
Войдите в консоль управления.
- Вход в консоль.
- Инструкция Cloud. Вход в консоль управления .
- Topic Name — введите название топика, например, «CPU-topic».
- Enterprise Project — выберите нужный проект или оставьте по умолчанию «default».
Создайте правило в Cloud Eye
В этом примере мы создадим политику оповещения, при которой каждые пять минут опрашивается состояние виртуальной машины ECS, и бот присылает уведомление при достижение ВМ пороговых значений.
- В панели управления выберите раздел Management = 60 % (укажите нужное процентное значение), Every 5 minutes .
- Alarm Severity — оставьте по умолчанию Major .
Прочие настройки оставьте по умолчанию.
Cloud Eye будет опрашивать состояние виртуальной машины каждые пять минут и при достижении порогового значения пользовательских метрик отправит уведомление с помощью сервиса Simple Message Notification.
Создайте Telegram-бот
Создадим бота, в который будут приходить сообщения.
- Установитe BotFather в Telagram.
- Введите команду /newbot.
- Дайте название боту и укажите сокращенное название.
- BotFather пришлет сообщение об успешном создании бота и токен самого бота.
Создайте функцию в FunctionGraph
Для работы с функцией в FunctionGraph потребуется готовый архив c функцией.
- Перейдите в консоль сервиса Computing → FunctionGraph .
- В боковом меню выберите: Functions → Function List .
- Нажмите Import Function .
- Загрузите ранее скачанный zip-архив с готовой функцией, нажав Select File .
- Откроется окно с настройкой функции. Загруженный из архива код отобразится на вкладке Code .
- Перейдите на вкладку Configuration , чтобы добавить токен бота. Заполните поля:
- Enterprise Project — укажите проект. Выберите тот же проект, к которому принадлежат экземпляры SMN и Cloud Eye.
- Environment Variables :
- Нажмите Edit .
- Из BotFather скопируйте токен бота. Токен находится в сообщении об успешном создании бота и написан после слов «Use this token to access the HTTP API:».
- Вставьте токен в поле Value .
- Нажмите Save .
Уведомления от Binance в Telegram на Python
Внимание Бот должен быть добавлен в чат непосредственно перед подстановкой токена в адресную строку браузера. В этом случае отобразится необходимая информация о chat_id.
-
Вставьте следующий запрос:
https://api.telegram.org/botYourBOTToken>/getUpdates
Пример отображения запроса с подставленным токеном:
https://api.telegram.org/bot5555555:AAGspBtbjz4FXTRA1O8sg11hfgfjgT6NWA/getUpdates
Появится текст с данными бота.
- Нажмите Ctrl + F / Cmd + F (для Mac OS) для поиска по слову «сhat». ID групп всегда начинается с минуса — . Например, «-99999999».
- Скопируйте ID вместе со знаком минуса.
- Пролистайте код до конца страницы.
- Найдите строку с текстом «chat_id».
- Вставьте скопированный chat_id в код функции в соответствующей строке. Нажмите кнопку Save над окном редактирования.
Пример кода после подстановки chat_id
data = «chat_id»: -99999999, #»text»: os.environ[«TEXT»], «text»: text, «parse_mode»: «HTML» >
- Выберите Trigger Type — «Simple Message Notification».
- Выберите Topic Name — название ранее созданного топика SMN.
- Нажмите OK .
Функция настроена для отправки оповещений.
Запустите нагрузочное тестирование для нужного параметра, чтобы проверить работу оповещений. Для этого можно использовать инструмент Cloud Performance Test Service.
Источник: cloud.ru
Настроить уведомления
При помощи блока «Уведомления» вы можете быстро получать ответы пользователей из чат-бота (например их данные) прямо в свой Telegram, не заходя в личный кабинет.
Прежде чем настраивать уведомления, зайдите в Telegram и создайте группу. Там будут отображаться все уведомления (сообщения пользователей), которые вы хотите собирать.
Придумайте название группы, в которую будут поступать уведомления.
В поиске найдите созданного вами бота по названию и добавьте в группу.
Далее нажмите «Создать»
Теперь перейдите в личный кабинет Unisender. Откройте чат-карту бота и добавьте в нее блок «Уведомление» (после блока «Сбор данных»). Для этого кликните на нужный блок слева и перетяните его в рабочую область.
Если вы добавляете уведомления в чат-карту, к которой бот не подключен, справа вы увидите сообщение о том, что его надо подключить.
Нажмите на кнопку «Подключить бота» и следуйте инструкции.
Теперь кликните на добавленный блок и укажите, какие данные передавать в тексте уведомлений. Для этого выберите нужную переменную в блоке редактирования. Сейчас это могут быть только имя, телефон и email.
Далее из выпадающего списка выберете созданную на предыдущем шаге группу в Telegram.
Теперь запустите бота.
После того как контакт дойдет до блока «Сбор данных» и бот запросит информацию, клиент сможет оставить свои данные, а вы получите уведомление в группе в Telegram.
Источник: www.unisender.com
ZABBIX. Оповещения через telegram
4 версия ZABBIX позволяла отправлять оповещения в Telegram с помощью сторонних скриптов. Начиная с 5 версии ZABBIX скрипт оповещений о проблемах встроен в систему.
Для начала нам понадобятся:
– Бот Telegram, который будет отправлять сообщения
– Группа Telegram, куда бот будет отправлять сообщения
Создание и настройка бота Telegram
Отправлять оповещения будет бот Телеграм, его разумеется нужно создать. Находим в системе:
и пишем ему сначала:
/start
/newbot
Вводим имя нового бота два раза, оно должно заканчиваться на bot.
При получении ошибки “Sorry, this username is invalid.” попробуйте более длинные или более короткие названия, например test32309588_bot
В ответ получаем token бота, сохраните его:
Создаем группу Telegram, узнаем ID группы Telegram
Далее, создаем группу Телеграмм и не забываем добавить в нее нашего нового бота, иначе он не сможет отправлять в нее сообщения.
Чтобы узнать ID группы Телеграм, нужно добавить в эту группу еще одного бота (после проверки бота можно из группы удалить):
и написать в свою же группу команду
/getgroupid
бот покажет вам ID группы Telegram для отправки уведомлений
Если вы хотите чтобы бот отсылал оповещения в группу, то не забывайте, что ID группы пишется со знаком “–” вначале: -7919825427
Проверка отправки сообщений в Telegram непосредственно с сервера
Таким образом, вы имеете API токен для своего бота вида:
1434566953:AAGPIL3BnDrn2HAf9mOHV2Nu7eSsKKE
И вы имеете ID своей группы Telegram вида:
-791982427
Проверим, работают ли уведомления. Для этого заходим на сервер Заббикс по SSH и даем команду:
curl —header ‘Content-Type: application/json’ —request ‘POST’ —data ‘ваш_ID»,»text»:»Проверяю отправку оповещений ботом»>’ «https://api.telegram.org/bot1434566953:AAGPIL3BnDrn2HAf9mOHV2Nu7eSsKKE/sendMessage»
Вместо красного шрифта вставьте ваши данные.
Вам в группу придет сообщение:
Значит, все работает. Прекрасно!
К слову, вы не сможете отправить таким образом сообщение пользователю а не группе, получите ошибку:
Настройка zabbix на отправку уведомлений
В web-интерфейсе zabbix добавляем новый способ оповещения.
Администрирование -> Способы оповещений.
Начиная с 5-й версии, в Zabbix из коробки работают уведомления в telegram через механизм webhook. Выбирайте Telegram.
Внутри увидите некоторые параметры. Можно так же посмотреть текст скрипта, который используется для отправки оповещений. В целом, тут сейчас не обязательно что-то менять. Дефолтные настройки полностью рабочие. Надо только указать токен бота.
Не отходя от кассы нажимаем Test для проверки. Вводим ID своего аккаунта Telegram в поле “To” и токен бота в поле “Token”:
И получаем еще одно уведомление.
Если хотите отправить оповещение в группу, то сначала создайте ее, а потом добавьте туда бота.
Не потеряйте “минус” в id группы. Его тоже нужно указывать.
Добавляем новый способ оповещения пользователю
Администрирование -> Пользователи -> выбираем нужного (или создаем нового)-> Оповещения -> Добавить
Не забывайте в конце нажать “Добавить”, иначе придется заводить заново.
Настраиваем действие отправки
Настройка -> Действия -> Действия триггеров
Создать новое действие или склонировать и подправить уже существующее действие:
Можно настроить на конкретные триггеры через “Условия”.
Диагностика неисправностей
1. Мониторинг – Проблемы.
Справа отображаются действия по каждой проблеме и куда были отправлены оповещения.
2. Отчеты – Журнал действий.
Очень наглядно можно увидеть были ли отправлены оповещения и были ли с ними ошибки.
Сцылочки
Один комментарий
спасибо. помогло. если бы можно было увеличивать изображения было бы удобнее. сделал наконец уведомления в телегу))). зашел к вам в статью ради раздела “действия”. много у кого не описано, что здесь нужно добавлять методы оповещения “все”.
Источник: umnoe-gelezo.ru