Logic Apps를 사용하여 경고 알림 사용자 지정

이 문서에서는 논리 앱을 만들고 Azure Monitor 경고와 통합하는 방법을 보여 줍니다.

Azure Logic Apps를 사용하여 통합을 위한 워크플로를 빌드하고 사용자 지정할 수 있습니다. Logic Apps를 사용하여 경고 알림을 사용자 지정합니다. 마케팅 목록의 구성원을 관리할 수 있습니다.

  • 사용자 고유의 메일 제목 및 본문 형식을 사용하여 경고 메일을 사용자 지정합니다.
  • 영향을 받는 리소스에 대한 태그를 조회하거나 로그 쿼리 검색 결과를 가져와 경고 메타데이터를 사용자 지정합니다. 경고 데이터가 포함된 검색 결과 행에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하세요.
  • Outlook, Microsoft Teams, Slack 및 PagerDuty와 같은 기존 커넥터를 사용하여 외부 서비스와 통합합니다. 자체 서비스에 대한 논리 앱을 구성할 수도 있습니다.

이 예에서는 공통 경고 스키마를 사용하여 경고의 세부 정보를 보내는 논리 앱을 만듭니다.

논리 앱 만들기

  1. Azure Portal에서 새 논리 앱을 만듭니다. 페이지 상단의 검색 표시줄에 Logic Apps를 입력합니다.

  2. Logic Apps 페이지에서 추가를 선택합니다.

  3. 논리 앱의 구독리소스 그룹을 선택합니다.

  4. 논리 앱 이름을 설정합니다. 플랜 유형에서 소비를 선택합니다.

  5. 검토 + 만들기>만들기를 차례로 선택합니다.

  6. 배포가 완료된 후 리소스로 이동을 선택합니다.

    Screenshot that shows the Create Logic App page.

  7. Logic Apps 디자이너 페이지에서 HTTP 요청을 수신하는 경우를 선택합니다.

    Screenshot that shows the Logic Apps Designer start page.

  8. 다음 JSON의 요청 본문 JSON 스키마 필드에 일반적인 경고 스키마를 붙여넣습니다.

     {
        "type": "object",
        "properties": {
            "schemaId": {
                "type": "string"
            },
            "data": {
                "type": "object",
                "properties": {
                    "essentials": {
                        "type": "object",
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "alertRule": {
                                "type": "string"
                            },
                            "severity": {
                                "type": "string"
                            },
                            "signalType": {
                                "type": "string"
                            },
                            "monitorCondition": {
                                "type": "string"
                            },
                            "monitoringService": {
                                "type": "string"
                            },
                            "alertTargetIDs": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "originAlertId": {
                                "type": "string"
                            },
                            "firedDateTime": {
                                "type": "string"
                            },
                            "resolvedDateTime": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "essentialsVersion": {
                                "type": "string"
                            },
                            "alertContextVersion": {
                                "type": "string"
                            }
                        }
                    },
                    "alertContext": {
                        "type": "object",
                        "properties": {}
                    }
                }
            }
        }
    }
    

    Screenshot that shows the Parameters tab for the When an HTTP request is received pane.

  9. (선택 사항). 리소스의 태그와 같이 경고가 발생한 영향을 받는 리소스에 대한 정보를 추출하여 경고 알림을 사용자 지정할 수 있습니다. 그런 다음 경고 페이로드에 해당 리소스 태그를 포함하고 논리 식의 정보를 사용하여 경고를 보낼 수 있습니다. 이 단계를 수행하려면 다음을 수행합니다.

    • 영향을 받는 리소스 ID에 대한 변수를 만듭니다.
    • 다양한 요소(예: 구독 및 리소스 그룹)를 사용할 수 있도록 리소스 ID를 배열로 분할합니다.
    • Azure Resource Manager 커넥터를 사용하여 리소스의 메타데이터를 읽습니다.
    • 논리 앱의 후속 단계에서 사용할 수 있는 리소스의 태그를 가져옵니다.
    1. 새 단계를 삽입하려면 +>작업 추가를 선택합니다.

    2. 검색 입력란에서 변수 초기화를 검색하고 선택합니다.

    3. 이름 입력란에 AffectedResource와 같은 변수 이름을 입력합니다.

    4. 유형 필드에서 배열을 선택합니다.

    5. 입력란에서 동적 콘텐츠 추가를 선택합니다. 탭을 선택하고 split(triggerBody()?['data']?['essentials']?['alertTargetIDs'][0], '/') 문자열을 입력합니다.

      Screenshot that shows the Parameters tab for the Initialize variable pane.

    6. 다른 단계를 삽입하려면 +>작업 추가를 선택합니다.

    7. 검색 필드에서 Azure Resource Manager>리소스 읽기를 검색하고 선택합니다.

    8. 리소스 읽기 작업의 필드를 AffectedResource 변수의 배열 값으로 채웁니다. 각 입력란에서 입력란을 선택하고 사용자 지정 값 입력까지 아래로 스크롤합니다. 동적 콘텐츠 추가를 선택한 다음, 탭을 선택합니다. 다음 표의 문자열을 입력합니다.

      필드 문자열 값
      구독 variables('AffectedResource')[2]
      리소스 그룹 variables('AffectedResource')[4]
      리소스 공급자 variables('AffectedResource')[6]
      짧은 리소스 ID concat(variables('AffectedResource')[7], '/', variables('AffectedResource')[8])
      클라이언트 API 버전 리소스 종류의 API 버전

      리소스 종류의 API 버전을 찾으려면 리소스 개요 페이지의 오른쪽 상단에 있는 JSON 보기 링크를 선택합니다. 페이지 상단에 ResourceIDAPI 버전과 함께 리소스 JSON 페이지가 표시됩니다.

    이제 동적 콘텐츠에 영향을 받는 리소스의 태그가 포함됩니다. 다음 단계에 설명된 대로 알림을 구성할 때 이러한 태그를 사용할 수 있습니다.

  10. 메일을 보내거나 Teams 메시지를 게시합니다.

  11. 새 단계를 삽입하려면 +>작업 추가를 선택합니다.

    Screenshot that shows the parameters for When an HTTP request is received.

  1. 검색 필드에서 Outlook을 검색합니다.

  2. Office 365 Outlook을 선택합니다.

    Screenshot that shows the Add an action page of the Logic Apps Designer with Office 365 Outlook selected.

  3. 작업 목록에서 메일 보내기(V2)를 선택합니다.

  4. 연결을 만들라는 메시지가 표시되면 Office 365에 로그인합니다.

  5. 동적 콘텐츠 목록에서 필드를 선택하여 정적 텍스트를 입력하고 경고 페이로드에서 가져온 콘텐츠를 포함하여 메일 본문을 만듭니다. 예시:

    • 경고에 모니터링 조건이 있음:동적 콘텐츠 목록에서 monitorCondition을 선택합니다.
    • 해고 날짜:동적 콘텐츠 목록에서 firedDateTime을 선택합니다.
    • 영향을 받는 리소스:동적 콘텐츠 목록에서 alertTargetIDs를 선택합니다.
  6. 제목 필드에서 정적 텍스트를 입력하고, 동적 콘텐츠 목록에서 필드를 선택하여 경고 페이로드에서 가져온 콘텐츠를 포함하여 제목 텍스트를 만듭니다. 예시:

    • 경고:동적 콘텐츠 목록에서 alertRule을 선택합니다.
    • 심각도 포함:동적 콘텐츠 목록에서 심각도를 선택합니다.
    • 조건 있음:동적 콘텐츠 목록에서 monitorCondition을 선택합니다.
  7. 받는 사람 입력란에 경고를 보낼 이메일 주소를 입력합니다.

  8. 저장을 선택합니다.

    Screenshot that shows the Parameters tab on the Send an email pane.

