Azure 리소스 알림 - Azure Event Grid의 상태 리소스 이벤트(미리 보기)
HealthResources 시스템 토픽은 정확하고 안정적이며 포괄적인 상태 정보를 제공하여 Azure 리소스, 즉 단일 인스턴스 VM(가상 머신), Virtual Machine Scale Set VMS 및 Virtual Machine Scale Sets에 영향을 주는 다양한 서비스 문제를 더 깊이 이해할 수 있도록 합니다. 상태 리소스는 사용을 위한 두 가지(AvailabilityStatusChanged
및 ResourceAnnotated
) 이벤트 유형을 제공합니다.
이 문서에서는 Azure 리소스 알림 상태 리소스 이벤트에 대한 속성 및 스키마를 제공합니다. 일반적으로 이벤트 스키마에 대한 소개는 Azure Event Grid 이벤트 스키마를 참조하세요. 또한 생성된 이벤트의 샘플과 이 토픽 유형에 대한 시스템 토픽을 만드는 방법에 대한 관련 문서의 링크를 찾을 수 있습니다.
일정 유형
상태 리소스는 사용을 위한 다음 두 가지 이벤트 유형을 제공합니다.
이벤트 유형 | 설명 |
---|---|
Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged |
단일 인스턴스 VM, 가상 머신 확장 집합 또는 가상 머신 확장 집합의 VM 가용성 상태가 변경될 때 발생합니다. 이 정보는 Azure 서비스 문제로 인해 단일 인스턴스 VM, 가상 머신 확장 집합의 VM 또는 가상 머신 확장 집합 자체를 사용할 수 없었던 모든 시간에 대한 인사이트를 제공합니다. 다양한 상태에 대한 자세한 내용은 Azure Resource Health 개요 - Azure Service Health를 참조하세요. |
Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated |
VM, 가상 머신 확장 집합 또는 가상 머신 확장 집합의 VM 상태가 중단에 영향을 미치는 가용성의 영향을 받을 때 발생합니다. 플랫폼은 중단이 발생한 이유에 대한 컨텍스트를 제공하여 적절하게 대응할 수 있도록 지원합니다. 이 정보는 가용성 변경의 이유와 원인에 대한 중요한 정보를 제공하여 리소스의 가용성 상태를 유추하는 데 도움이 됩니다. 이 데이터를 사용하면 더 빠르고 더 많은 대상 완화 조치를 취할 수 있습니다. 내보낸 다양한 주석에 대한 자세한 내용은 Resource Health 가상 머신 상태 주석을 참조하세요. |
역할 기반 액세스 제어
현재 이러한 이벤트는 Azure 구독 범위에서만 내보내집니다. 이는 이 토픽 유형에 대한 이벤트 구독을 만드는 엔터티가 이 Azure 구독 전체에서 알림을 수신한다는 것을 의미합니다. 보안상의 이유로 이 토픽에서 이벤트 구독을 만드는 기능을 전체 Azure 구독에 대한 읽기 권한이 있는 보안 주체로 제한해야 합니다. Event Grid에 필요한 일반 권한 외에도 이 시스템 토픽을 통해 데이터에 액세스하려면 Microsoft.ResourceNotifications/systemTopics/subscribeToHealthResources/action
Azure 리소스 알림 관련 권한이 필요합니다.
이벤트 스키마
스키마는 다음과 같습니다.
{
"id": string,
"source": string,
"subject": string,
"type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged | Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
"time ": string,
"data": {
"resourceInfo": {
"id": string,
"name": string,
"type": string,
"properties": {
<<Different for AvailabilityStatusChanged event and ResourceAnnotated event>>
}
},
"operationalInfo":{
"resourceEventTime": date-time
},
"apiVersion": string
},
"specversion": string
}
이벤트에는 다음과 같은 최상위 데이터가 있습니다.
속성 | Type | 설명 |
---|---|---|
id |
문자열 | 이벤트의 고유 식별자 |
source |
문자열 | 이 시스템 토픽을 만드는 Azure 구독입니다. |
subject |
문자열 | 이 이벤트가 내보내지는 기본 리소스에 대한 게시자 정의 경로입니다. |
type |
문자열 | 이 시스템 토픽 형식의 등록된 이벤트 유형 |
time |
String 형식: 2022-11-07T18:43:09.2894075Z |
공급자의 UTC 시간을 기준으로 이벤트가 생성된 시간 |
data |
Object | 리소스 공급자와 관련된 이벤트 데이터를 포함합니다. 자세한 내용은 다음 테이블을 참조하세요. |
specversion |
문자열 | CloudEvents 스키마 사양 버전입니다. |
data
개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
resourceInfo |
Object | 리소스와 관련된 데이터입니다. 자세한 내용은 다음 테이블을 참조하세요. |
apiVersion |
문자열 | 리소스 속성의 API 버전. |
operationalInfo |
Object | 리소스와 관련된 운영 정보의 세부 정보입니다. |
resourceInfo
개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
id |
문자열 | 게시자가 정의한 이벤트 주체에 대한 경로 |
name |
문자열 | 이 필드는 이벤트 ID를 나타냅니다. 항상 id 필드의 마지막 섹션의 값을 사용합니다. |
type |
문자열 | 내보내는 이벤트의 유형입니다. 이 컨텍스트에서는 Microsoft.ResourceHealth/AvailabilityStatuses 또는 Microsoft.ResourceHealth/ResourceAnnotated 입니다. |
properties |
Object | 리소스의 페이로드입니다. 자세한 내용은 다음 테이블을 참조하세요. |
operationalInfo
개체의 속성은 다음과 같습니다.
속성 | Type | 설명 |
---|---|---|
resourceEventTime |
DateTime | 리소스가 업데이트된 날짜 및 시간입니다. |
data
개체 내의 properties
는 AvailabilityStatusChanged
및 ResourceAnnotated
이벤트에 대해 다릅니다.
AvailabilityStatusChanged 이벤트에 대한 속성
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"previousAvailabilityState": string,
"availabilityState": string
}
AvailabilityStatusChanged
이벤트의 경우 properties
개체에는 다음과 같은 속성이 있습니다.
속성 | Type | 설명 |
---|---|---|
targetResourceId |
문자열 | 가용성 정보를 내보내는 기본 리소스입니다. |
targetResourceType |
문자열 | 기본 리소스의 형식입니다. |
occurredTime |
문자열 | 이 실제 이벤트를 내보낸 시간입니다. |
previousAvailabilityState |
문자열 | 이전 가용성 상태입니다. |
availabilityState |
문자열 | 현재 가용성 상태입니다. 값 목록은 가용성 상태 - 리소스별 가져오기 - REST API(Azure Resource Health)를 참조하세요. |
ResourceAnnotated 이벤트의 속성
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"annotationName": string,
"reason": string,
"summary": string,
"context": string,
"category": string,
}
ResourceAnnotated
이벤트의 경우 properties
개체에는 다음과 같은 속성이 있습니다.
속성 | Type | 설명 |
---|---|---|
targetResourceId |
문자열 | 주석 정보를 내보내는 기본 리소스입니다. |
targetResourceType |
문자열 | 기본 리소스의 형식입니다. |
occurredTime |
문자열 | 가용성에 영향을 주는 이벤트에 대한 응답으로 Azure 플랫폼에서 주석을 내보낸 타임스탬프입니다. |
annotationName |
문자열 | 주석의 이름입니다. 주석 목록 및 해당 설명은 Resource Health 가상 머신 상태 주석 - Azure Service Health를 참조하세요. |
reason |
문자열 | 리소스 가용성이 변경되거나 영향을 받은 이유에 대한 간략한 설명입니다. |
summary |
문자열 | 자원 가용성이 변경되거나 영향을 받는 활동 및 원인에 대한 자세한 설명입니다. |
context |
문자열 | Azure 또는 사용자로 인한 작업으로 인해 리소스 가용성이 영향을 받았는지 여부를 확인합니다. |
category |
문자열 | 계획된 작업 또는 계획되지 않은 작업으로 인해 리소스 가용성이 영향을 받았는지 여부를 확인합니다. 이 속성은 Platform-Initiated 이벤트에만 적용할 수 있습니다. |
예제 이벤트
AvailabilityStatusChanged 이벤트
다음 예제에서는 키-값 수정 이벤트의 스키마를 보여줍니다.
{
"id": "1fb6fa94-d965-4306-abeq-4810f0774e97",
"source": "/subscriptions/{subscription-id}",
"subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"data": {
"resourceInfo": {
"id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/availabilityStatuses/{event-id}",
"name": "{event-id}",
"type": "Microsoft.ResourceHealth/availabilityStatuses",
"properties": {
"targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2023-07-24T19:20:37.9245071Z",
"previousAvailabilityState": "Unavailable",
"availabilityState": "Available"
}
},
"operationalInfo": {
"resourceEventTime": "2023-07-24T19:20:37.9245071Z"
},
"apiVersion": "2023-12-01"
},
"type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
"specversion": "1.0",
"time": "2023-07-24T19:20:37.9245071Z"
}
ResourceAnnotated 이벤트
다음 예제에서는 키-값 수정 이벤트의 스키마를 보여줍니다.
{
"id": "8945cf9b-e220-496e-ab4f-f3a239318995",
"source": "/subscriptions/{subscription-id}",
"subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"data": {
"resourceInfo": {
"id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/resourceAnnotations/{event-id}",
"name": "{event-id}",
"type": "Microsoft.ResourceHealth/resourceAnnotations",
"properties": {
"targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2023-07-24T19:20:37.9245071Z",
"annotationName": "VirtualMachineDeallocationInitiated",
"reason": "Stopping and deallocating",
"summary": "This virtual machine is stopped and deallocated as requested by an authorized user or process.",
"context": "Customer Initiated",
"category": "Not Applicable"
}
},
"operationalInfo": {
"resourceEventTime": "2023-07-24T19:20:37.9245071Z"
},
"apiVersion": "2022-08-01"
},
"type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
"specversion": "1.0",
"time": "2023-07-24T19:20:37.9245071Z"
}
문의하기
이 기능에 대한 질문이나 피드백이 있는 경우 주저하지 말고 arnsupport@microsoft.com을 통해 연락해 주세요.
특정 이벤트에 대한 구체적인 피드백을 더 잘 지원하기 위해 다음 정보를 제공합니다.
누락된 이벤트의 경우:
- 시스템 토픽 유형 이름
- 작업이 실행되었을 때 UTC의 대략적 타임스탬프
- 알림이 생성된 기본 리소스 ID
- Azure Portal의 리소스로 이동하고 맨 오른쪽 모서리에서 JSON 보기를 선택합니다. 리소스 ID는 JSON 보기 페이지의 첫 번째 필드입니다.
- 예상 이벤트 유형
- 실행된 작업(예: VM 시작 또는 중지, 스토리지 계정 생성 등)
- 발생한 문제에 대한 설명(예: VM이 시작되고 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged 이벤트가 생성되지 않음)
- 가능하면 실행된 작업의 상관 관계 ID를 제공합니다.
지연되었거나 예기치 않은 콘텐츠가 있는 이벤트의 경우
- 시스템 토픽 유형 이름
- data.resourceInfo.properties를 제외한 알림의 전체 콘텐츠
- 발생한 문제 및 영향을 받은 필드 값에 대한 설명
이 데이터를 공유하는 동안 최종 사용자 식별 정보를 제공하고 있지 않은지 확인합니다.
다음 단계
Azure 리소스 알림 - 상태 리소스 이벤트 구독을 참조하세요.