Облачная платформаAdvanced

Настройка OpenSearch Алерт уведомлений через SMN

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

При мониторинге платформ больших данных в реальном времени командам O&M необходимо оперативно получать уведомления о состоянии кластера или любых аномальных изменениях метрик сервиса. Хотя OpenSearch предоставляет мощные возможности поиска, встроенный движок не имеет глубокой интеграции с облачными сервисами уведомлений. CSS решает эту проблему, предлагая встроенные плагины alerting и notification, которые бесшовно интегрируются с сервисом Simple Message Notification (SMN). Такая интеграция обеспечивает высокоавтоматизированный процесс мониторинга: мониторы настраиваются для периодического запроса указанных индексов; триггеры оценивают результаты запросов по предопределённым порогам для выявления аномалий и генерации алертов; CSS затем вызывает API SMN для отправки алертов подписчикам.

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

Открытый плагин OpenSearch alerting (opensearch-alerting) и плагин OpenSearch notifications (opensearch-notifications и opensearch-notifications-core) встроены в кластеры CSS OpenSearch. Они генерируют алерты, когда данные соответствуют предопределённым условиям.

Рисунок 1 Алерт notification link


  1. Монитор определяет условия запроса, например, какой индекс запрашивать и как часто.
  2. Триггер проверяет результаты запроса монитора, чтобы определить, выполнены ли предустановленные условия, вызывающие Алерт (например, count > 100). Если да, он генерирует Алерт и инициирует предопределённое действие.
  3. Назначение/канал — это канал сообщений, определяющий тему SMN, в которую будут отправляться алерты.
  4. Кластеру CSS предоставляется разрешение на доступ к SMN через агентство.
  5. SMN отправляет полученный алерт подписчикам.

Подробнее о плагине alerting см. Alerting - OpenSearch Documentation. Подробнее о плагине notifications см. Notifications - OpenSearch Documentation.

Ограничения

Только кластеры OpenSearch 1.3.6 и 2.19.0 предоставляют встроенный плагин alerting. Только кластеры этих версий поддерживают уведомления об алертах через SMN.

  • Плагин OpenSearch alerting (opensearch-alerting) встроен в кластеры OpenSearch 1.3.6. Этот плагин состоит из трёх компонентов: Alerts, Monitors и Destinations. CSS интегрирует сервис SMN в компонент Destinations, позволяя отправлять уведомления об алертах в сервис SMN в качестве назначения.
  • Both the open-source OpenSearch alerting plugin (opensearch-alerting) and OpenSearch notifications plugin (opensearch-notifications and opensearch-notifications-core) are built into OpenSearch 2.19.0 clusters. The Destinations component of the OpenSearch alerting plugin is now an independent notification plugin that manages notification channels. CSS integrates the SMN service in its Notifications component, so it can use SMN as a notification channel.

Подготовка

  1. Подготовьте необходимый SMN‑топик. Создайте топик в SMN и добавьте подписчиков (номер мобильного телефона или адрес электронной почты). Для получения подробной информации см. "Creating a Topic" и "Adding a Subscription" в Simple Message Notification User Guide.
  2. Предоставьте SMN доступ к CSS. Вы можете настроить IAM agency, чтобы разрешить CSS доступ к SMN.
    1. Используйте учётную запись администратора CSS для выполнения: Log in to the CSS management console.

      Учётная запись администратора CSS должна иметь следующие минимальные IAM‑разрешения:

      "iam:agencies:listAgencies",
      "iam:roles:listRoles",
      "iam:agencies:getAgency",
      "iam:agencies:createAgency",
      "iam:permissions:listRolesForAgency",
      "iam:permissions:grantRoleToAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:revokeRoleFromAgency",
      "iam:roles:createRole"

    2. В панели навигации выберите Service Authorization.
    3. На странице Service Authorization нажмите Create Agency для SMN. В отображённом диалоговом окне подтвердите, что агентство успешно создано.
      • Если агентство уже создано, в правом верхнем углу отображается сообщение «The css_smn_agency already exists. Please check the agency permission.»
      • Если у вас нет разрешения на создание агентства, в правом верхнем углу отображается сообщение об ошибке с текстом «no permission», в этом случае проверьте, что учётной записи администратора назначены необходимые IAM‑разрешения.