이메일을 트리거한 경고의 세부 정보와 함께 지정된 주소로 이메일을 보내는 논리 앱을 만들었습니다.

다음 단계는 논리 앱을 트리거하는 작업 그룹을 만드는 것입니다.

작업 그룹 만들기

논리 앱을 트리거하려면 작업 그룹을 만듭니다. 그런 다음 해당 작업 그룹을 사용하는 경고를 만듭니다.

  1. Azure Monitor 페이지로 이동하고 왼쪽 창에서 경고를 선택합니다.

  2. 작업 그룹>만들기를 선택합니다.

  3. 구독, 리소스 그룹지역에 대한 값을 선택합니다.

  4. 작업 그룹 이름표시 이름의 이름을 입력합니다.

  5. 작업 탭을 선택합니다.

    Screenshot that shows the Actions tab on the Create an action group page.

  6. 작업 유형 아래의 작업 탭에서 논리 앱을 선택합니다.

  7. 논리 앱 섹션의 드롭다운에서 논리 앱을 선택합니다.

  8. 일반 경고 스키마 사용로 설정합니다. 아니요를 선택하면 경고 형식에 따라 사용할 경고 스키마가 결정됩니다. 경고 스키마에 대한 자세한 내용은 컨텍스트별 경고 스키마를 참조하세요.

  9. 확인을 선택합니다.

  10. 이름 필드에 이름을 입력합니다.

  11. 검토 + 만들기>만들기를 차례로 선택합니다.

    Screenshot that shows the Actions tab on the Create an action group page and the Logic App pane.

작업 그룹 테스트

  1. 작업 그룹을 선택합니다.

  2. 논리 앱 섹션에서 테스트 작업 그룹(미리 보기)을 선택합니다.

    Screenshot that shows an action group details page with the Test action group option.

  3. 샘플 형식 선택 드롭다운에서 샘플 경고 형식을 선택합니다.

  4. 테스트를 선택합니다.

    Screenshot that shows an action group details Test page.

    다음 이메일이 지정된 계정으로 전송됩니다.

    Screenshot that shows a sample email sent by the Test page.

작업 그룹을 사용하여 규칙 만들기

  1. 리소스 중 하나에 대한 규칙을 만듭니다.

  2. 규칙의 작업 탭에서 작업 그룹 선택을 선택합니다.

  3. 목록에서 작업 그룹을 선택합니다.

  4. 선택을 선택합니다.

  5. 규칙 만들기를 완료합니다.

    Screenshot that shows the Actions tab on the Create an alert rule pane and the Select action groups pane.

다음 단계