Azure Monitor メトリックス エクスプローラーを使用してメトリックを分析する
Azure Monitor においてメトリックスとは、時間をかけて収集および保存された一連の測定値とカウントです。 メトリックスには、標準 ("プラットフォーム" とも呼ばれます) とカスタムがあります。 Azure プラットフォームでは、標準メトリックスが提供されます。 これらのメトリックスは、Azure リソースの正常性と使用状況の統計を反映します。
アプリケーションでは、標準メトリックに加えて、追加のカスタム パフォーマンス インジケーターまたはビジネス関連のメトリックを出力します。 カスタム メトリックは、任意のアプリケーションまたは Azure リソースによって出力でき、Azure Monitor Insights、仮想マシン上で実行されているエージェント、または OpenTelemetry.を使用して収集できます。
Azure Monitor メトリックス エクスプローラーは、グラフの描画、傾向の視覚的な相関付け、およびメトリック内の値の急上昇と急降下を調査するのに役立つ Azure portal のコンポーネントです。 メトリックス エクスプローラーを使用して、ご利用のソースの正常性と使用率を調査できます。
Azure Monitor メトリック ス エクスプローラーでのメトリック グラフの作成と操作の概要については、次のビデオをご覧ください。
PromQL を使用してメトリック グラフを作成する
Azure Monitor ワークスペースに保存されているメトリックに対して Prometheus クエリ言語 (PromQL) を使用してグラフを作成できるようになりました。 詳細については、「PromQL を使用したメトリックス エクスプローラー (プレビュー)」を参照してください。
メトリック グラフを作成する
メトリック ス エクスプローラーは、[Azure Monitor の概要] ページから、または任意のリソースの [監視] セクションから開くことができます。 Azure portal で [メトリック] を選択します。
Azure Monitor からメトリック ス エクスプローラーを開くと、[スコープの選択] ページが開きます。 [サブスクリプション]、 [リソース]、リージョンの [場所] フィールドを探索するリソースに設定します。 特定のリソースのメトリックス エクスプローラーを開くと、そのリソースに関する情報がスコープに事前に設定されます。
メトリックを分析するグラフを作成するための構成タスクの概要を次に示します。
リソースとメトリックを選択して、グラフを表示します。 1 つまたは複数のリソースを操作し、1 つまたは複数のメトリックを表示することを選択できます。
調査に関連する時刻設定を構成します。 グラフのパンとズームを可能にする時間の細分性を設定したり、集計を構成して最大値や最小値などの値を表示したりできます。
ディメンション フィルターと分割を使用して、メトリックのどのセグメントが全体的なメトリック値に影響しているかを分析し、データ内の考えられる外れ値を特定することができます。
高度な設定を使用してグラフをカスタマイズします。 Y 軸の範囲をロックして、重大な結果をもたらす可能性のある小さなデータの変動を特定します。 メトリックをログに関連付けて、グラフの異常の原因を診断します。
アラートを構成して、メトリック値を上回ったときまたは下回ったときに通知が届くようにします。
グラフを共有するか、ダッシュボードにピン留めします。
リソース スコープを設定する
リソース スコープ ピッカーを使用すると、グラフのスコープを設定して、1 つのリソースまたは複数のリソースのメトリックを表示できます。 複数のリソースにわたるメトリックを表示するには、リソースが同じサブスクリプションとリージョンの場所内にある必要があります。
Note
複数のリソース、リソース グループ、またはサブスクリプションのメトリックスを視覚化するには、サブスクリプション レベルの監視閲覧者のアクセス許可が付与されている必要があります。 詳細については、「Azure portal で Azure ロールを割り当てる」を参照してください。
1 つのリソースを選択する
[スコープの選択] を選択します。
スコープ ピッカーを使用して、メトリックスを表示するリソースを選択します。 特定のリソースのメトリックス エクスプローラーを開く場合は、スコープを設定する必要があります。
一部のリソースでは、一度に 1 つのリソースのメトリックスのみを表示できます。 [リソースの種類] メニューの場合、これらのリソースは [すべてのリソースの種類] セクションに表示されます。
リソースを選択します。 ピッカーが更新され、選択したリソースを含むすべてのサブスクリプションとリソース グループが表示されます。.
ヒント
複数のリソースのメトリックスを同時に表示する機能が必要な場合、あるいはサブスクリプションまたはリソース グループ全体のメトリックスを表示する場合は、 [Upvote](投票) を選択します。
選択が完了したら、 [適用] を選択します。
複数のリソースの選択
スコープ ピッカーの [リソースの種類] メニューの上部で、複数のリソースに対してクエリを実行できるメトリックを確認できます。
複数のリソースのメトリックを視覚化するには、まず、リソース スコープ ピッカー内で複数のリソースを選択します。
選択するリソースは、同じリソースの種類、場所、サブスクリプション内のものに限られます。 これらの基準を満たしていないリソースは選択できません。
[適用] を選択します。
リソース グループまたはサブスクリプションの選択
複数のリソースに互換性のある種類の場合、サブスクリプションまたは複数のリソース グループにわたるメトリックスに対してクエリを実行することもできます。
時間の範囲を構成する
時刻の選択ツールを使用すると、監視シナリオに関連するデータを表示するようにメトリック グラフの時間の範囲を構成できます。 既定では、直近の 24 時間のメトリック データがグラフに表示されます。
Note
Azure のほとんどのメトリックは 93 日間保存されます。 1 つのグラフでクエリできるデータは 30 日分までです。 グラフをパンすると、完全な保有期間を表示できます。 この 30 日の制限は、ログベースのメトリックには適用されません。
時刻の選択ツールを使用して、過去 12 時間や過去 30 日間など、データの時間の範囲を変更します。
時刻の選択ツールを使用して時間の範囲を変更できるほか、グラフ エリアのコントロールを使用してパンおよびズームすることもできます。
対話的なグラフ機能
メトリック データ間でパンする
パンするには、グラフの端にある左と右の矢印を選択します。 この矢印コントロールにより、選択した時間の範囲がグラフの期間の半分ずつ移動します。 過去 24 時間を表示している場合は、左矢印を選択すると、時間の範囲が 12 時間シフトして 1 日半前になります。
メトリック データを拡大する
グラフ データの時間の細分性を構成して、時間の範囲の拡大と縮小をサポートできます。 グラフ内で関心のある領域 (データの急上昇や急降下など) を調査するには、時間ブラシを使用します。 グラフ上の領域を選択して、グラフを拡大すると、細分性の設定に基づいて、選択した領域の詳細が表示されます。 期間粒度が [自動] に設定されている場合は、ズームすると、より小さい期間粒度が選択されます。 新しい時間の範囲は、メトリックス エクスプローラーのすべてのグラフに適用されます。
複数のメトリックの線とグラフを表示する
複数のメトリックの線をプロットするグラフを作成することや、同時に複数のメトリック グラフを表示することができます。 この機能を利用すると、次のことが可能になります。
- 1 つの値が別の値とどのように関連しているかを確認できるように、同じグラフ上の関連するメトリックスの相互関係を示す。
- 異なる測定単位を使用するメトリックスを近くに表示する。
- 複数のリソースのメトリックスを視覚的に集計して比較する。
5 つのストレージ アカウントを所有しており、それらが合わせてどのくらいの領域を消費しているかを知りたいとします。 ある時点での個々の値とすべての値の合計を表示する積み上げ面グラフを作成できます。
グラフを作成したら、[メトリックの追加] を選択して、同じグラフに別のメトリックを追加します。
複数のグラフを追加する
通常、グラフでは、異なる測定単位を使用するメトリックスを混在させることはできません。 たとえば、ミリ秒が使用されているあるメトリックを、キロバイトが使用されている別のメトリックと混在させないようにします。 また、スケールが大きく異なるメトリックスも混在させないようにします。 このような場合は、代わりに複数のグラフを使用することを検討してください。
異なるメトリックを使用する別のグラフを作成するには、 [新規グラフ] を選択します。
複数のグラフの順序を変更または削除するには、[その他のオプション] (...) を選択し、[上へ移動]、[下へ移動]、または [削除] アクションを選択します。
異なる線の色を使用する
グラフの線の色は既定のパレットから自動的に割り当てられます。 グラフの線の色を変更するには、グラフの線に対応する凡例の色分けされたバーを選択します。 カラー ピッカーを使用して、線の色を選択します。
ダッシュボードにグラフをピン留めしても、カスタマイズした色は保持されます。 次のセクションでは、グラフをピン留めする方法について説明します。
集計を構成する
グラフにメトリックを追加すると、メトリックス エクスプローラーによって既定の集計が適用されます。 基本的なシナリオでは既定値が適していますが、別の集計を使用することで、メトリックに関する分析情報をさらに得ることができます。
グラフ上でさまざまな集計を使用する前に、メトリックス エクスプローラーでこれらがどのように処理されるかを理解しておく必要があります。 メトリックスは、ある期間を通してキャプチャされた一連の測定値 (または "メトリック値") です。 グラフをプロットすると、選択されたメトリックの値は、"時間の細分性"で個別に集計されます。
期間粒度のサイズを選択するには、メトリックス エクスプローラーの [時刻の選択ツール] を使用します。 期間粒度を明示的に選択しない場合、メトリックス エクスプローラーでは現在選択されている時間の範囲が既定で使用されます。 メトリックス エクスプローラーによって期間粒度が決定されると、各期間粒度でキャプチャされたメトリック値が集計され、期間粒度ごとに 1 つのデータ ポイントがグラフに配置されます。
サーバーの応答時間メトリックが表示されているグラフがあるとします。 これは、過去 24 時間の期間にわたって平均の集計を使用しています。
このシナリオでは、時間粒度を 30 分に設定すると、メトリックス エクスプローラーでは集計された 48 個のデータポイントからグラフが描画されます。 つまり、24 時間で、1 時間あたり 2 つのデータ ポイントが使用されます。 折れ線グラフでは、グラフのプロット エリア上にある 48 個の点が結ばれています。 各データ ポイントは、対象となる 30 分間に発生したサーバー要求においてキャプチャされたすべての応答時間の "平均" を表します。 時間の粒度を 15 分に切り替えると、集計された 96 個のデータ ポイントが取得されます。 つまり、24 時間で、1 時間あたり 4 つのデータ ポイントが取得されます。
メトリックス エクスプローラーには 5 つの集計の種類があります。
Sum:集計間隔でキャプチャされたすべての値の合計。 sum 集計は total 集計とも呼ばれています。
Count:集計間隔でキャプチャされた測定値の数。
このメトリックが常に 1 の値でキャプチャされる場合、count 集計は合計集計と同じになります。 このシナリオは、メトリックが個別のイベントの数を追跡し、各測定が 1 つのイベントを表す場合によく見られます。 このコードを使用すると、新しい要求が到着するたびにメトリック レコードが生成されます。
Average: 集計間隔でキャプチャされたメトリック値の平均。
Min:集計間隔でキャプチャされた値の最小値。
Max:集計間隔でキャプチャされた値の最大値。
メトリックス エクスプローラーでは、関連性のない集計が非表示になり、使用できなくなります。
メトリックの集計の仕組みの詳細については、「Azure Monitor メトリックの集計と表示」を参照してください。
ディメンションのフィルターと分割を使用する
フィルター処理と分割は、ディメンションを持つメトリックのための強力な診断ツールです。 これらのオプションを実装して、メトリックのどのセグメントが全体的なメトリック値に影響しているかを分析し、メトリック データ内の考えられる外れ値を特定することができます。 これらの機能では、さまざまなメトリックのセグメントまたはディメンジョンが全体的なメトリック値にどのような影響を与えているかが示されます。
フィルター処理を使用すると、グラフに表示するディメンション値を選択できます。 サーバー応答時間メトリックのグラフを作成するときは、成功した要求を表示します。 その場合は、"要求の成功" ディメンションに対してフィルターを適用します。
分割を使用すると、グラフ内でディメンションの値ごとに個別のラインを表示するか、値を集計して 1 本のラインとして表示するかを制御できます。 分割することで、メトリックのセグメントを互いに比較してどのように異なるかを視覚化することができます。 すべてのサーバー インスタンスの平均 CPU 使用を 1 本のラインを表示することも、サーバーごとに個別のラインを表示することもできます。
ヒント
シナリオとは無関係のセグメントを非表示にしてグラフを読みやすくするには、同じディメンションでフィルター処理と分割の両方を使用します。
フィルターの追加
ディメンションを持つメトリックスが含まれるグラフには、フィルターを適用することができます。 Response type ディメンションを持つ Transaction count メトリックについて考えてみましょう。 このディメンションは、トランザクションからの応答が成功したか失敗したかを示します。 このディメンションをフィルター処理すると、メトリックス エクスプローラーには、成功したトランザクションのみ、または失敗したトランザクションのみのグラフ線が表示されます。
グラフの上で、[フィルターの追加] を選択してフィルター ピッカーを開きます。
[プロパティ]候補リストからディメンションを選択します。
ディメンション (またはプロパティ) に適用する演算子を選択します。 既定の演算子は等しい (
=
) です。グラフをプロットするときに、フィルターに適用するディメンション値を選択します。 この例では、成功したストレージ トランザクションをフィルターで除外する操作を示しています。
フィルター値を選択した後、フィルター ピッカー の外側をクリックしてアクションを完了します。 グラフには、失敗したストレージ トランザクションの数が表示されます。
これらの手順を繰り返して、同じグラフに複数のフィルターを適用します。
メトリック分割を適用する
メトリックをディメンションで分割することで、メトリックのセグメントがどのように異なるかを視覚化することもできます。 分割は、ディメンションの値が異常なセグメントを識別するのにも役立ちます。
グラフの上で、[分割の適用] を選択してセグメント ピッカーを開きます。
グラフのセグメント化に使用するディメンションを選択します。
グラフには複数の線が表示され、各線はディメンションのセグメントを示します。
選択したディメンションで分割した後に表示する値の数の制限を選択します。 上の図に示されているように、既定の制限は 10 です。 制限の範囲は 1 から 50 です。
セグメントの並べ替え順序として、[降順] (既定) または [昇順] を選択します。
[値] 候補リストから複数のディメンションを選んで、複数のセグメントでセグメント化します。 凡例には、各セグメントのディメンション値のコンマ区切りの一覧が表示されます。
セグメント ピッカーの外側をクリックしてアクションを完了し、グラフを更新します。
複数のリソースのメトリックを分割する
複数のリソースのメトリックをプロットする場合は、[分割の適用] を使用して、リソース ID またはリソース グループで分割することができます。 分割を使用すると、複数のリソースまたはリソース グループ間で 1 つのメトリックを簡単に比較できます。 次のグラフは、9 台の仮想マシンの CPU 利用率を示しています。 リソース ID で分割すると、仮想マシンごとの CPU 使用率が表示されます。
フィルター処理と分割を使用する例については、「メトリック グラフの例」を参照してください。
Y 軸の範囲をロックする
大きな値のわずかな変動を表すグラフの場合、値 (Y) 軸の範囲をロックすることが重要となります。 成功した要求のボリュームが 99.99% から 99.5% に低下した場合、サービスの品質としては、大幅な悪化を表している可能性がある点を考えてみましょう。 グラフの既定の設定を使用している場合、数値のわずかな変動は気付きにくいか、まったくわからないこともあります。 この場合、グラフの下限境界を 99% にロックすることで、このわずかな低下を目立たせることができます。
別の例として、使用可能なメモリの変動があります。 このシナリオで、技術的には値が 0 になることはありません。 より高い値に範囲を固定することで、使用可能なメモリ量の低下が特定しやすくなると考えられます。
Y 軸の範囲を制御するには、[その他のオプション] (...) 選択して、グラフの詳細設定を参照します>グラフの設定。
[Y 軸の範囲] セクションの各値を変更するか、 [自動] を選択して既定値に戻します。
一定期間にわたって、カウント、合計値、最小値、または最大値の集計を追跡するグラフの Y 軸の境界をロックする場合は、固定の時間粒度を指定します。 自動の既定値は使用しないでください。
固定の時間粒度を選択するのは、ユーザーがブラウザのウィンドウのサイズを変更したり、画面の解像度を変更したりすると、時間の粒度が自動的に変更され、グラフの値が変化するためです。 それによって生じた時間の細分性の変化がグラフの外観に影響を及ぼし、Y 軸の範囲に対する選択が適さなくなってしまいます。
アラート ルールの設定
視覚化条件を使用して、メトリックベースのアラート ルールを作成できます。 新しいアラート ルールには、グラフのターゲット リソース、メトリック、分割、およびフィルターのディメンションが含まれます。 これらの設定を変更するには、[Create an alert rule] (アラート ルールの作成) ウィンドウを使用します。
警告ルールを作成するには、グラフの右上隅にある [新しい警告ルール] を選択します。
[条件] タブを選択します。[シグナル名] エントリは、既定でグラフのメトリックに設定されます。 別のメトリックを選択することもできます。
[しきい値] に数値を入力します。 しきい値は、アラートをトリガーする値です。 プレビューのグラフには、メトリック値の上に横線でしきい値が表示されます。 準備ができたら、[詳細] タブを選択します。
アラート ルールの [名前] と [説明] に値を入力します。
アラート ルールの重大度レベルを選択します。 重大度には、[Critical] (クリティカル)、[Error Warning] (エラー警告)、[Informational] (情報)、[Verbose] (詳細) があります。
[確認 + 作成] を選択してアラート ルールを確認します。
[作成] を選択してアラート ルールを作成します。
詳細については、メトリック アラートを作成、表示、管理する方法に関するページを参照してください。
メトリックをログに関連付ける
メトリックス エクスプローラーの [ログの詳細を表示] 機能を使用すると、メトリック グラフ内の異常の根本原因を診断するのに役立ちます。 ログの詳細を表示すると、メトリック グラフでの急増を次の種類のログとクエリに関連付けることができます。
- アクティビティ ログ: 外部 (管理プレーン) からのサブスクリプション内の各 Azure リソースの操作と、Azure Service Health イベントの更新についての分析情報を提供します。 アクティビティ ログを使用して、サブスクリプションのリソースに対して行われるすべての書き込み操作 (
PUT
、POST
、またはDELETE
) について、何を、誰が、いつ行ったのかを確認できます。 Azure サブスクリプションごとに 1 つのアクティビティ ログがあります。 - 診断ログ: Azure リソース内 (データ プレーン) で実行した操作の分析情報を提供します。 たとえば、キー コンテナーからのシークレットの取得や、データベースへの要求などです。 リソース ログの内容は、Azure サービスとリソースの種類によって異なります。 リソースのログを有効にする必要があります。
- 推奨されるログ メトリック エクスプローラーで異常を調査するために利用できるシナリオベースのクエリを提供します。
現在、[ログの詳細を表示] は一部のリソース プロバイダーで使用できます。 完全なログの詳細を表示エクスペリエンスを提供するリソース プロバイダーには、Azure Application Insights、Autoscale、Azure App Service、Azure Storage などがあります。
失敗した要求のスパイクを診断するには、[ログの詳細を表示] を選択します。
候補リストで、[失敗] を選択します。
失敗を示すカスタム ウィンドウで、失敗した操作、上位の例外の種類、失敗した依存関係を確認します。
グラフを共有する
グラフを構成したら、それをダッシュボードまたはブックに追加できます。 ダッシュボードやブックにグラフを追加することで、チームがそのグラフにアクセスしやすくすることができます。 他の監視情報のコンテキストで情報を表示することで、分析情報を得ることもできます。
構成したグラフをダッシュボードにピン留めするには、グラフの右上隅で [ダッシュボードに保存]>[ダッシュボードにピン留めする] を選択します。
構成したグラフをブックに保存するには、グラフの右上隅で [ダッシュボードに保存]>[ブックに保存] を選択します。
Azure Monitor メトリック ス エクスプローラーの [共有] メニューには、メトリック グラフを共有するためのオプションがいくつか含まれています。
[Excel にダウンロード] オプションを使用して、グラフをすぐにダウンロードします。
[リンクのコピー] オプションを選択して、グラフへのリンクをクリップボードに追加します。 リンクが正常にコピーされると、通知を受け取ります。
[ブックに送信] ウィンドウで、グラフを新規または既存のブックに送信できます。
[Grafana にピン留めする] ウィンドウでは、グラフを新規または既存の Grafana ダッシュボードに送信できます。
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
Azure 仮想マシンのゲスト OS のメトリックがメトリックス エクスプローラーに表示されないのはなぜですか?
プラットフォーム メトリックは、Azure リソースについて自動的に収集されます。 ただし、仮想マシンのゲスト OS からメトリックを収集するには、いくつかの構成を実行する必要があります。 Windows 仮想マシンの場合は、Windows 用の Azure Diagnostics 拡張機能 (WAD) のインストールと構成に関するページの説明に従い、診断拡張機能をインストールし、Azure Monitor シンクを構成します。 Linux の場合は、「Linux VM のカスタム メトリックを InfluxData Telegraf エージェントを使用して収集する」の説明に従って、Telegraf エージェントをインストールします。
Azure Monitor メトリック エクスプローラーで Prometheus メトリックを表示できますか?
PromQL を使用したメトリックス エクスプローラーは、PromQL を使用した Prometheus のメトリック データの視覚化をサポートします。 PromQL をサポートするメトリックス エクスプローラーを使用するには、Azure portal の Azure Monitor ワークスペースから [メトリック] メニュー項目を選択します。 詳細については、「PromQL を使用したメトリックス エクスプローラー (プレビュー)」を参照してください。