Настройка уведомлений Алерт через SMN (OpenSearch 2.19.0)

  1. Log in в консоль управления CSS.

    Log in, используя учётную запись с разрешениями CSS.

  2. В панели навигации слева выберите Clusters > OpenSearch.
  3. В списке кластеров найдите целевой кластер и нажмите Dashboards в столбце Operation, чтобы войти в OpenSearch Dashboards.
  4. В консоли OpenSearch Dashboards разверните меню в левом верхнем углу и выберите Management > Notifications.
  5. Создать канал SMN для отправки сообщений об Алертах.
    1. На странице Channels нажмите Create channel и настройте канал уведомлений.
      Таблица 1 Параметры канала

      Параметр

      Описание

      Имя

      Пользовательское имя канала.

      Описание

      Описание канала.

      Тип канала

      Тип уведомления. Выберите SMN.

      Тема

      Связанная тема SMN. Выберите тему SMN, созданную в Preparations.

      Рисунок 2 Create channel


    2. Нажмите Create.
    3. Вернитесь к странице Channels. Если новый канал отображается, он был успешно создан.

      Рисунок 3 Channels


  6. В консоли OpenSearch Dashboards разверните меню в верхнем левом углу и выберите OpenSearch Plugins > Alerting.
  7. Создайте монитор и триггер, чтобы определить условия срабатывания алерта и интервал мониторинга.
    1. Нажмите вкладку Monitors на странице Alerting и нажмите Create monitor для настройки информации о мониторе.
      Таблица 2 Параметры монитора

      Параметр

      Описание

      Подробности монитора

      Имя монитора

      Имя монитора, задаваемое пользователем

      Тип монитора

      Тип монитора, который может быть:

      • Per query monitor
      • Per bucket monitor
      • Per cluster metrics monitor
      • Per document monitors
      • Composite monitors

      В этом примере выбран Per query monitor. Для получения дополнительной информации см. Monitors в официальной документации OpenSearch.

      Monitor defining method

      Метод определения монитора. Рекомендуется Extraction query editor.

      • Visual editor
      • Extraction query editor
      • Anomaly detector

      Параметры Monitor defining method определяются выбранным Monitor type.

      Detector

      Если Monitor defining method установлен в значение Anomaly detector, выберите задачу обнаружения исключений.

      Frequency

      Выберите частоту мониторинга и задайте интервал мониторинга. Доступные варианты:

      • By interval
      • Daily
      • Weekly
      • Monthly
      • Custom cron expression

      Select data

      Index

      When Monitor defining method is set to Visual editor or Extraction query editor, you need to specify the index to be monitored.

      Time field

      Когда Monitor defining method установлен в Visual editor, необходимо указать поле времени для определения параметров подсчёта, таких как count.

      Query

      Metrics

      Когда Monitor defining method установлен в Visual editor, необходимо задать диапазон метрик для извлечения статистики.

      Time range for the last

      Когда Monitor defining method установлен в Visual editor, необходимо задать диапазон времени мониторинга для плагинов.

      Data filter

      Когда Monitor defining method установлен в Visual editor, необходимо задать фильтры для поиска данных.

      Group by

      Когда Monitor defining method установлен в Visual editor, необходимо указать поле, чтобы любое значение поля всегда вызывало Алерт.

      Define extraction query

      Когда Monitor defining method установлен в Extraction query editor, необходимо ввести оператор запроса для определения мониторинга.

      Request type

      Когда Monitor type установлен в Per cluster metrics monitor, необходимо указать тип запроса для мониторинга метрик кластера, например статус работы и использование CPU.

      Preview query and performance

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

    2. Нажмите Add trigger, чтобы добавить триггеры и указать условия срабатывания Алерта и действия, которые будут выполнены при срабатывании Алерта.
    3. На странице Triggers задайте чувствительность срабатывания Алерта и выпуск сообщения на конечном пункте.
      Table 3 Trigger parameters

      Parameter

      Description

      Define trigger

      Trigger name

      Пользовательское имя триггера.

      Severity level

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

      Trigger condition

      Условие триггера. Алерт срабатывает, когда условие триггера выполнено.

      Configure actions

      Action name

      Имя действия триггера.

      Channels

      Выберите SMN‑канал, созданный в 5.

      Message subject

      Описание сообщения.

      Message

      Тело сообщения Алерта. По умолчанию тема и тело определяются, когда получателем является адрес электронной почты.

      Perform action

      Когда Monitor type установлен в Per bucket monitor, необходимо указать, отправлять ли Алерты в комбинации. Возможные значения:

      • Per execution: При срабатывании нескольких условий срабатывания Алерта отправляется комбинированный Алерт.
      • Per alert: При срабатывании нескольких условий срабатывания Алерта Алерты отправляются отдельно.

      Выполняемые Алерты

      Когда Monitor type установлен в Per bucket monitor, и Perform action установлен в Per alert, необходимо задать Алерты, которые могут быть выполнены после срабатывания условий Алерта.

      • De-duplicated: Алерты, которые уже сработали. OpenSearch сохраняет существующие Алерты, чтобы предотвратить создание дублирующих Алертов плагином.
      • New: Ново‑созданные Алерты.
      • Completed: Алерты, которые более не активны.

      Ограничение

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

      Например, если этот параметр установлен в 10 минут, SMN отправит только одно уведомление об Алерте в течение следующих 10 минут, даже если условие триггера сработает несколько раз. По истечении 10 минут SMN отправит другое уведомление об Алерте, если условие Алерта будет выполнено.

      Figure 4 Настройка назначения действия триггера


    4. Нажмите Send test message, чтобы проверить ссылку уведомления об Алерте.
    5. Как показано на Figure 6, если подписчик темы SMN получает сообщение, уведомление об Алерте настроено успешно.

      Рисунок 5 Отправка тестового сообщения


      Рисунок 6 Уведомление по электронной почте


    6. Нажмите Create чтобы перейти на страницу сведений мониторинга.

