Внешние уведомления

Относится к Configuration Manager (Current Branch)

В сложной ИТ-среде у вас может быть система автоматизации, например Azure Logic Apps. Клиенты используют эти системы для определения автоматизированных рабочих процессов и управления ими для интеграции нескольких систем. Вы можете интегрировать Configuration Manager в отдельную систему автоматизации с помощью API пакета SDK продукта. Но этот процесс может быть сложным и сложным для ИТ-специалистов без подготовки к разработке программного обеспечения.

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

Примечание.

Внешняя система или приложение определяет и предоставляет методы, которые вызывает эта функция.

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

Начиная с версии 2111, используйте консоль Configuration Manager для создания или изменения подписок для внешних уведомлений. В этой статье основное внимание уделяется этому опыту. Если вы используете версию 2107, см. раздел Configuration Manager версии 2107.

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

  • Создайте подписку на сайте верхнего уровня иерархии. Этот сайт является либо автономным первичным сайтом, либо сайтом центра администрирования (CAS). Вы можете просматривать и изменять существующую подписку на любом сайте в иерархии.

  • Точка подключения службы сайта должна находиться в режиме "в сети". Дополнительные сведения см. в разделе Сведения о точке подключения службы.

  • В настоящее время эта функция поддерживает только Azure Logic Apps в качестве внешней системы. Требуется активная подписка Azure с правами на создание приложения логики.

    Точка подключения службы должна взаимодействовать со службой уведомлений, например Azure Logic Apps. Дополнительные сведения см. в разделе Требования к доступу к Интернету.

  • Чтобы создать тип события для запроса на утверждение приложения, сайту требуется приложение, которое требует утверждения и развертывается в коллекции пользователей. Дополнительные сведения см. в разделах Развертывание приложений и Утверждение приложений.

Разрешения

Для объекта NotificationSubscription можно настроить следующие разрешения: Read, Delete, Modify, Create.

  • Эти разрешения имеют роль безопасности "Полный администратор " по умолчанию.
  • Роль безопасности аналитика только для чтения по умолчанию имеет разрешение на чтение .

В версии 2107 пользователям также требуется область Все средства безопасности. В версии 2111 и более поздних нельзя область объекты подписки. При необходимости можно использовать области в объекте Site , для которых пользователям требуется по крайней мере разрешение на чтение.

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

Действие Оповещения:
Чтение
Сайта:
Чтение
Уведомить:
Чтение
Уведомить:
Изменение
Уведомить:
Создание
Уведомить:
Удалить
Сайта:
Управление SFR
Просмотр подписки X X
Изменение подписки X X X X
Примечания 1 о создании подписки X X X X
Удаление подписки X X X
Создание SFR X X X Примечание 2 Примечание 2 X
Добавление существующего SFR X X X Примечание 2 Примечание 2
Добавление утверждения приложения X X X Примечание 2 Примечание 2

В приведенной выше таблице используется следующее сокращение:

  • Уведомление: объекты подписки на уведомления
  • SFR: правило фильтра состояния

Примечание 1. Сайт верхнего уровня в иерархии

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

Примечание 2. Изменение и создание разрешений для действий с событиями

При управлении событиями в подписке разрешения на изменение или создание объекта подписки на уведомления зависят от того, нужно ли изменить или создать событие. Например, если у вас есть разрешение Создать , можно добавить в подписку правило фильтра состояния. Если у вас нет разрешения Изменить , вы не сможете вносить изменения в события подписки.

Создание приложения логики Azure и рабочего процесса

Используйте следующий процесс, чтобы создать пример приложения в Azure Logic Apps для получения уведомления от Configuration Manager.

Примечание.

Этот процесс предоставляется в качестве примера, который поможет вам приступить к работе. Он не предназначен для использования в рабочей среде.

  1. Войдите на портал Azure.

  2. В поле поиска Azure введите logic appsи выберите Logic Apps.

  3. Нажмите кнопку Добавить и выберите Потребление. Это действие создает новое приложение логики.

  4. На вкладке Основные сведения укажите сведения о проекте, необходимые для вашей среды: имя подписки, группу ресурсов, имя приложения логики и регион.

  5. Выберите Проверить и создать. На странице проверки подтвердите предоставленные сведения и нажмите кнопку Создать.

  6. В разделе Дальнейшие действия выберите Перейти к ресурсу.

  7. В разделе Start with a common trigger (Начать с общего триггера) выберите При получении HTTP-запроса.

  8. В нижней части редактора триггеров выберите Использовать пример полезных данных для создания схемы.

  9. Вставьте следующий пример полезных данных:

    {
        "EventID":0,
        "EventName":"",
        "SiteCode":"",
        "ServerName":"",
        "MessageID":0,
        "Source":"",
        "EventPayload":""
    }
    
  10. Нажмите кнопку Готово , а затем нажмите кнопку Сохранить.

  11. Скопируйте созданный URL-адрес для приложения логики. Этот URL-адрес будет использоваться позже при создании подписки в Configuration Manager.

    Примечание.

    URL-адрес из Azure для приложения логики включает секретный ключ. При сохранении в Configuration Manager он защищен так же, как и любой другой пароль или секретный ключ. Если в вашей среде используется прокси-сервер или другое устройство для проверки сети, существует риск, что она зановит этот URL-адрес и предоставит секретный ключ. Управляйте доступом к таким системам и будьте готовы обновить секретный ключ для приложения логики в портал Azure. Вы также можете задать дату окончания срока действия секретного ключа в портал Azure. Дополнительные сведения см. в статье Защита приложений логики.

  12. Чтобы добавить новый шаг в конструкторе, выберите + Создать шаг. Выберите соответствующее действие при получении уведомления от Configuration Manager. Например:

    При необходимости войдите в систему и заполните необходимые сведения для действия. Дополнительные сведения см. в кратком руководстве по созданию приложений логики документации по Azure Logic Apps.

Схема уведомлений

Эти уведомления используют следующую стандартную схему:

{
    "properties": {
        "EventID": {
            "type": "integer"
        },
        "EventName": {
            "type": "string"
        },
        "EventPayload": {
            "type": "string"
        },
        "MessageID": {
            "type": "string"
        },
        "ServerName": {
            "type": "string"
        },
        "SiteCode": {
            "type": "string"
        },
        "Source": {
            "type": "string"
        }
    },
    "type": "object"
}

Создание события

В настоящее время поддерживаются два типа событий:

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

  • Пользователь запрашивает утверждение приложения в Центре программного обеспечения.

Примечание.

В иерархии область событий зависит от типа события:

  • События утверждения приложения происходят только на первичных сайтах.
  • Правила фильтра состояния применяются к сайту, на котором создается правило с помощью мастера создания событий уведомления внешней службы.
    • Если запустить мастер для создания события при подключении к CAS, он активируется только при сопоставлении событий из cass.
    • Чтобы подписаться на события, вызванные дочерним первичным сайтом, подключитесь к первичному сайту. Измените подписку на уведомления, чтобы создать новое правило фильтра состояния для дочернего первичного сайта.

Используйте следующий процесс, чтобы создать событие:

  1. В консоли Configuration Manager подключитесь к сайту верхнего уровня иерархии. Этот сайт является либо автономным первичным сайтом, либо cas-сайтом.

  2. Перейдите в рабочую область Мониторинг , разверните узел Оповещения и выберите узел Уведомления внешней службы .

  3. На ленте выберите Создать подписку.

  4. В окне Новая подписка укажите имя подписки, чтобы определить ее в консоли Configuration Manager. Максимальная длина — 254 символа. При необходимости добавьте описание.

  5. В поле URL-адрес внешней службы вставьте ранее скопированный URL-адрес приложения логики Azure.

  6. Щелкните золотую звездочку , чтобы добавить новое событие в подписку.

    1. В мастере создания события уведомления внешней службы на странице Тип события выберите один из следующих типов событий:

      • Новое правило фильтра состояния. Создайте новое правило фильтра состояния, которое будет использоваться для этого события. Укажите имя правила фильтра состояния, а затем настройте условия фильтра. Дополнительные сведения о критериях для правил сообщений о состоянии см. в разделе Использование системы состояния.

        Важно!

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

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

      • Пользователь отправляет запрос приложения: отправляет внешнее уведомление о запросах на утверждение приложения.

Управление событиями

После создания подписки используйте узел Уведомления внешней службы для выполнения следующих действий:

  • Свойства: измените имя, описание или события для подписки. Вы не можете изменить URL-адрес внешней службы.

  • Удалить: удалить подписку.

Примечание.

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

При выборе подписки в области сведений отображаются сведения о произошедших событиях.

Активация события

Процесс активации события зависит от типа подписки:

Мониторинг рабочего процесса

консоль Configuration Manager

Начиная с версии 2309, когда Azure Logic Apps создает уведомления или оповещения, связанные с определенными событиями или условиями, Configuration Manager теперь могут записывать и отображать эти уведомления. Эта интеграция позволяет отслеживать уведомления Azure Logic App непосредственно в консоли Configuration Manager, обеспечивая централизованное расположение для отслеживания критических событий, принятия соответствующих действий и поддержания высокого уровня операционной эффективности. 

Для использования этой функции требуется допустимое веб-приложение Microsoft Entra. Разверните службы Azure для управления службами администрирования в разделе Администрирование\Обзор\Облачные службы\Службы Azure. Если служба уже развернута, администратор может использовать существующее веб-приложение для просмотра сведений о запуске из приложения логики Azure.

Дополнительные сведения см. в статье Настройка служб Azure для использования с Configuration Manager.

Используйте следующий процесс для просмотра сведений о выполнении подписки:

  1. В консоли Configuration Manager щелкните Мониторинг.
  2. В рабочей области Мониторинг щелкните Уведомления внешней службы и выберите нужную подписку.
  3. Щелкните Показать сведения.
  4. В диалоговом окне Выберите Среду Azure, Microsoft Entra имя клиента в раскрывающемся списке и войдите с помощью учетной записи azure Администратор.
  5. Выберите идентификатор подписки и введите имя группы ресурсов и имя рабочего процесса .
  6. Нажмите кнопку Получить сведения о выполнении , чтобы просмотреть сведения о выполнении.

Снимок экрана: мастер сведений о выполнении в консоли Configuration Manager.

Портал Azure

В течение пяти минут событие активирует рабочий процесс приложения логики. Проверьте состояние рабочего процесса в портал Azure. Перейдите на страницу Журнал запусков приложения логики.

Дополнительные сведения см. в статье Мониторинг состояния выполнения, просмотр журнала триггеров и настройка оповещений для Azure Logic Apps.

Устранение неполадок

Используйте следующие Configuration Manager файлы журналов на сервере сайта, чтобы устранить неполадки в этом процессе:

  • ExternalNotificationsWorker.log: проверьте, обработана ли очередь и уведомления отправляются во внешнюю систему.
  • statmgr.log: проверьте, обработаны ли правила фильтра состояния без ошибок.

Известные проблемы

Если вы создадите правило фильтра состояния, оно отображается в списке правил фильтрации состояния сайта в консоли Configuration Manager. Если вы внесете изменения на вкладке Действия свойств правила, внешнее уведомление не будет работать.

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

Совет

Перед удалением CAS повторно создайте подписки на дочернем первичном сайте.

Configuration Manager версии 2107

Важно!

Этот раздел и сценарий PowerShell применяются только к версии 2107. В версии 2111 и более поздних используйте консоль Configuration Manager для создания событий и управления ими.

Другие предварительные требования для версии 2107

Чтобы создать объекты в Configuration Manager версии 2107, необходимо использовать скрипт PowerShell SetupExternalServiceNotifications.ps1. Используйте следующий пример скрипта, чтобы правильно получить скрипт PowerShell, который будет использоваться для этой функции:

$FileName = ".\SetupExternalServiceNotifications.ps1"
Invoke-WebRequest https://aka.ms/cmextnotificationscript -OutFile $FileName
(Get-Content $FileName -Raw).Replace("`n","`r`n") | Set-Content $FileName -Force
(Get-Content $FileName -Raw).TrimEnd("`r`n") | Set-Content $FileName -Force

Примечание.

SetupExternalServiceNotifications.ps1 подписаны корпорацией Майкрософт в цифровом формате. Этот пример скрипта скачивает файл и исправляет разрывы строк для сохранения цифровой подписи.

Создание события в версии 2107

В версии 2107 поддерживаются два типа событий:

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

  • Пользователь запрашивает утверждение приложения в Центре программного обеспечения.

Создание события сообщения о состоянии в версии 2107

  1. На сервере сайта запустите SetupExternalServiceNotifications.ps1. Так как вы запускаете его на сервере сайта, введите y , чтобы продолжить.

  2. Выберите параметр 2 , чтобы создать новое правило фильтра состояния.

  3. Укажите имя для нового правила фильтра состояния.

  4. Выберите критерии сопоставления сообщений для правила и укажите соответствующие значения. Укажите 0 , чтобы не использовать условие.

    Доступны следующие условия:

    • Источник: клиент, поставщик SMS, сервер сайта
    • Код сайта
    • Система
    • Компонент
    • Тип сообщения: веха, сведения, аудит
    • Серьезность: информационная, предупреждение, ошибка
    • КОД сообщения
    • Свойство
    • Значение свойства

    Дополнительные сведения о критериях для правил сообщений о состоянии см. в разделе Использование системы состояния.

    Важно!

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

  5. Повторно запустите сценарий PowerShell. Выберите параметр 3 , чтобы создать новую подписку.

  6. Укажите имя и описание подписки. Затем укажите URL-адрес приложения логики, скопированный ранее из портал Azure.

  7. Выберите новое правило фильтра состояния.

  8. Выберите 0 , чтобы выйти из скрипта.

Создание события утверждения приложения в версии 2107

Примечание.

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

  1. На сервере сайта запустите SetupExternalServiceNotifications.ps1. Так как вы запускаете его на сервере сайта, введите y , чтобы продолжить.

  2. Выберите параметр 3 , чтобы создать новую подписку.

  3. Укажите имя и описание подписки. Затем укажите URL-адрес приложения логики, скопированный ранее из портал Azure.

  4. Выберите соответствующее событие для запроса приложения.

  5. Выберите 0 , чтобы выйти из скрипта.

Удаление подписки в версии 2107

Если вам нужно удалить подписку, используйте следующий процесс:

  1. Запустите скрипт SetupExternalServiceNotifications.ps1 с параметром 1 , чтобы получить список доступных подписок. Обратите внимание на идентификатор подписки, представляющий собой целочисленное значение.

  2. Используйте API NotificationSubscription службы администрирования. Выполните вызов DELETE к универсальному коду ресурса (URI https://<SMSProviderFQDN>/AdminService/v1.0/NotificationSubscription/<Subscription_ID>).

    Дополнительные сведения см. в статье Использование службы администрирования в Configuration Manager.

После удаления подписки сайт не отправляет уведомления во внешнюю систему.

Использование скриптов в версии 2107

При выполненииSetupExternalServiceNotifications.ps1он определяет, работает ли он на сервере сайта:

  • Y: продолжить на текущем сервере
  • N: укажите полное доменное имя используемого сервера сайта.

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

Затем доступны следующие действия:

  • 0: пропустить или продолжить
  • 1: список доступных подписок
  • 2: создание правила фильтра состояния для предоставления сообщений о состоянии
  • 3: создайте подписку. Этот параметр доступен только для сайта верхнего уровня.

Примечание.

Этот скрипт поддерживается только для сайтов под управлением версии 2107 или более поздней.

Дальнейшие действия

Использование системы состояния

Настройка оповещений