• Русский
  • Управление уведомлениями

    Обзор функции

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

    Ключевые функции

    • Notification Server: сервер уведомлений предоставляет сервисы для отправки сообщений уведомлений группам контактов на платформе, например, сервер электронной почты.
    • Notification Contact Group: группа контактов уведомлений — это набор получателей уведомлений с похожими логическими характеристиками, что позволяет снизить нагрузку на обслуживание за счёт категоризации сущностей, получающих уведомления.
    • Notification Template: шаблон уведомления — это стандартизированная структура, состоящая из настраиваемого содержимого, переменных содержимого и параметров форматирования. Используется для стандартизации содержания и формата сообщений оповещений в стратегиях уведомлений. Например, настройка темы и содержимого email-уведомлений.
    • Notification rule: правило уведомления — это набор правил, определяющих, как отправлять сообщения уведомлений конкретным контактам. Использование правила уведомления необходимо для сценариев, таких как оповещения, проверки и аутентификация при входе, требующих уведомления внешних сервисов.

    Notification Server

    Сервер уведомлений предоставляет сервисы для отправки сообщений уведомлений получателям на платформе. В настоящее время платформа поддерживает следующие серверы уведомлений:

    • Corporate Communication Tool Server: поддерживает интеграцию с встроенными приложениями WeChat Work, DingTalk и Feishu для отправки уведомлений отдельным пользователям.
    • Email Server: отправляет уведомления по электронной почте через email-сервер.
    • Webhook Type Server: поддерживает интеграцию с ботами групп корпоративного WeChat, DingTalk, Feishu или отправку WebHook на ваш указанный сервер.
    WARNING

    Можно добавить только один сервер корпоративного коммуникационного инструмента.

    Corporate Communication Tool Server

    WeChat Work

    1. Настройте параметры сервера уведомлений согласно приведённому ниже примеру. После заполнения параметров переключитесь на кластер global в Cluster Management > Resource Management и создайте объект ресурса.

      # Методы получения corpId, corpSecret, agentId для WeChat Work можно найти в официальной документации: https://developer.work.weixin.qq.com/document/path/90665
      apiVersion: v1
      kind: Secret
      type: NotificationServer
      metadata:
        labels:
          cpaas.io/notification.server.type: CorpWeChat
          cpaas.io/notification.server.category: Corp
        name: platform-corp-wechat-server
        namespace: cpaas-system
      data:
        displayNameZh: 企业微信            # Отображаемое имя сервера на китайском, по умолчанию в base64
        displayNameEn: WeChat             # Отображаемое имя сервера на английском, по умолчанию в base64
        corpId:                           # Корпоративный ID, по умолчанию в base64
        corpSecret:                       # Секрет приложения, по умолчанию в base64
        agentId:                          # ID корпоративного приложения, по умолчанию в base64
    2. После создания необходимо обновить WeChat Work ID пользователя в User Role Management > User Management платформы или в Personal Information пользователя, чтобы обеспечить нормальный приём сообщений.

    DingTalk

    1. Настройте параметры сервера уведомлений согласно приведённому ниже примеру. После заполнения параметров переключитесь на кластер global в Cluster Management > Resource Management и создайте объект ресурса.

      # Метод получения appKey, appSecret, agentId для DingTalk: https://open-dev.dingtalk.com/fe/app#/corp/app
      apiVersion: v1
      kind: Secret
      type: NotificationServer
      metadata:
        labels:
          cpaas.io/notification.server.type: CorpDingTalk
          cpaas.io/notification.server.category: Corp
        name: platform-corp-dingtalk-server
        namespace: cpaas-system
      data:
        displayNameZh: 钉钉                # Отображаемое имя сервера на китайском, по умолчанию в base64
        displayNameEn: DingTalk           # Отображаемое имя сервера на английском, по умолчанию в base64
        appKey:                           # Ключ приложения, по умолчанию в base64
        appSecret:                        # Секрет приложения, по умолчанию в base64
        agentId:                          # agent_id приложения, по умолчанию в base64
    2. После создания необходимо обновить DingTalk ID пользователя в User Role Management > User Management платформы или в Personal Information пользователя, чтобы обеспечить нормальный приём сообщений.

    Feishu

    1. Настройте параметры сервера уведомлений согласно приведённому ниже примеру. После заполнения параметров переключитесь на кластер global в Cluster Management > Resource Management и создайте объект ресурса.

      # Методы получения appId, appSecret для Feishu: https://open.feishu.cn/app/
      apiVersion: v1
      kind: Secret
      type: NotificationServer
      metadata:
        labels:
          cpaas.io/notification.server.type: CorpFeishu
          cpaas.io/notification.server.category: Corp
        name: platform-corp-feishu-server
        namespace: cpaas-system
      data:
        displayNameZh: 飞书                 # Отображаемое имя сервера на китайском, по умолчанию в base64
        displayNameEn: Feishu             # Отображаемое имя сервера на английском, по умолчанию в base64
        appId:                            # ID приложения, по умолчанию в base64
        appSecret:                        # Секрет приложения, по умолчанию в base64
    2. После создания необходимо обновить Feishu ID пользователя в User Role Management > User Management платформы или в Personal Information пользователя, чтобы обеспечить нормальный приём сообщений.

    Email Server

    1. В левой навигационной панели нажмите Platform Settings > Notification Server.

    2. Нажмите Configure Now.

    3. Следуйте инструкциям для настройки соответствующих параметров.

      ПараметрОписание
      Service AddressАдрес сервера уведомлений, поддерживающего протокол SMTP, например, smtp.yeah.net.
      PortНомер порта сервера уведомлений. При включённом флажке Use SSL необходимо указать SSL-порт.
      Server ConfigurationUse SSL: Secure Socket Layer (SSL) — стандартная технология безопасности. Переключатель SSL управляет установкой зашифрованного соединения между сервером и клиентом.
      Skip Insecure Verification: переключатель insecureSkipVerify управляет проверкой сертификата клиента и имени хоста сервера. Если включён, сертификаты и соответствие имени хоста в сертификате имени сервера проверяться не будут.
      Sender EmailEmail-аккаунт отправителя на сервере уведомлений, используемый для отправки уведомлений по электронной почте.
      Enable AuthenticationЕсли требуется аутентификация, настройте имя пользователя и код авторизации для email-сервера.
    4. Нажмите OK.

    Webhook Type Server

    Поддерживает интеграцию с ботами групп корпоративного WeChat, DingTalk, Feishu или отправку HTTP-запросов на ваш указанный Webhook сервер.

    Корпоративный бот группы WeChat

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Выполните следующую команду на мастер-узле кластера global:

      kubectl patch secret -n cpaas-system platform-wechat-server -p '{"data":{"enable":"dHJ1ZQo="}}'

      Подсказка: dHJ1ZQo= — это значение true, закодированное в base64; чтобы отключить, замените dHJ1ZQo= на ZmFsc2UK, что является значением false в base64.

    Бот группы DingTalk

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Выполните следующую команду на мастер-узле кластера global:

      kubectl patch secret -n cpaas-system platform-dingtalk-server -p '{"data":{"enable":"dHJ1ZQo="}}'

      Подсказка: dHJ1ZQo= — это значение true, закодированное в base64; чтобы отключить, замените dHJ1ZQo= на ZmFsc2UK, что является значением false в base64.

    Бот группы Feishu

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Выполните следующую команду на мастер-узле кластера global:

      kubectl patch secret -n cpaas-system platform-feishu-server -p '{"data":{"enable":"dHJ1ZQo="}}'

      Подсказка: dHJ1ZQo= — это значение true, закодированное в base64; чтобы отключить, замените dHJ1ZQo= на ZmFsc2UK, что является значением false в base64.

    Webhook Server

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Выполните следующую команду на мастер-узле кластера global:

      kubectl patch secret -n cpaas-system platform-webhook-server -p '{"data":{"enable":"dHJ1ZQo="}}'

      Подсказка: dHJ1ZQo= — это значение true, закодированное в base64; чтобы отключить, замените dHJ1ZQo= на ZmFsc2UK, что является значением false в base64.

    Настройка пользовательских заголовков запросов для уведомлений Webhook

    Если целевой Webhook-эндпоинт требует пользовательские HTTP-заголовки, создайте Secret в пространстве имён cpaas-system и позже свяжите его с группой контактов уведомлений.

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Создайте YAML-файл, аналогичный следующему, на мастер-узле кластера global.

      apiVersion: v1
      kind: Secret
      metadata:
        name: webhook-header-secret
        namespace: cpaas-system
      type: NotificationSender
      data:
        X-Secret: <base64-encoded-header-value>
    4. Сохраните YAML-файл как webhook-header.yaml и примените ресурс.

      kubectl apply -f webhook-header.yaml
    INFO
    1. Каждый ключ в data используется как имя HTTP-заголовка.
    2. Каждое значение в data должно быть закодировано в base64 перед применением к кластеру.
    3. Если эндпоинт требует несколько заголовков, добавьте дополнительные пары ключ-значение в data.

    Notification Contact Group

    Группа контактов уведомлений — это набор получателей уведомлений с похожими логическими характеристиками. Например, вы можете задать команду эксплуатации и обслуживания как группу контактов уведомлений для удобного выбора и управления при настройке стратегий уведомлений.

    INFO
    1. Платформа поддерживает различные серверы уведомлений, и соответствующие параметры конфигурации для типов уведомлений будут отображаться в зависимости от настройки сервера уведомлений.
    2. Если необходимо использовать сервер типа Webhook в качестве получателя уведомлений, необходимо настроить соответствующий URL в группе контактов уведомлений.
    3. Если Webhook-эндпоинт требует пользовательские заголовки запросов, необходимо связать группу контактов уведомлений с Secret типа NotificationSender в пространстве имён cpaas-system.
    1. В левой навигационной панели нажмите Operations Center > Notifications.

    2. Перейдите на вкладку Notification Contact Group.

    3. Нажмите Create Notification Contact Group и настройте соответствующие параметры согласно инструкции ниже.

      ПараметрОписание
      EmailДобавьте email для всей группы контактов уведомлений. Платформа будет отправлять уведомления на этот email и на email всех контактов в группе.
      Webhook URL/WeChat Group Bot/DingTalk Group Bot/Feishu Group BotУкажите соответствующий URL метода уведомления в зависимости от настроенного сервера уведомлений. После настройки контакты в этой группе будут уведомляться этим методом.
      Contact ConfigurationНажмите Add Contact, чтобы добавить существующих пользователей платформы в группу контактов. Убедитесь в корректности контактной информации выбранных контактов (телефон, email, callback интерфейс), чтобы избежать пропуска уведомлений.
    4. Нажмите Add.

    Связать группу контактов уведомлений с Secret заголовков

    Если настроенный Webhook-эндпоинт требует пользовательские заголовки запросов, свяжите группу контактов с Secret, созданным в разделе Настройка пользовательских заголовков запросов для уведомлений Webhook.

    1. В левой навигационной панели нажмите Cluster Management > Cluster.

    2. Нажмите кнопку операций рядом с кластером global > CLI Tool.

    3. Отредактируйте соответствующий ресурс NotificationGroup на мастер-узле кластера global.

      kubectl edit notificationgroups.ait.alauda.io -n cpaas-system <notification-group-name>
    4. Добавьте аннотацию cpaas.io/notification.webhook.config в metadata.annotations. Значение должно быть именем Secret, созданного для пользовательских заголовков запросов.

      apiVersion: ait.alauda.io/v1beta1
      kind: NotificationGroup
      metadata:
        name: <notification-group-name>
        namespace: cpaas-system
        annotations:
          cpaas.io/notification.webhook.config: webhook-header-secret
    INFO

    URL Webhook настраивается в группе контактов уведомлений, а пользовательские заголовки запросов настраиваются через связанный Secret.

    Notification Template

    Шаблон уведомления — это стандартизированная структура, состоящая из настраиваемого содержимого, переменных содержимого и параметров форматирования. Используется для стандартизации содержания и формата сообщений оповещений в стратегиях уведомлений.

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

    INFO

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

    Создание шаблона уведомления

    1. В левой навигационной панели нажмите Operations Center > Notifications.

    2. Перейдите на вкладку Notification Template.

    3. Нажмите Create Notification Template.

    4. В разделе Basic Information настройте следующие параметры.

      ПараметрОписание
      Message TypeВыберите тип сообщения в зависимости от цели уведомления.
      Alert Message: отправляет сообщения оповещений, вызванных правилами оповещений, в связке с функцией оповещений платформы;
      Component Exception Message: отправляет уведомления, вызванные исключениями в некоторых компонентах.
    5. В разделе Template Configuration настройте переменные и параметры форматирования, опираясь на различные типы шаблонов.

    INFO
    1. Содержимое шаблона может состоять только из переменных, отображаемых имён переменных и специального языка разметки форматирования, поддерживаемого платформой. Переменные и другие элементы можно свободно комбинировать при соблюдении синтаксических правил.
    2. В шаблоне можно использовать только переменные, поддерживаемые платформой. Можно изменять отображаемые имена переменных и формат содержимого, но нельзя изменять сами переменные. См. Reference Variables и Special Formatting Markup Language in Emails.
    3. Платформа предоставляет стандартное содержимое шаблонов уведомлений для различных типов уведомлений на основе реальных сценариев эксплуатации, что удовлетворяет большинству потребностей в настройке сообщений уведомлений. При отсутствии особых требований можно использовать содержимое шаблона по умолчанию.
    1. Нажмите Create.

    Reference Variables

    Переменные — это ключи меток или аннотаций в сообщениях уведомлений (NotificationMessage), оформленные как {{.labelKey}}. Для удобства быстрого получения ключевой информации пользователям можно назначать переменным настраиваемые отображаемые имена; например: Alert Level: {{ .externalLabels.severity }}.

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

    Платформа по умолчанию предоставляет следующие базовые переменные:

    Отображаемое имяПеременнаяОписание
    Alert Status{{ .externalLabels.status }}Например: Alerting.
    Alert Level{{ .externalLabels.severity }}Например: Critical.
    Alert Cluster{{ .labels.alert_cluster }}Например: кластер 1, где произошло оповещение.
    Alert Object{{ .externalLabels.object }}Тип и имя ресурса, где произошло оповещение, например, node 192.168.16.53.
    rule Name{{ .labels.alert_resource }}Имя правила оповещения, например, cpaas-node-rules.
    Alert Description{{ .externalLabels.summary }}Описание правила оповещения.
    Trigger Value{{ .externalLabels.currentValue }}Мониторинговое значение, вызвавшее оповещение.
    Alert Time{{ dateFormatWithZone .startsAt "2006-01-02 15:04:05" "Asia/Chongqing" }}Время начала оповещения.
    Recovery Time{{ dateFormatWithZone .endsAt "2006-01-02 15:04:05" "Asia/Chongqing" }}Время окончания оповещения.
    Metric Name{{ .labels.alert_indicator }}Название мониторинговой метрики.

    Special Formatting Markup Language in Emails

    В email-уведомлениях используются распространённые HTML-теги форматирования, описанные в таблице ниже:

    Элемент содержимогоТегОписание
    Текст-Поддерживается ввод текста на китайском/английском.
    Шрифт<font color="#FF0000">Установить цвет шрифта</font>
    <b>Жирный шрифт</b>
    Установка формата шрифта.
    Заголовок<h1>Заголовок уровня 1</h1>, поддерживается до h6 (заголовок 6).Установка уровня заголовка.
    Абзац<p>Абзац</p>Вставка обычного абзаца текста.
    Цитата<q>Цитата</q>Вставка короткой цитаты.
    Гиперссылка<a href="//www.example.com">Гиперссылка</a>Вставка гиперссылки.

    Notification rule

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

    INFO

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

    Предварительные условия

    Для использования Corporate Communication Tool Server для уведомления контактов пользователям необходимо сначала изменить контактную информацию в Personal Information, указав свой WeChat Work ID.

    Порядок действий

    1. В левой навигационной панели нажмите Operations Center > Notifications.

    2. Нажмите Create Notification rule и настройте соответствующие параметры согласно инструкции ниже.

      ПараметрОписание
      Notification Contact GroupГруппа контактов уведомлений — логический набор получателей уведомлений, которых платформа уведомляет указанным методом уведомления.
      Notification RecipientsВыберите одного или нескольких получателей уведомлений, платформа будет отправлять уведомления согласно контактным данным в Personal Information получателей.
      Notification MethodПоддерживает несколько методов, включая WeChat Work, DingTalk, Feishu, Corporate WeChat Group Bot, DingTalk Group Bot, Feishu Group Bot, WebHook URL, поддерживается множественный выбор.
      Примечание: некоторые параметры отображаются после настройки сервера уведомлений.
      Notification TemplateВыберите шаблон уведомления для отображения информации уведомления.
    3. Нажмите Create.

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

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

    Предварительные условия

    1. Вы связались с администратором платформы для завершения настройки сервера уведомлений.

    2. Если требуется уведомление через корпоративные коммуникационные инструменты, необходимо убедиться, что уведомляемые контакты корректно настроили свои идентификаторы коммуникационных инструментов в Personal Information.

    Порядок действий

    1. В представлении Project Management нажмите Project Name.

    2. В левой навигационной панели нажмите Notifications.

    3. Перейдите на вкладку Notification Contact Group, ознакомьтесь с разделом Notification Contact Group и создайте группу контактов уведомлений.

    TIP

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

    1. Перейдите на вкладку Notification Template, ознакомьтесь с разделом Notification Template и создайте шаблон уведомления.

    2. Перейдите на вкладку Notification rule, ознакомьтесь с разделом Notification rule и создайте правило уведомления.