Настройка уведомлений Алерт через SMN (OpenSearch 1.3.6)

  1. Войдите в консоль управления CSS.

    Войдите, используя учётную запись с правами CSS.

  2. В панели навигации слева выберите Clusters > OpenSearch.
  3. В списке кластеров найдите целевой кластер и нажмите Dashboards в Operation столбце чтобы войти в OpenSearch Dashboards.
  4. На странице OpenSearch Dashboards выберите OpenSearch Plugins > Alerting в дереве навигации слева.
  5. Создайте SMN destination для отправки сообщений Алерт.
    1. На странице Alerting нажмите Destinations tab и нажмите Add destination чтобы настроить информацию о назначении.
      Таблица 4 Destinations parameters

      Параметр

      Описание

      Имя

      User-defined destination name

      Type

      Type of the notification. Select SMN.

      Topic

      An associated SMN topic. Select the SMN topic created in Preparations.

      Рисунок 7 Add destination


    2. Нажмите Create, чтобы создать назначения.
    3. Вернитесь к странице Destinations. Если новый канал отображается, он был успешно создан.

      Рисунок 8 Destination list


  6. Создайте монитор и триггер, чтобы определить условия срабатывания Алерта и интервал мониторинга.
    1. Нажмите вкладку Monitors на странице Alerting и нажмите Create monitor, чтобы настроить информацию о мониторе.
      Таблица 5 Параметры монитора

      Параметр

      Описание

      Подробности монитора

      Monitor name

      User-defined monitor name

      Monitor type

      Monitor type, which can be:

      • Per query monitor
      • Per bucket monitor
      • Per cluster metrics monitor
      • Per document monitors
      • Composite monitors

      В этом примере Per query monitor выбран. Для получения дополнительной информации см. Monitors в официальной документации OpenSearch.

      Monitor defining method

      Метод определения монитора. Extraction query editor рекомендуется.

      • Visual editor
      • Extraction query editor
      • Anomaly detector

      Параметры Monitor defining method определяются выбранным Monitor type.

      Detector

      Если Monitor defining method установлен в Anomaly detector, выберите задачу обнаружения исключений.

      Frequency

      Выберите частоту мониторинга и задайте интервал мониторинга. Доступные варианты:

      • By interval
      • Daily
      • Weekly
      • Monthly
      • Custom cron expression

      Data source

      Index

      Когда Monitor defining method установлен в Visual editor или Extraction query editor, необходимо указать индекс для мониторинга.

      Time field

      Когда Monitor defining method установлен в Visual editor, необходимо указать поле времени для определения параметров подсчёта, таких как count.

      Запрос

      Метрики

      Когда Monitor defining method установлен в Visual editor, необходимо задать диапазон метрик для извлечения статистики.

      Временной диапазон за последние

      Когда Monitor defining method установлен в Visual editor, необходимо задать временной диапазон мониторинга для плагинов.

      Фильтр данных

      Когда Monitor defining method установлен в Visual editor, необходимо задать фильтры для поиска данных.

      Группировать по

      Когда Monitor defining method установлен в Visual editor, необходимо указать поле, чтобы любое значение поля всегда вызывало Алерт.

      Определить запрос извлечения

      Когда Monitor defining method установлен в Extraction query editor, необходимо ввести оператор запроса для определения мониторинга.

      Тип запроса

      Когда Monitor type установлен в Per cluster metrics monitor, необходимо указать тип запроса для мониторинга метрик кластера, например статус выполнения и использование CPU.

    2. Нажмите Add trigger, чтобы добавить триггеры и указать условия срабатывания Алерта и действия, которые будут выполнены при срабатывании Алерта.
    3. На странице Triggers задайте чувствительность срабатывания Алерта и выпуск сообщения на конечном пункте.
      Table 6 Trigger parameters

      Parameter

      Description

      Define trigger

      Trigger name

      User-defined trigger name

      Severity level

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

      Trigger condition

      Условие триггера. Алерт генерируется, когда условие триггера выполнено.

      Configure actions

      Action name

      Trigger action name

      Destination

      Выберите SMN‑назначение, созданное в 5.

      Сообщение

      Тело сообщения Алерт По умолчанию тема и тело определяются, когда получателем является адрес электронной почты.

      Perform action

      Когда Monitor type установлен в Per bucket monitor, необходимо указать, отправлять ли Алерты в комбинации. Значение может быть:

      • Per execution: При срабатывании нескольких условий срабатывания Алерта отправляется комбинированный Алерт.
      • Per alert: Алерты отправляются отдельно, когда срабатывают несколько условий срабатывания Алерта.

      Выполняемые Алерты

      Когда Monitor type установлен в Per bucket monitor, и Perform action установлен в Per alert, необходимо задать Алерты, которые могут быть выполнены после срабатывания условий Алерта.

      • De-duplicated: Алерты, которые уже сработали. OpenSearch сохраняет существующие Алерты, чтобы предотвратить создание дублирующих Алертов плагином.
      • New: Новые созданные Алерты.
      • Completed: Алерты, которые больше не активны.

      Регулирование

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

      Например, если этот параметр установлен в 10 минут, SMN отправит только одно уведомление Алерта в течение следующих 10 минут, даже если условие триггера сработает несколько раз. По истечении 10 минут SMN отправит другое уведомление Алерта, если условие Алерта будет выполнено.

      Рисунок 9 Настройка назначения действия триггера


    4. нажмите Send test message для проверки ссылки уведомления алерта.

      Рисунок 10 Отправка тестового сообщения


    5. Как показано в Рисунок 11, если подписчик темы SMN получает сообщение, уведомление алерта настроено успешно.

      Рисунок 11 Уведомление по электронной почте


    6. нажмите Create, чтобы перейти на страницу деталей мониторинга.