상태 리소스 이벤트를 구독하고 Azure Monitor 경고로 보내기(미리 보기)
Azure Event Grid의 상태 리소스 시스템 항목는 단일 인스턴스 VM(가상 머신), 가상 머신 확장 집합 VMS 및 Virtual Machine Scale Sets와 같은 Azure 리소스의 상태에 대한 정확하고 안정적이며 포괄적인 정보를 제공합니다. 이 기능을 사용하면 리소스에 영향을 미치는 다양한 서비스 문제를 더 깊이 이해할 수 있습니다. 이제 워크로드가 영향을 받을 때 알리도록 Azure Monitor 경고를 설정할 수 있습니다.
필수 조건
- Azure 리소스 알림 - 상태 리소스 이벤트 구독의 지침에 따라 상태 리소스 시스템 항목을 만듭니다.
- Azure Event Grid의 상태 리소스 이벤트 문서를 읽어 시스템 항목과 해당 속성에서 지원되는 이벤트 유형에 대해 알아봅니다.
- Azure Monitor 경고에 대해 알아보려면 Azure Monitor 경고에 이벤트를 보내는 방법을 참조하세요.
이벤트 구독 만들기 및 구성
필수 구성 요소의 일부로 만든 Event Grid 시스템 항목으로 이동합니다.
명령 모음에서 + 이벤트 구독을 선택합니다.
이벤트 구독 이름을 입력합니다.
이벤트 스키마의 경우 이벤트 스키마를 클라우드 이벤트 스키마 v1.0으로 선택합니다. Azure Monitor 경고 대상이 지원하는 유일한 스키마 형식입니다.
토픽 유형을
microsoft resourcenotifications healthresources
로 선택합니다.이벤트 유형에서 관심 있는 이벤트 유형을 선택합니다. 이 경우 사용량을 위해 제공되는 두 가지 이벤트 유형인
AvailabilityStatusChanged
및ResourceAnnotated
를 선택합니다.엔드포인트 유형의 경우 Azure Monitor 경고를 대상으로 선택합니다.
엔드포인트 구성 링크를 선택합니다.
모니터 경고 구성 선택 페이지에서 다음 단계를 수행합니다.
- 경고 심각도
- [선택 사항] 작업 그룹을 선택합니다. Azure Portal에서 작업 그룹 만들기를 참조하세요.
- 경고에 대한 설명 을 입력합니다.
- 선택 확인을 선택합니다.
이제 이벤트 구독 만들기 페이지에서 만들기를 선택하여 이벤트 구독을 만듭니다. 자세한 단계는 포털을 통해 이벤트 구독을 참조하세요.
Azure Monitor 경고
Azure Monitor 경고에서 Event Grid 경고는 다음 이미지와 같이 나타납니다.
AvailabilityStatusChanged
에 대한 샘플 Event Grid 경고:
ResourceAnnotated
에 대한 샘플 Event Grid 경고:
이벤트 필터
이벤트 필터를 사용하면 사용자는 특정 리소스 그룹, 특정 전환(가용성 상태가 변경되는 경우) 또는 특정 주석에 대한 경고를 받을 수 있습니다(전체 주석 목록은 Resource Health 가상 머신 상태 주석 참조). 사용자는 이 기능을 사용하여 특정 모니터링 요구 사항에 따라 경고를 사용자 지정할 수 있습니다.
필터 탭을 선택하여 제목 필터링 및 고급 필터링 기능을 제공합니다. 예를 들어 특정 리소스 그룹의 리소스에서 이벤트를 필터링하려면 다음 단계를 수행합니다.
제목 필터링 사용을 선택합니다.
제목 필터 섹션에서 다음으로 시작하는 제목의 경우 리소스 그룹의 값을
/subscriptions/{subscription-id}/resourceGroups/{resourceGroup-id}
형식으로 제공합니다.또는 다음 단계에 도입된 고급 필터 내에서 제목 종료 문자 매개 변수에 리소스 이름을 지정하여 특정 리소스를 필터링합니다.
고급 필터링을 사용하려면 이벤트 구독의 필터 탭으로 이동하여 고급 필터를 선택합니다. 자세한 지침은 Azure Event Grid에 대한 이벤트 필터링을 참조하세요.
예를 들어, VM이 다운될 때 경고를 가져오려면
Available
에서Unavailable
로 이동하는 VM 가용성 전환을 찾도록 필터를 설정합니다. 다음 조건을 만들면 됩니다.
샘플 JSON 이벤트
샘플 ResourceAnnotated 이벤트
다음은 샘플 ResourceAnnotated
이벤트입니다. type
이 Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated
로 설정되어 있다는 점에 유의하세요.
{
"id": "sample-id",
"source": "/subscriptions/sample-subscription",
"specversion": "1.0",
"type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
"subject": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
"time": "2024-02-22T01:39:48.3385828Z",
"data": {
"resourceInfo": {
"id": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine/providers/Microsoft.ResourceHealth/resourceAnnotations/current",
"name": "current",
"type": "Microsoft.ResourceHealth/resourceAnnotations",
"properties": {
"targetResourceId": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2024-02-22T01:39:48.3385828Z",
"annotationName": "VirtualMachineRebootInitiatedByControlPlane",
"reason": "Rebooted by user",
"summary": "The Virtual Machine is undergoing a reboot as requested by an authorized user or process from within the Virtual machine. No other action is required at this time. ",
"context": "Customer Initiated",
"category": "Not Applicable",
"impactType": "Informational"
}
},
"operationalInfo": {
"resourceEventTime": "2024-02-22T01:39:48.3385828+00:00"
},
"apiVersion": "2022-08-01"
}
}
샘플 AvailabilityStatusChanged 이벤트
다음은 샘플 AvailabilityStatusChanged
이벤트입니다. type
이 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged
로 설정되어 있다는 점에 유의하세요.
{
"id": "sample-id",
"source": "/subscriptions/sample-subscription",
"specversion": "1.0",
"type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
"subject": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
"time": "2024-02-22T01:40:17.6532683Z",
"data": {
"resourceInfo": {
"id": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
"name": "current",
"type": "Microsoft.ResourceHealth/availabilityStatuses",
"properties": {
"targetResourceId": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2024-02-22T01:39:50.177Z",
"previousAvailabilityState": "Available",
"availabilityState": "Unavailable"
}
},
"operationalInfo": {
"resourceEventTime": "2024-02-22T01:39:50.177+00:00"
},
"apiVersion": "2023-12-01"
}
}
다음 단계
다음 문서를 참조하세요.