Вы можете использовать мессенджер Telegram для получения уведомлений о состоянии виртуальных машин и узлов кластера. Для отправки уведомлений VMmanager использует Telegram-бота.

Чтобы настроить отправку уведомлений в Telegram:

  1. Создайте бота в Telegram.
  2. Подключите бота к VMmanager.
  3. Добавьте Telegram в качестве канала уведомлений.

Настройка на стороне Telegram


  1. Откройте диалог с ботом @BotFather.
  2. Отправьте команду /newbot.
  3. Введите название бота. Например, VMmanager Notifier.
  4. Введите имя пользователя для бота. Оно должно оканчиваться сочетанием "bot". Например, vmnotifybot.
  5. Сохраните значение токена из ответа.
  6. Добавьте бота в группу Telegram для отправки уведомлений. 

    Чтобы бот мог отправлять сообщения пользователю Telegram, пользователь должен открыть диалог с ботом и нажать Запустить.

Пример создания бота

Настройка на стороне VMmanager


Подключение бота

  1. Перейдите в МессенджерыПодключить мессенджер.
  2. Вставьте Токен Бота.
  3. Нажмите Активировать.
  4. Выберите нужные чаты для отправки уведомлений.
  5. Выберите Язык сообщений.
  6. Нажмите Сохранить.

Чтобы изменить настройки бота, нажмите значок → введите Токен БотаСохранить.

Чтобы удалить подключенного бота, нажмите значок Удалить ботаУдалить.

Пример подключения бота

Управление каналами

В разделе Мессенджеры вы можете управлять каналами, в которые бот будет отправлять сообщения. Каналами могут быть группы и отдельные пользователи Telegram.

Для добавления канала:

  1. Нажмите Добавить канал.
  2. Выберите Язык сообщений.
  3. Укажите произвольное Имя канала.
  4. Выберите канал из списка или Введите ID чата.
  5. Укажите произвольное Примечание для канала.
  6. Нажмите Добавить.

Чтобы изменить настройки канала, нажмите значок .

Чтобы включить/отключить отправку сообщений в канал, нажмите переключатель .

Чтобы удалить канал, нажмите .

Интерфейс раздела "Мессенджеры"

Добавление канала к уведомлению

Чтобы использовать Telegram в качестве канала уведомления:

  1. Перейдите в раздел "Центр уведомлений":Настройка уведомлений.
  2. Нажмите на название уведомления.
  3. Выберите каналы в поле В каналы мессенджеров.
  4. Нажмите Сохранить.

Подробнее об управлении уведомлениями см. в статье Уведомления.


Добавление канала уведомления

Настройка одновременной отправки уведомлений


По умолчанию VMmanager одновременно отправляет не более пяти уведомлений в Telegram. Чтобы изменить этот параметр:

  1. Подключитесь к серверу с VMmanager по SSH.
  2. Перейдите в докер-контейнер vm_msgsender_1: 

    docker exec -it vm_msgsender_1 bash
    BASH
  3. Добавьте в секцию [program:msgs_writer] конфигурационного файла /etc/supervisord.conf.d/msgsender.conf параметр:

    environment=TELEGRAM_TASK_LIMIT=<number>
    CODE

    <number> — число одновременно отправляемых уведомлений

    Не рекомендуем устанавливать значение параметра <number> выше 10. Это может привести к блокировке бота со стороны Telegram.

  4. Выполните команду: 

    supervisorctl update
    BASH
  5. Выйдите из докер-контейнера: 

    exit
    BASH

Чтобы проверить работу одновременной отправки сообщений:

  1. Подключитесь к серверу с VMmanager по SSH.
  2. Подключитесь к базе данных платформы: 

    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"
    BASH
  3. Выполните запрос: 

    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
  4. Выйдите из консоли MySQL: 

    exit
    BASH


Может быть полезно

Связанные статьи: