<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Managed Kubernetes — разверните готовый кластер за 5 минут →
Вход / Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

TWC Alert Bot

TWC Alert Bot — аддон для Kubernetes, который отправляет уведомления о событиях в кластере в Telegram, Discord или Slack. Он отслеживает рестарты подов, ошибки liveness- и readiness-проб, недоступность нод и другие потенциально критичные события. Дополнение поможет быстро реагировать на проблемы и поддерживать стабильность инфраструктуры.

Установка

Перейдите во вкладку «Дополнения» в панели управления кластером и нажмите на карточку аддона «TWC Alert Bot».

Image 20250917162010743

Обязательный параметр для работы уведомлений — clusterName. Это произвольное имя кластера, которым будут подписываться уведомления. По умолчанию используется имя кластера.

Параметры для подключения Telegram, Slack или Discord описаны в разделе о настройке уведомлений.

Сами уведомления настраиваются в секции alerts: в манифесте. Доступные варианты:

Параметр

Описание

podRestarts

Алерты по рестартам контейнеров в подах

podAddDelete

Алерты при создании и удалении подов

workloadAddDelete

Алерты при создании и удалении деплойментов

serviceAddDelete

Алерты при создании и удалении сервисов

podPendingError

Алерты по зависшим или ошибочным подам (Pending, Unknown)

probesFailures

Алерты по сбоям liveness- и readiness-проб

nodeNotReady

Алерты при переходе ноды в состояние NotReady

nodeResources

Алерты по превышению порогов CPU/Memory на нодах

warnEvents

Алерты по прочим Warning-событиям (например, FailedScheduling)

После настройки нажмите «Установить».

Image 20250917162500189

Проверьте, что установка завершена корректно. Для этого выполните команду

kubectl get all -n twc-alert-bot

Вы увидите примерно такой вывод:

NAME                                 READY   STATUS    RESTARTS   AGE
pod/twc-alert-bot-7955f9c94b-j57w6   1/1     Running   0          19s

NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/twc-alert-bot   1/1     1            1           19s

NAME                                       DESIRED   CURRENT   READY   AGE
replicaset.apps/twc-alert-bot-7955f9c94b   1         1         1       19s

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

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

Telegram

Чтобы бот отправлял уведомления в Telegram, укажите в конфигурации:

telegramEnabled: true

Обязательные параметры для работы уведомлений:

  • telegramBotToken — токен, полученный с помощью бота @BotFather.
  • telegramChatId — ID чата или канала, в который будут отправляться уведомления.
  • clusterName — произвольное имя кластера, которым будут подписываться уведомления.

Получение токена

Токен необходим для управления ботом. Для создания бота перейдите к @BotFather. Создайте нового бота, отправив команду /newbot. Затем укажите имя и юзернейм бота. После этого @BotFather пришлет токен нового бота.

Image 20250916183700806

Этот токен необходимо указать в конфигурации дополнения:

telegramBotToken: "8119738188:AAnjknsd788asd0kl2309s3pipa11239"

Добавьте созданного бота в группу или канал с правом на отправку сообщений.

Получение ID чата

Бот может взаимодействовать с пользователями в канале, группе или личном чате. Чтобы получить нужный chat_id, выполните одно из следующих действий:

  • Добавьте бота в группу
  • Добавьте бота в канал в качестве администратора
  • Откройте личный чат с ботом

После этого отправьте любое сообщение в соответствующий чат (группу, канал или личный).

Затем откройте в браузере ссылку:

https://api.telegram.org/bot<ТОКЕН_БОТА>/getUpdates

Вы увидите JSON с последними сообщениями, полученными ботом. Найдите блок chat.id — он содержит нужный идентификатор:

  • Для групп и каналов — значение будет отрицательным.
  • Для личных чатов — положительным.

Scr 20250918 Kbzc

В конфигурации дополнения укажите полученный ID:

telegramChatId: "-1001236503122"

По умолчанию также включен параметр:

telegramSendTestMessage: true

Благодаря этому параметру бот сразу после установки попытается отправить тестовое сообщение. Если все подключено корректно, вы его увидите.

Slack

Создайте App. Перейдите на страницу создания App, нажмите кнопку «Create an App» и выберите пункт «From scratch». Укажите имя App и выберите воркспейс для подключения. Затем нажмите «Create App».

Image 20250917114319240

Сразу после создания вы будете перенаправлены на страницу настроек App. Перейдите в раздел «Incoming Webhooks», включите вебхуки и создайте новый, нажав кнопку «Add New Webhook».

Image 20250917114613683

В открывшемся окне выберите канал, в который приложение сможет отправлять сообщения. Затем нажмите «Allow».

Image 20250917114645794

После этого вы снова окажетесь на странице настроек, где теперь будет отображаться URL вебхука. Скопируйте его.

Image 20250917120344567

Вернитесь к конфигурации дополнения и найдите фрагмент:

webhooks: []
# - type: slack
#   url: "https://hooks.slack.com/services/XXX/YYY/ZZZ"
# - type: discord
#   url: https://discord.com/api/webhooks/...

Удалите квадратные скобки и раскомментируйте строки, связанные со Slack. В поле url укажите URL вебхука, который вы получили ранее. В итоге конфигурация должна выглядеть так:

webhooks:
 - type: slack
   url: "https://hooks.slack.com/services/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Jz"
# - type: discord
#   url: "https://discord.com/api/webhooks/..."

Discord

Создайте вебхук. Для этого перейдите в настройки канала, в который будут отправляться уведомления.

Image 20250917142215743

В открывшемся окне настроек перейдите в раздел «Интеграции» и нажмите кнопку «Создать вебхук».

Image 20250917142629659

Затем в появившемся окне снова нажмите «Создать вебхук». После этого разверните его настройки, нажав на созданный вебхук.

Image 20250917142745076

Скопируйте URL вебхука — он понадобится для настройки интеграции.

Вернитесь к конфигурации дополнения и найдите фрагмент:

webhooks: []
# - type: slack
#   url: "https://hooks.slack.com/services/XXX/YYY/ZZZ"
# - type: discord
#   url: https://discord.com/api/webhooks/...

Удалите квадратные скобки и раскомментируйте строки, связанные с Discord. В поле url укажите скопированный ранее вебхук. Конфигурация должна выглядеть так:

webhooks:
# - type: slack
#   url: "https://hooks.slack.com/services/XXX/YYY/ZZZ"
 - type: discord
   url: "https://discord.com/api/webhooks/14178357700512334/Z97wSlcrpipanjsS5hsbonushUqD5bSg_WcSptOmckvOj0pBslEZrm8"

 

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев