Share via


Azure リソース通知 - 正常性リソースのシステム トピック (プレビュー) によって発生したイベントをサブスクライブする

この記事では、「Azure リソース通知 - 正常性リソース」で公開されたイベントをサブスクライブするために必要な手順について説明します。 これらのイベントの詳細については、Azure リソース通知 - 正常性リソース イベントに関するトピックを参照してください。

正常性リソースのシステム トピックを作成する

  1. システム トピックを作成する Azure サブスクリプションにアカウントを設定します。

    az account set –s AZURESUBSCRIPTIONID
    
  2. az eventgrid system-topic create コマンドを使用して、microsoft.resourcenotifications.healthresources タイプのシステム トピックを作成します。

    az eventgrid system-topic create --name SYSTEMTOPICNAME --resource-group RESOURCEGROUPNAME --source /subscriptions/AZURESUBSCRIPTIONID --topic-type microsoft.resourcenotifications.healthresources --location Global        
    

イベントをサブスクライブする

az eventgrid system-topic event-subscription create コマンドを使用して、上記のトピックに対応するイベント サブスクリプションを作成します。

次のサンプル コマンドでは、AvailabilityStatusChanged イベントのイベント サブスクリプションを作成します。

az eventgrid system-topic event-subscription create --name EVENTSUBSCRIPTIONNAME --resource-group RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME –included-event-types Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged --endpoint /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/MYEVENTHUBSNAMESPACE/eventhubs/MYEVENTHUB --endpoint-type eventhub        

次のサンプル コマンドでは、ResourceAnnotated イベントのイベント サブスクリプションを作成します。

az eventgrid system-topic event-subscription create --name EVENTSUBSCRIPTIONNAME --resource-group RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME –included-event-types Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated --endpoint /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/MYEVENTHUBSNAMESPACE/eventhubs/MYEVENTHUB --endpoint-type eventhub        

included-event-types を指定しない場合、すべてのイベントの種類が既定で含まれます。

特定のリソースからイベントをフィルターするには、--subject-begins-with パラメータを使用します。 この例では、指定したリソース グループ内のリソースに AvailabilityStatusChanged イベントをサブスクライブする方法を示します。

az eventgrid system-topic event-subscription create --name EVENTSUBSCRIPTIONNAME --resource-group RESOURCEGROUPNAME --system-topic-name SYSTEMTOPICNAME –included-event-types Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged --endpoint /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/RESOURCEGROUPNAME/providers/Microsoft.EventHub/namespaces/MYEVENTHUBSNAMESPACE/eventhubs/MYEVENTHUB --endpoint-type eventhub --subject-begins-with /subscriptions/AZURESUBSCRIPTIONID/resourceGroups/SOURCERESOURCEGROUP/  

イベント サブスクリプションとシステム トピックを削除する

イベント サブスクリプションを削除するには、az eventgrid system-topic event-subscription delete コマンドを使用します。 次に例を示します。

az eventgrid system-topic event-subscription delete --name firstEventSubscription --resourcegroup sampletestrg --system-topic-name arnSystemTopicHealth

システム トピックを削除するには、az eventgrid system-topic delete コマンドを使用します。 次に例を示します。

az eventgrid system-topic delete --name arnsystemtopicHealth --resource-group sampletestrg

フィルター処理の例

予定外のカテゴリに属するプラットフォームによって開始される注釈をサブスクライブする

アクションを必要とするイベントにフィルターを適用できます。 迅速な軽減策のアクションを有効にするには、ほぼリアルタイムのアラートが重要です。 Azure によって開始された予定外のアクティビティにフィルターを適用することで、すぐに注意が必要なワークロード全体における予期しないアクティビティをすぐに認識できるようになります。 影響を通知するために、エンド ユーザーへの通信を再デプロイまたはトリガーする場合があります。

az eventgrid system-topic event-subscription create \
	--name firstEventSubscription \
	--resource-group sampletestrg \
	--system-topic-name arnSystemTopicHealth 
	--included-event-types Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated \
	--endpoint /subscriptions/000000000-0000-0000-0000-000000000000/resourceGroups/sampletestrg/providers/Microsoft.EventHub/namespaces/testEventHub/eventhubs/ehforsystemtopicresources \
	--endpoint-type evenhub \
	--advanced-filter data.resourceInfo.properties.context StringEndsWith Platform Initiated \
	--advanced-filter data.resourceInfo.properties.category StringEndsWith Unplanned 

特定のターゲットの種類をスコープとする注釈をサブスクライブする

影響に対する注意や軽減策が必要なリソースの種類にフィルターを適用できるため、重要な作業に集中できます。 VM 内であっても、親または仮想マシン スケール セット全体の正常性が影響を受ける場合と、仮想マシン スケール セット内のインスタンスが影響を受ける場合にのみ注意すれば大丈夫です。 このフィルターを使用すると、ほぼリアルタイムのアラートが必要なリソースの種類を正確に絞り込めます。

az eventgrid system-topic event-subscription create \
	--name firstEventSubscription \
	--resource-group sampletestrg \
	--system-topic-name arnSystemTopicHealth \
	--included-event-types Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated \
	--endpoint/subscriptions/000000000-0000-0000-0000-0000000000000/resourceGroups/sampletestrg/providers/Microsoft.EventHub/namespaces/testEventHub/eventhubs/ehforsystemtopicresources \
	--endpoint-type evenhub \
	--advanced-filter data.resourceInfo.targetResourceType StringContains Microsoft.Compute/virtualMachines

お問い合わせ

この機能について質問またはフィードバックがある場合は、ご遠慮なく arnsupport@microsoft.com までお問い合わせください。

特定のイベントについて具体的なフィードバックを提供できるように、次の情報を提供してください。

見つからないイベントの場合:

  • システム トピックの種類の名前
  • 操作が実行された時点のおおよそのタイムスタンプ (UTC)
  • 通知が生成されたベース リソース ID
  • Azure portal でお使いのリソースに移動し、右端隅にある JSON ビューを選択します。 リソース ID は、JSON ビュー ページの最初のフィールドです。
  • 予期されるイベントの種類
  • 実行された操作 (たとえば、VM の起動または停止、ストレージ アカウントの作成など)
  • 発生した問題の説明 (たとえば、VM は起動したが Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged イベントが生成されない、など)
  • 可能であれば、実行された操作の関連付け ID を提供してください

遅延したイベント、または予期しないコンテンツを含むイベントの場合

  • システム トピックの種類の名前
  • 通知のすべての内容 (data.resourceInfo.properties を除く)
  • 発生した問題と影響を受けたフィールド値の説明

このデータを共有する場合は、エンド ユーザーを特定できる情報を提供しないでください。

次のステップ

これらのイベントの詳細については、Azure リソース通知 - 正常性リソース イベントに関するトピックを参照してください。