Azure Resource Graph の VM の可用性に関する情報
Azure Resource Graph は、ログ クエリで使用されるのと同じ KQL クエリ言語を使用し、リソース プロパティによる複雑なフィルター処理、グループ化、並べ替えを使用して、Azure リソースに対して大規模にクエリを実行できる Azure サービスです。 Azure Resource Graph (ARG) に対して VM の正常性に関する注釈を使用すると、次のような障害属性とダウンタイムの詳細な分析を実行することができます。
- すべての Azure サブスクリプションにわたって VM の可用性の最新のスナップショットを一緒に照会します。
- ビジネス SLA への影響を評価し、中断とエラーの特徴の種類に応じて、決定的な軽減アクションをトリガーします。
- Resource Graph 内の追加のリソース メタデータと VM の可用性に関する情報を結合して、アプリケーションの包括的な正常性を監視するようにカスタム ダッシュボードを設定します。
- 詳細な調査を行うための変更追跡メカニズムを使用して、14 日間のローリング ウィンドウにわたって VM の可用性に関連する変更を追跡します。
Resource Graph の使用を開始するには、Azure portal で Resource Graph エクスプローラーを開きます。 [テーブル] タブを選択し、以下で説明する microsoft.resourcehealth/availabilitystatuses テーブルと microsoft.resourcehealth/resourceannotations テーブルを確認します。 healthresources をクリックして簡単なクエリを作成してから、[実行] をクリックしてレコードを返します。
レコードの詳細を表示するには、右にスクロールして [詳細の表示] を選択します。
HealthResources テーブルには、次の 2 種類のイベントが設定されます。
microsoft.resourcehealth/availabilitystatuses
このイベントは、基になる Azure プラットフォームによって実行される正常性チェックに基づいて、VM の最新の可用性の状態を示します。 VM に対して現在出力されている可用性の状態は次のとおりです。
- Available: VM が正常に稼働しています。
- Unavailable: VM の正常な機能の中断が検出されています。
- Unknown: プラットフォームで VM の正常性を正確に検出できません。 数分後に確認してください。
可用性の状態は、レコードの properties
フィールドにあり、次のプロパティが含まれます。
フィールド | 説明 |
---|---|
targetResourceType | 正常性データが流れるリソースの種類 |
targetResourceId | Resource ID |
occurredTime | プラットフォームによって最新の可用性の状態が出力されたときのタイムスタンプ |
previousAvailabilityState | VM の以前の可用性の状態 |
availabilityState | VM の現在の可用性の状態 |
サンプルの properties
の値は次のようになります。
{
"targetResourceType": "Microsoft.Compute/virtualMachines",
"targetResourceId": "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/virtualMachines/<VMName>",
"occurredTime": "2022-10-11T11:13:59.9570000Z",
"previousAvailabilityState": "Available",
"availabilityState": "Unavailable"
}
microsoft.resourcehealth/resourceannotations
このイベントは、ユーザーが必要に応じて中断を調査して軽減するのに役立つように、必要な障害属性について詳しく説明することで、VM の可用性に対するあらゆる変更をコンテキスト化します。 VM の正常性に関する注釈の全一覧は、[Resource Health 仮想マシンの正常性に関する注釈] (../service-health/resource-health-vm-annotation.md) にあります。
これらの注釈は、大きく次のように分類できます。
- ダウンタイム注釈: VM の可用性が Unavailable に切り替わることがプラットフォームで検出されたときに出力されます。 例として、ホストのクラッシュや再起動操作などが挙げられます。
- 情報注釈: VM の可用性に影響を与えないコントロール プレーン アクティビティ中に出力されます。 例として、VM の割り当て、停止、削除、開始などが挙げられます。 通常、応答に追加の顧客アクションは必要ありません。
- 劣化注釈: VM の可用性が危険にさらされていることが検出されたときに生成されます。 例として、障害予測モデルで、いつでも VM の再起動を引き起こすおそれがある、劣化したハードウェア コンポーネントが予測されるときなどが挙げられます。 予期しないデータの損失やダウンタイムを回避するには、注釈メッセージで指定された期限までに再デプロイする必要があります。
フィールド | 説明 |
---|---|
targetResourceType | 正常性データが流れるリソースの種類 |
targetResourceId | Resource ID |
occurredTime | プラットフォームによって最新の可用性の状態が出力されたときのタイムスタンプ |
annotationName | 出力された注釈の名前 |
reason | 顧客によって観測された可用性への影響の概要 |
category | 注釈のトリガー元のプラットフォーム アクティビティが、計画メンテナンスであるか計画外の修復であるかを示します。 このフィールドは、顧客や VM によって開始されるイベントには適用されません。 使用可能な値: Planned | Unplanned | Not Applicable | Null |
context | 注釈のトリガー元のアクティビティが、許可されているユーザーまたはプロセス (顧客開始) によるものか、Azure プラットフォーム (プラットフォーム開始) によるものか、結果として可用性に影響を及ぼすゲスト OS のアクティビティ (VM 開始) によるものかを示します。 使用可能な値: Platform-Initiated | User-initiated | VM-initiated | Not Applicable | Null |
まとめ | 注釈が出力される原因と、ユーザーが実行できる修復手順について詳しく説明するステートメント |
このデータを使用したサンプル クエリについては、「テーブル別の Azure Resource Graph サンプル クエリ」を参照してください。