Перейти к основному содержимому

Руководства / Руководства по мониторингу: каждый тип проверки шаг за шагом

Как отправлять оповещения HostTracker в Slack

Оповещения в Slack от HostTracker - это обычный контакт-вебхук HTTP: вставьте в него URL Slack Incoming Webhook, и HostTracker будет публиковать сообщение в этот канал каждый раз, когда один из ваших мониторов меняет состояние. Отдельного типа уведомлений "Slack" на бэкенде не существует. Функция Slack Incoming Webhooks принимает ровно тот вид запроса, что делает HTTP-контакт. Вся интеграция - это один URL, без приложения для установки на стороне HostTracker и без бота для авторизации в Slack.

Как работает интеграция

Когда вы добавляете новый контакт в HostTracker и выбираете Slack в списке типов контакта, вы не создаете под капотом какой-то другой вид контакта. Он хранится как HTTP-контакт, и HostTracker распознает его как назначение Slack по тому, что вставленный вами адрес начинается с https://hooks.slack.com/. Именно эта деталь переключает формат сообщения с обычного JSON-payload на сообщение, совместимое со Slack, поэтому настройка требует только URL и больше ничего.

Настройка оповещений в Slack шаг за шагом

  1. В Slack откройте api.slack.com/apps и выберите Create New App, затем From scratch. Дайте приложению имя, например "HostTracker alerts", и выберите рабочее пространство, куда должны приходить оповещения.
  2. В настройках приложения откройте Incoming Webhooks и включите их.
  3. Нажмите Add New Webhook to Workspace, выберите канал, который должен получать оповещения HostTracker, и нажмите Allow.
  4. Slack сгенерирует URL вебхука, начинающийся с https://hooks.slack.com/services/. Скопируйте его.
  5. В HostTracker добавьте новый контакт, выберите Slack в списке типов контакта, затем вставьте URL вебхука в поле адреса.
  6. Сохраните контакт, затем используйте Send test, чтобы убедиться, что тестовое сообщение доходит до канала, прежде чем на него полагаться.

Если у вас уже есть вебхук, созданный через более старый, ныне устаревший процесс каталога приложений Slack, его URL по-прежнему работает как есть; вставьте его так же. Совершенно новый вебхук должен пройти через процесс на основе приложения, описанный выше, поскольку Slack прекратил поддержку классического процесса для новых настроек.

Как выглядит оповещение в канале

Каждое оповещение приходит как короткое сообщение обычным текстом, а не форматированная карточка. Оповещение Down называет сайт, время и описание сбоя, например таймаут соединения или код ошибки HTTP. Оповещение Up называет сайт, время восстановления и сколько времени он был недоступен. Напоминание о продолжающемся простое повторяет длительность сбоя и ошибку, так что вы можете увидеть, изменилось ли что-то, не открывая HostTracker.

Если несколько ваших мониторов проваливаются в короткое окно времени, HostTracker может объединить их в одно сообщение вместо публикации по одному. Это опция "Group events" на контакте. Более продвинутые пользователи также могут заменить сообщение по умолчанию собственным шаблоном, если он остается валидным JSON вебхука Slack с полем text.

Выбор, какие события доходят до канала

Контакт Slack, как и любой другой контакт, подписывается на конкретные мониторы и конкретные типы событий, а не на весь ваш аккаунт целиком. Есть три события на выбор: Down (сайт только что лег), Up (сайт восстановился) и Repeat (напоминание, что он все еще недоступен). Распространенный паттерн - направлять Down и Up в общий командный канал, чтобы все видели начало и конец инцидента, и оставлять Repeat выключенным, если напоминания были бы шумом, либо включенным для канала, посвященного инциденту, который требует постоянного внимания до устранения.

Диагностика

Несколько вещей ломают интеграцию со Slack без каких-либо видимых признаков, потому что Slack не передает HostTracker ошибку, которую тот мог бы показать внутри приложения:

  • Отозванный или удаленный вебхук. Если приложение Slack было удалено или вебхук был пересоздан, старый URL перестает принимать публикации. HostTracker продолжает отправлять на него, и доставка проваливается, без какого-либо уведомления внутри HostTracker о том, что канал замолчал. Запускайте Send test заново всякий раз, когда кто-то трогает настройки приложения Slack, либо периодически в качестве привычки.
  • Не тот канал. Incoming Webhook привязан к каналу, который вы выбрали при его создании, и не может быть перенаправлен впоследствии. Если оповещения приходят не туда, создайте в Slack новый вебхук для нужного канала и вставьте новый URL в контакт.
  • Архивированный канал. Slack перестает принимать публикации вебхука, как только канал назначения архивируется. Разархивируйте его, либо создайте новый вебхук, указывающий на другой, активный канал, и обновите контакт.
  • Нет прав на добавление приложений. Некоторые рабочие пространства Slack ограничивают, кто может устанавливать новые приложения или подтверждать доступ вебхуков. Если шаг 1 или шаг 3 выше недоступен или заблокирован, попросите администратора рабочего пространства либо создать вебхук за вас, либо выдать вам права на управление приложениями.

Ничего из этого не проявляется как ошибка внутри самого HostTracker. Контакт по-прежнему выглядит сохраненным и активным, поскольку у HostTracker нет способа узнать, что Slack отклонил доставку на своей стороне. Send test после любого изменения на стороне Slack - единственный надежный способ убедиться, что канал по-прежнему получает оповещения.

Связанное чтение

Slack лучше всего работает как один канал в более широкой настройке уведомлений, а не единственный. Полный список каналов и как построить простую цепочку эскалации смотрите в как получать оповещения от HostTracker. О том, что HostTracker проверяет, прежде чем решить, что ваш сайт недоступен, смотрите возможности HostTracker и распределенный мониторинг доступности.

Проверить сейчас

Запустите бесплатную проверку своего сайта - аккаунт не нужен.

Features

Следить за этим постоянно

Получайте оповещение в момент сбоя: HostTracker проверяет более чем из 300 локаций и уведомляет по email, SMS, в Slack, Telegram и не только.

Возможности HostTracker

Ещё в этом разделе: Руководства по мониторингу: каждый тип проверки шаг за шагом