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

Поиск с ClickStack

Оповещения в ClickStack

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

Оповещения могут создаваться напрямую в интерфейсе HyperDX и интегрироваться с популярными системами уведомлений, такими как Slack и PagerDuty.

Механизм оповещений бесшовно работает со всеми вашими данными в ClickStack, помогая отслеживать состояние системы, выявлять регрессии производительности и мониторить ключевые бизнес-события.

Типы оповещений

ClickStack поддерживает два взаимодополняющих способа создания оповещений: оповещения по поиску (Search alerts) и оповещения по графикам дашборда (Dashboard chart alerts). После создания оповещение привязывается либо к поисковому запросу, либо к графику.

1. Оповещения по поиску

Оповещения по поиску позволяют запускать уведомления на основе результатов сохранённого поиска. Они помогают обнаруживать, когда определённые события или паттерны начинают происходить чаще (или реже), чем ожидается.

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

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

Откройте диалоговое окно создания оповещения

Сначала выполните поиск и нажмите кнопку Alerts в правом верхнем углу страницы Search.

Окно поиска с оповещениями

Создайте оповещение

В панели создания оповещения вы можете:

  • Задать имя сохранённому поиску, с которым связано оповещение.
  • Настроить порог и указать, сколько раз он должен быть достигнут в течение заданного периода. Порог также можно использовать в качестве верхней или нижней границы. Указанный здесь период также определяет частоту срабатывания оповещения.
  • Указать значение для grouped by. Это позволяет применить к поиску агрегацию, например по ServiceName, что даёт возможность запускать несколько оповещений от одного и того же поиска.
  • Выбрать webhook-адрес для уведомлений. Вы можете добавить новый webhook прямо из этого окна. Подробнее см. в разделе Добавление webhook.

Перед сохранением ClickStack визуализирует условие срабатывания по порогу, чтобы вы могли убедиться, что оно будет работать ожидаемым образом.

Оповещения по поиску

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

Несколько оповещений

2. Оповещения для графиков на дашборде

Оповещения дашборда распространяют систему оповещений на графики.

Вы можете создать оповещение на основе графика напрямую из сохранённого дашборда, используя полноценные SQL-агрегации и функции ClickHouse для продвинутых вычислений.

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

Примечание

Чтобы для визуализации на дашборде можно было создать оповещение, дашборд должен быть сохранён.

Чтобы добавить оповещение дашборда:

Откройте диалог редактирования графика

Откройте меню настроек графика и выберите кнопку оповещения. Откроется диалоговое окно редактирования графика.

Редактирование оповещения для графика

Добавьте оповещение

Выберите Add Alert.

Добавить оповещение к графику

Задайте условия срабатывания оповещения

Укажите условие (>=, <), порог, продолжительность и webhook. Здесь продолжительность также определяет, как часто будет срабатывать оповещение.

Создать оповещение для графика

Вы можете добавить новый webhook прямо с этого экрана. Подробности см. в разделе Добавление webhook.

Добавление вебхука

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

Вебхук можно создать для разных типов сервисов, включая Slack и PagerDuty, а также для универсальных целей.

Например, рассмотрим создание оповещения для приведённого ниже графика. Перед указанием вебхука пользователь может выбрать Add New Webhook.

Добавить новый вебхук

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

Создание вебхука

Имя вебхука является обязательным, описание — необязательным. Остальные настройки, которые необходимо заполнить, зависят от типа сервиса.

Обратите внимание, что доступные типы сервисов различаются между ClickStack Open Source и ClickStack Cloud. См. раздел Интеграции по типу сервиса.

Интеграции по типу сервиса

Оповещения ClickStack по умолчанию интегрируются со следующими типами сервисов:

  • Slack: отправка уведомлений напрямую в канал через webhook или API.
  • PagerDuty: маршрутизация инцидентов для дежурных команд через PagerDuty API.
  • Webhook: подключение оповещений к любой пользовательской системе или рабочему процессу через универсальный webhook.
Интеграции только для ClickHouse Cloud

Интеграции через Slack API и PagerDuty поддерживаются только в ClickHouse Cloud.

В зависимости от типа сервиса пользователям потребуется указать разные параметры. В частности:

Slack (Webhook URL)

  • URL вебхука. Например: https://hooks.slack.com/services/<unique_path>. Подробности см. в документации Slack.

Slack (API)

PagerDuty API

Generic

  • URL вебхука
  • Заголовки вебхука (необязательно)
  • Тело вебхука (необязательно). В теле на данный момент поддерживаются переменные шаблона {{title}}, {{body}} и {{link}}.

Управление оповещениями

Оповещениями можно централизованно управлять через панель оповещений слева в интерфейсе HyperDX.

Управление оповещениями

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

Просмотр оповещений

В этом представлении также отображается история проверок оповещений. Оповещения проверяются через регулярные промежутки времени (интервал определяется периодом/длительностью, заданными при создании оповещения). Во время каждой проверки HyperDX выполняет запрос к вашим данным, чтобы определить, выполнено ли условие оповещения:

  • Красная полоса: пороговое условие было выполнено во время этой проверки, и оповещение сработало (уведомление отправлено)
  • Зелёная полоса: оповещение было проверено, но пороговое условие не было выполнено (уведомление не отправлено)

Каждая проверка независима — оповещение анализирует данные за соответствующий временной интервал и срабатывает только в том случае, если условие истинно в этот момент.

В приведённом выше примере первое оповещение срабатывало при каждой проверке, что указывает на постоянную проблему. Второе оповещение показывает уже решённую проблему: оно сработало два раза вначале (красные полосы), затем при последующих проверках пороговое условие больше не выполнялось (зелёные полосы).

При нажатии на оповещение вы переходите к диаграмме или поисковому запросу, с которыми связано это оповещение.

Удаление оповещения

Чтобы удалить оповещение, откройте диалог редактирования соответствующего поиска или графика, затем нажмите Remove Alert. В примере ниже кнопка Remove Alert удалит оповещение с графика.

Удаление оповещения с графика

Типичные сценарии оповещений

Ниже приведены несколько распространённых сценариев оповещений, для которых вы можете использовать HyperDX:

Ошибки: Рекомендуем настроить оповещения для стандартных сохранённых запросов All Error Events и HTTP Status >= 400, чтобы получать уведомления, когда возникает слишком много ошибок.

Медленные операции: Вы можете настроить поиск медленных операций (например, duration:>5000), а затем включить оповещения, когда происходит слишком много таких операций.

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