正常性リソース イベントをサブスクライブして Azure Monitor アラートに送信する (プレビュー)
Azure Event Grid の正常性リソース システム トピックでは、Azure リソース (単一インスタンス仮想マシン (VM)、仮想マシン スケール セット VMS、Virtual Machine Scale Sets など) の正常性に関する正確で信頼性が高く包括的な情報が提供されます。 この機能により、リソースに影響を与えるさまざまなサービスの問題をより深く理解できます。 Azure Monitor アラートを設定して、ワークロードが影響を受けたときに通知を受けられるようになりました。
前提条件
- 「Azure リソース通知 - 正常性リソース イベントをサブスクライブする」の手順に従って、正常性リソース システム トピックを作成します。
- システム トピックでサポートされるイベントの種類とそのプロパティについては、Azure Event Grid の正常性リソース イベントに関する記事を参照してください。
- Azure Monitor アラートの詳細については、「Azure Monitor アラートにイベントを送信する方法」を参照してください。
イベント サブスクリプションを作成して構成する
前提条件の一部として作成した Event Grid システム トピックに移動します。
コマンド バーで [+ イベント サブスクリプション] を選択します。
イベント サブスクリプションの名前を入力します。
イベント スキーマの場合は、クラウド イベント スキーマ v1.0 としてそのイベント スキーマを選択します。 これは、Azure Monitor アラートの送信先でサポートされている唯一のスキーマの種類です。
[トピックの種類] で
microsoft resourcenotifications healthresources
を選択します。[イベントの種類] では、関心のあるイベントの種類を選択します。 この場合は、
AvailabilityStatusChanged
とResourceAnnotated
という 2 つのイベントの種類を選択します。[エンドポイントの種類] で、宛先として [Azure Monitor アラート] を選択します。
[エンドポイントを構成する] リンクを選択します。
[Monitor アラート構成の選択] ページで、次の手順に従います。
- アラートの重要度を選択します。
- (省略可能) [アクション グループ] を選択します。 「Azure portal でアクション グループを作成する」を参照してください。
- アラートの説明を入力します。
- [選択の確認] を選択します。
次に、 [イベント サブスクリプションの作成] ページの [作成] を選択して、イベント サブスクリプションを作成します。 詳細なステップは、「ポータルを使用したイベントのサブスクライブ」を参照してください。
Azure Monitor アラート
Azure Monitor アラートでは、Event Grid アラートが次の図のように表示されます。
次の場合における Event Grid アラートのサンプルAvailabilityStatusChanged
:
次の場合における Event Grid アラートのサンプルResourceAnnotated
:
イベント フィルター
イベント フィルターを使用すると、ユーザーは、特定のリソース グループ、特定の遷移 (可用性状態が変更されたとき)、または特定の注釈に対するアラートを受け取ることができます (注釈の完全な一覧については、「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"
}
}
次のステップ
次の記事をご覧ください。