Отправка уведомлений в Telegram
Вы можете использовать мессенджер Telegram для получения уведомлений о состоянии виртуальных машин и узлов кластера. Для отправки уведомлений VMmanager использует Telegram-бота.
Чтобы настроить отправку уведомлений в Telegram:
- Создайте бота в Telegram.
- Подключите бота к VMmanager.
- Добавьте Telegram в качестве канала уведомлений.
Настройка на стороне Telegram
- Откройте диалог с ботом @BotFather.
- Отправьте команду /newbot.
- Введите название бота. Например, VMmanager Notifier.
- Введите имя пользователя для бота. Оно должно оканчиваться сочетанием "bot". Например, vmnotifybot.
- Сохраните значение токена из ответа.
Добавьте бота в группу Telegram для отправки уведомлений.
Чтобы бот мог отправлять сообщения пользователю Telegram, пользователь должен открыть диалог с ботом и нажать Запустить.
Пример создания бота
Настройка на стороне VMmanager
Подключение бота
- Перейдите в
→ Мессенджеры → Подключить мессенджер.
- Вставьте Токен Бота.
- Нажмите Активировать.
- Выберите нужные чаты для отправки уведомлений.
- Выберите Язык сообщений.
- Нажмите Сохранить.
Чтобы изменить настройки бота, нажмите значок → введите Токен Бота → Сохранить.
Чтобы удалить подключенного бота, нажмите значок → Удалить бота → Удалить.
Пример подключения бота
Управление каналами
В разделе → Мессенджеры вы можете управлять каналами, в которые бот будет отправлять сообщения. Каналами могут быть группы и отдельные пользователи Telegram.
Для добавления канала:
- Нажмите Добавить канал.
- Выберите Язык сообщений.
- Укажите произвольное Имя канала.
- Выберите канал из списка или Введите ID чата.
- Укажите произвольное Примечание для канала.
- Нажмите Добавить.
Чтобы изменить настройки канала, нажмите значок .
Чтобы включить/отключить отправку сообщений в канал, нажмите переключатель .
Чтобы удалить канал, нажмите .
Интерфейс раздела "Мессенджеры"
Добавление канала к уведомлению
Чтобы использовать Telegram в качестве канала уведомления:
- Перейдите в раздел "Центр уведомлений":
→ Настройка уведомлений.
- Нажмите на название уведомления.
- Выберите каналы в поле В каналы мессенджеров.
- Нажмите Сохранить.
Подробнее об управлении уведомлениями см. в статье Уведомления.
Добавление канала уведомления
Настройка одновременной отправки уведомлений
По умолчанию VMmanager одновременно отправляет не более пяти уведомлений в Telegram. Чтобы изменить этот параметр:
- Подключитесь к серверу с VMmanager по SSH.
Перейдите в докер-контейнер vm_msgsender_1:
docker exec -it vm_msgsender_1 bash
BASHДобавьте в секцию [program:msgs_writer] конфигурационного файла /etc/supervisord.conf.d/msgsender.conf параметр:
environment=TELEGRAM_TASK_LIMIT=<number>
CODEПояснения<number> — число одновременно отправляемых уведомлений
Не рекомендуем устанавливать значение параметра <number> выше 10. Это может привести к блокировке бота со стороны Telegram.
Выполните команду:
supervisorctl update
BASHВыйдите из докер-контейнера:
exit
BASH
Чтобы проверить работу одновременной отправки сообщений:
- Подключитесь к серверу с VMmanager по SSH.
Подключитесь к базе данных платформы:
docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
BASHВыполните запрос:
SELECT id, name, lock_tag from taskmgr_task WHERE name = 'msgsender_telegram_send' ORDER BY id desc LIMIT 10;
SQLЧисло в столбце lock_tag показывает номер сообщения в очереди.
Пример ответа
+-------+-------------------------+--------------------------------+ | id | name | lock_tag | +-------+-------------------------+--------------------------------+ | 11493 | msgsender_telegram_send | ["msgsender_telegram_send.6"] | | 11492 | msgsender_telegram_send | ["msgsender_telegram_send.5"] | | 11485 | msgsender_telegram_send | ["msgsender_telegram_send.4"] | | 11484 | msgsender_telegram_send | ["msgsender_telegram_send.3"] | | 11483 | msgsender_telegram_send | ["msgsender_telegram_send.2"] | | 11482 | msgsender_telegram_send | ["msgsender_telegram_send.1"] | | 11481 | msgsender_telegram_send | ["msgsender_telegram_send.7"] | | 11480 | msgsender_telegram_send | ["msgsender_telegram_send.10"] | | 11479 | msgsender_telegram_send | ["msgsender_telegram_send.9"] | | 11478 | msgsender_telegram_send | ["msgsender_telegram_send.8"] | +-------+-------------------------+--------------------------------+
CODEВыйдите из консоли MySQL:
exit
BASH
Может быть полезно
Связанные статьи: