외부 알림

적용 대상: Configuration Manager(현재 분기)

복잡한 IT 환경에서 는 Azure Logic Apps와 같은 자동화 시스템이 있을 수 있습니다. 고객은 이러한 시스템을 사용하여 자동화된 워크플로를 정의하고 제어하여 여러 시스템을 통합합니다. Configuration Manager 제품의 SDK API를 통해 별도의 자동화 시스템에 통합할 수 있습니다. 그러나 이 프로세스는 소프트웨어 개발 배경이 없는 IT 전문가에게 복잡하고 어려울 수 있습니다.

버전 2107부터 사이트에서 외부 시스템 또는 애플리케이션에 알림을 보내도록 설정할 수 있습니다. 이 기능은 웹 서비스 기반 메서드를 사용하여 프로세스를 간소화합니다. 이러한 알림을 보내도록 구독 을 구성합니다. 이러한 알림은 발생하는 특정 정의 이벤트에 대한 응답입니다. 예를 들어 메시지 필터 규칙을 상태.

참고

외부 시스템 또는 애플리케이션은 이 기능이 호출하는 메서드를 정의하고 제공합니다.

이 기능을 설정하면 사이트에서 외부 시스템과의 통신 채널을 엽니다. 그런 다음 해당 시스템은 Configuration Manager 존재하지 않는 복잡한 워크플로 또는 작업을 시작할 수 있습니다.

버전 2111부터 Configuration Manager 콘솔을 사용하여 외부 알림에 대한 구독을 만들거나 편집합니다. 이제 이 문서에서는 해당 환경에 중점을 둡니다. 버전 2107을 사용하는 경우 Configuration Manager 버전 2107을 참조하세요.

필수 구성 요소

  • 계층 구조의 최상위 사이트에 구독을 만듭니다. 이 사이트는 독립 실행형 기본 사이트이거나 CAS(중앙 관리 사이트)입니다. 계층 구조의 모든 사이트에서 기존 구독을 보고 수정할 수 있습니다.

  • 사이트의 서비스 연결 지점은 온라인 모드여야 합니다. 자세한 내용은 서비스 연결 지점 정보를 참조하세요.

  • 현재 이 기능은 외부 시스템으로 Azure Logic Apps만 지원합니다. 논리 앱을 만들 수 있는 권한이 있는 활성 Azure 구독이 필요합니다.

    서비스 연결 지점은 알림 서비스와 통신해야 합니다(예: Azure Logic Apps). 자세한 내용은 인터넷 액세스 요구 사항을 참조하세요.

  • 애플리케이션 승인 요청에 대한 이벤트 유형을 만들려면 사이트에 승인이 필요하고 사용자 컬렉션에 배포되는 앱이 필요합니다. 자세한 내용은 애플리케이션 배포 및 애플리케이션승인을 참조하세요.

권한

NotificationSubscription 개체에 대한 읽기, 삭제, 수정, 만들기 권한을 구성할 수 있습니다.

  • 전체 관리자 기본 보안 역할에는 이러한 권한이 있습니다.
  • 읽기 전용 분석가 기본 보안 역할에는 읽기 권한이 있습니다.

버전 2107에서는 모든 보안 scope 필요합니다. 버전 2111 이상에서는 구독 개체를 scope 수 없습니다. 필요한 경우 사용자가 최소한 읽기 권한이 필요한 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. 공통 트리거로 시작 섹션 아래에서 HTTP 요청이 수신되는 경우를 선택합니다.

  8. 트리거 편집기의 맨 아래에서 샘플 페이로드를 사용하여 스키마 생성을 선택합니다.

  9. 다음 샘플 페이로드를 붙여넣습니다.

    {
        "EventID":0,
        "EventName":"",
        "SiteCode":"",
        "ServerName":"",
        "MessageID":0,
        "Source":"",
        "EventPayload":""
    }
    
  10. 완료를 선택한 다음 저장을 선택합니다.

  11. 논리 앱에 대해 생성된 URL을 복사합니다. 나중에 Configuration Manager 구독을 만들 때 이 URL을 사용합니다.

    참고

    논리 앱에 대한 Azure의 URL에는 비밀 키가 포함됩니다. Configuration Manager 저장하면 다른 암호 또는 비밀 키와 동일하게 보호됩니다. 사용자 환경에서 프록시 서버 또는 기타 네트워크 검사 디바이스를 사용하는 경우 이 URL을 기록하고 비밀 키를 노출할 위험이 있습니다. 이러한 시스템에 대한 액세스를 제어하고 Azure Portal 논리 앱에 대한 비밀 키를 갱신할 준비를 합니다. Azure Portal 비밀 키의 만료 날짜를 설정할 수도 있습니다. 자세한 내용은 논리 앱 보안을 참조하세요.

  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"
}

이벤트 만들기

현재 지원되는 두 가지 유형의 이벤트가 있습니다.

  • 사이트는 외부 알림에 대한 상태 필터 규칙에 지정된 조건과 일치하는 상태 메시지를 발생합니다. 새 규칙을 만들거나 기존 규칙을 사용할 수 있습니다.

  • 사용자가 소프트웨어 센터에서 애플리케이션에 대한 승인을 요청합니다.

참고

계층 구조에서 이벤트의 scope 이벤트 유형에 따라 달라집니다.

  • 애플리케이션 승인 이벤트는 기본 사이트에서만 발생합니다.
  • 상태 필터 규칙은 외부 서비스 알림 이벤트 만들기 마법사를 사용하여 규칙을 만드는 사이트에 적용됩니다.
    • 마법사를 실행하여 CAS에 연결된 동안 이벤트를 만드는 경우 CAS에서 일치하는 이벤트에 대해서만 트리거됩니다.
    • 자식 기본 사이트에서 발생하는 이벤트를 구독하려면 기본 사이트에 연결합니다. 알림 구독을 수정하여 자식 기본 사이트에 대한 새 상태 필터 규칙을 만듭니다.

다음 프로세스를 사용하여 이벤트를 만듭니다.

  1. Configuration Manager 콘솔에서 계층의 최상위 사이트에 연결합니다. 이 사이트는 독립 실행형 기본 사이트 또는 CAS입니다.

  2. 모니터링 작업 영역으로 이동하여 경고를 확장하고 외부 서비스 알림 노드를 선택합니다.

  3. 리본에서 구독 만들기를 선택합니다.

  4. 새 구독 창에서 구독의 이름을 지정하여 Configuration Manager 콘솔에서 식별합니다. 최대 길이는 254자입니다. 필요에 따라 설명을 추가 합니다.

  5. 외부 서비스 URL 값에 대해 이전에 복사한 Azure Logic App의 URL을 붙여넣습니다.

  6. 골드 별표 를 선택하여 구독에 새 이벤트를 추가합니다.

    1. 외부 서비스 알림 이벤트 만들기 마법사의 이벤트 유형 페이지에서 다음 이벤트 유형 중 하나를 선택합니다.

      • 새 상태 필터 규칙: 이 이벤트에 사용할 새 상태 필터 규칙을 만듭니다. 상태 필터 규칙의 이름을 지정한 다음 필터 조건을 구성합니다. 상태 메시지 규칙의 조건에 대한 자세한 내용은 상태 시스템 사용을 참조하세요.

        중요

        만드는 상태 필터 규칙의 형식에 주의해야 합니다. 외부 알림의 경우 사이트에서 5분마다 300개의 상태 메시지를 처리할 수 있습니다. 규칙이 이 제한보다 많은 메시지를 허용하는 경우 사이트에 백로그가 발생합니다. 특정 시나리오에 대한 필터가 좁은 규칙을 만듭니다. 많은 메시지를 허용하는 일반 규칙을 사용하지 않습니다.

      • 기존 상태 필터 규칙: 이미 존재하는 외부 알림에 상태 필터 규칙을 다시 사용합니다. 모든 상태 필터 규칙은 표시하지 않으며, 이 마법사를 사용하여 만든 규칙만 표시합니다.

      • 사용자가 애플리케이션 요청을 제출합니다. 애플리케이션 승인 요청에 대한 외부 알림을 보냅니다.

이벤트 관리

구독을 만든 후 외부 서비스 알림 노드를 사용하여 다음 작업을 수행합니다.

  • 속성: 구독의 이름, 설명 또는 이벤트를 편집합니다. 외부 서비스 URL은 편집할 수 없습니다.

  • 삭제: 구독을 제거합니다.

참고

계층 구조의 모든 사이트에서 기존 구독을 보고 수정할 수 있습니다.

