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

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

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

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

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

    Notification Server

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

    • Corporate Communication Tool Server: поддерживает интеграцию с встроенными приложениями WeChat Work, DingTalk и Feishu для отправки уведомлений отдельным лицам.
    • Email Server: отправляет уведомления по электронной почте через почтовый сервер.
    • 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 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 }}Тип и имя ресурса, где произошло оповещение, например, узел 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 и создайте правило уведомления.