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

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

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

    Основные функции

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

    Notification Server

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

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

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

    Сервер корпоративного коммуникационного инструмента

    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 EmailЭлектронный адрес отправителя на сервере уведомлений, используемый для отправки уведомлений по email.
      Enable AuthenticationЕсли требуется аутентификация, настройте имя пользователя и код авторизации для почтового сервера.
    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 }}Название мониторинговой метрики.

    Специальный язык разметки форматирования в email

    В 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 и создайте правило уведомления.