구독을 선택하면 세부 정보 창에 발생한 이벤트에 대한 정보가 표시됩니다.

이벤트 트리거

이벤트를 트리거하는 프로세스는 구독 유형에 따라 달라집니다.

  • 상태 필터 규칙의 경우 사이트 구성 요소에 대한 이벤트를 트리거합니다. 예를 들어 Configuration Manager Service Manager 사용하여 구성 요소를 다시 시작합니다.

  • 앱 승인 요청의 경우 소프트웨어 센터를 사용하여 승인이 필요한 앱을 요청합니다. 자세한 내용은 소프트웨어 센터 사용자 가이드를 참조하세요.

워크플로 모니터링

Configuration Manager 콘솔

버전 2309부터 Azure Logic Apps가 특정 이벤트 또는 조건과 관련된 알림 또는 경고를 생성할 때 Configuration Manager 이제 이러한 알림을 캡처하고 표시할 수 있습니다. 이 통합을 통해 Configuration Manager 콘솔 내에서 직접 Azure Logic App 알림을 모니터링하여 중요한 이벤트를 추적하고, 적절한 조치를 취하고, 높은 수준의 운영 효율성을 유지하기 위한 중앙 집중식 위치를 제공할 수 있습니다. 

이 기능을 사용하려면 유효한 Microsoft Entra 웹앱이 필요합니다. 관리\개요\Cloud Services\Azure Services에서 관리 서비스 관리를 위한 Azure 서비스를 배포하세요. 서비스가 이미 배포된 경우 관리자는 기존 웹 애플리케이션을 사용하여 Azure 논리 앱에서 실행 세부 정보를 볼 수 있습니다.

자세한 내용은 Configuration Manager 사용할 Azure 서비스 구성을 참조하세요.

다음 프로세스를 사용하여 구독의 실행 세부 정보를 확인합니다.

  1. Configuration Manager 콘솔에서 모니터링을 클릭합니다.
  2. 모니터링 작업 영역에서 외부 서비스 알림을 클릭하고 원하는 구독을 선택합니다.
  3. 세부 정보 표시를 클릭합니다.
  4. 대화 상자에서 Azure 환경을 선택하고 드롭다운에서 테넌트 이름을 Microsoft Entra Azure 관리 계정을 사용하여 로그인합니다.
  5. 구독 ID를 선택하고 리소스 그룹 이름 및 워크플로 이름을 입력합니다.
  6. 실행 세부 정보 가져오기 단추를 클릭하여 실행 세부 정보를 확인합니다.

Configuration Manager 콘솔의 세부 정보 실행 마법사 스크린샷

Azure Portal

5분 이내에 이벤트는 논리 앱 워크플로를 트리거합니다. Azure Portal 워크플로의 상태 확인합니다. 논리 앱의 실행 기록 페이지로 이동합니다.

자세한 내용은 실행 상태 모니터링, 트리거 기록 검토 및 Azure Logic Apps에 대한 경고 설정을 참조하세요.

문제 해결

사이트 서버에서 다음 Configuration Manager 로그 파일을 사용하여 이 프로세스 문제를 해결합니다.

  • ExternalNotificationsWorker.log: 큐가 처리되고 알림이 외부 시스템으로 전송되는지 확인합니다.
  • statmgr.log: 상태 필터 규칙이 오류 없이 처리되었는지 확인합니다.

알려진 문제

상태 필터 규칙을 만드는 경우 Configuration Manager 콘솔의 사이트 상태 필터 규칙 목록에 표시됩니다. 규칙 속성의 작업 탭에서 변경하면 외부 알림이 작동하지 않습니다.

CAS( 중앙 관리 사이트)를 복구한 후 구독을 삭제하고 다시 만듭니다.

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 Microsoft에서 디지털 서명합니다. 이 스크립트 샘플은 파일을 다운로드하고 줄 바꿈을 수정하여 디지털 서명을 유지합니다.

버전 2107에서 이벤트 만들기

버전 2107에서 지원되는 두 가지 유형의 이벤트가 있습니다.

  • 사이트는 상태 필터 규칙에 지정된 조건과 일치하는 상태 메시지를 발생합니다.

  • 사용자가 소프트웨어 센터에서 애플리케이션에 대한 승인을 요청합니다.

버전 2107에서 상태 메시지 이벤트 만들기

  1. 사이트 서버에서 SetupExternalServiceNotifications.ps1을 실행합니다. 사이트 서버에서 실행 중이므로 를 입력 y 하여 계속합니다.

  2. 옵션을 2 선택하여 새 상태 필터 규칙을 만듭니다.

  3. 새 상태 필터 규칙의 이름을 지정합니다.

  4. 규칙에 대한 메시지 일치 조건을 선택하고 일치시킬 값을 지정합니다. 조건을 사용하지 않도록 지정 0 합니다.

    다음 조건을 사용할 수 있습니다.

    • 원본: 클라이언트, SMS 공급자, 사이트 서버
    • 사이트 코드
    • 시스템
    • 구성 요소
    • 메시지 유형: 마일스톤, 세부 정보, 감사
    • 심각도: 정보, 경고, 오류
    • 메시지 ID
    • 속성
    • 속성 값

    상태 메시지 규칙의 조건에 대한 자세한 내용은 상태 시스템 사용을 참조하세요.

    중요

    만드는 상태 필터 규칙의 형식에 주의해야 합니다. 외부 알림의 경우 사이트에서 5분마다 300개의 상태 메시지를 처리할 수 있습니다. 규칙이 이 제한보다 많은 메시지를 허용하는 경우 사이트에 백로그가 발생합니다. 특정 시나리오에 대한 필터가 좁은 규칙을 만듭니다. 많은 메시지를 허용하는 일반 규칙을 사용하지 않습니다.

  5. PowerShell 스크립트를 다시 실행합니다. 옵션을 3 선택하여 새 구독을 만듭니다.

  6. 구독의 이름과 설명을 지정합니다. 그런 다음 Azure Portal 이전에 복사한 논리 앱 URL을 지정합니다.

  7. 새 상태 필터 규칙을 선택합니다.

  8. 스크립트를 종료하려면 선택합니다 0 .

버전 2107에서 앱 승인 이벤트 만들기

참고

이 이벤트 유형에는 승인이 필요하고 사용자 컬렉션에 배포되는 애플리케이션이 필요합니다. 자세한 내용은 애플리케이션 배포 및 애플리케이션승인을 참조하세요.

  1. 사이트 서버에서 SetupExternalServiceNotifications.ps1을 실행합니다. 사이트 서버에서 실행 중이므로 를 입력 y 하여 계속합니다.

  2. 옵션을 3 선택하여 새 구독을 만듭니다.

  3. 구독의 이름과 설명을 지정합니다. 그런 다음 Azure Portal 이전에 복사한 논리 앱 URL을 지정합니다.

  4. 애플리케이션 요청에 적합한 이벤트를 선택합니다.

  5. 스크립트를 종료하려면 선택합니다 0 .

버전 2107에서 구독 제거

구독을 삭제해야 하는 경우 다음 프로세스를 사용합니다.

  1. 사용 가능한 구독을 나열하는 옵션을 1 사용하여SetupExternalServiceNotifications.ps1스크립트를 실행합니다. 정수 값인 구독 ID를 확인합니다.

  2. 관리 서비스의 NotificationSubscription API를 사용합니다. URI https://<SMSProviderFQDN>/AdminService/v1.0/NotificationSubscription/<Subscription_ID>에 대한 DELETE 호출을 만듭니다.

    자세한 내용은 Configuration Manager 관리 서비스를 사용하는 방법을 참조하세요.

구독을 제거한 후에는 사이트에서 외부 시스템에 알림을 보내지 않습니다.

버전 2107의 스크립트 사용

SetupExternalServiceNotifications.ps1실행하면 사이트 서버에서 실행 중인지 여부를 감지합니다.

  • Y: 현재 서버에서 계속
  • N: 사용할 사이트 서버의 FQDN 지정

스크립트가 사이트 서버를 검색하지 않으면 FQDN을 묻는 메시지가 표시됩니다.

그런 다음 다음 작업을 사용할 수 있습니다.

  • 0: 건너뛰기/계속
  • 1: 사용 가능한 구독 나열
  • 2: 상태 메시지를 노출하는 상태 필터 규칙 만들기
  • 3: 구독을 만듭니다. 이 옵션은 최상위 사이트에서만 사용할 수 있습니다.

참고

이 스크립트는 버전 2107 이상을 실행하는 사이트에서만 지원됩니다.

다음 단계

상태 시스템 사용

경고 구성