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

Содержание

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

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

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

  • 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.

Notification Contact Group

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

INFO
  1. Платформа поддерживает различные серверы уведомлений, и соответствующие параметры конфигурации для типов уведомлений будут отображаться в зависимости от настроек сервера уведомлений.
  2. Если необходимо использовать сервер типа Webhook в качестве получателя уведомлений, необходимо настроить соответствующий URL в контактной группе уведомлений.
  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.

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