Azure Monitor メトリックの概要

Azure Monitor メトリックは、監視対象のリソースから時系列データベースに数値データを収集する Azure Monitor の機能です。 メトリックは、一定の間隔で収集される数値であり、特定の時刻におけるシステムの何らかの特性を表しています。

注意

Azure Monitor メトリックは、Azure Monitor をサポートするデータ プラットフォームの片方です。 もう一方は、Azure Monitor ログで、ログとパフォーマンス データを収集して整理します。 豊富なクエリ言語を使用して、そのデータを分析できます。

メトリックの種類

Azure Monitor メトリックでサポートされるメトリックには複数の種類があります。

  • ネイティブ メトリックでは、分析とアラートに Azure Monitor のツールを使用します。
    • プラットフォームのメトリックは Azure リソースから収集されます。 構成は不要で、コストはかかりません。
    • カスタム メトリックは、仮想マシンで実行されているアプリケーションやエージェントなどを含む、構成するさまざまなソースから収集されます。
  • Prometheus メトリックは、Azure Kubernetes Service (AKS) を含む Kubernetes クラスターから収集され、分析とアラートに PromQL や Grafana などの業界標準のツールを使用します。

メトリックのソースと使用を示す図。

各メトリックの違いを次の表にまとめます。

カテゴリ ネイティブ プラットフォーム メトリック ネイティブ カスタム メトリック Prometheus メトリック
ソース 管理 Azure Monitor エージェント
Application Insights
REST API
Azure Kubernetes Service (AKS) クラスター
リモート書き込みによる Kubernetes クラスター
構成 None ソースによって異なる Prometheus 用の Azure Monitor マネージド サービスを有効にする
保管済み サブスクリプション サブスクリプション Azure Monitor ワークスペース
コスト いいえ はい はい (プレビュー期間中無料)
集約 事前集計 事前集計 生データ
解析 メトリックス エクスプローラー メトリックス エクスプローラー PromQL
Grafana ダッシュボード
アラート: メトリック アラート ルール メトリック アラート ルール Prometheus アラート ルール
視覚化する ブック
Azure ダッシュボード
Grafana
ブック
Azure ダッシュボード
Grafana
Grafana
取得 Azure CLI
Azure PowerShell コマンドレット
REST API またはクライアント ライブラリ
.NET
Go
Java
JavaScript
Python
Azure CLI
Azure PowerShell コマンドレット
REST API またはクライアント ライブラリ
.NET
Go
Java
JavaScript
Python
Grafana

データ コレクション

Azure Monitor では、次のソースからメトリックを収集します。 Azure Monitor メトリック データベースでこれらのメトリックが収集されると、そのソースとは無関係に一緒に評価できます。

  • Azure リソース: プラットフォーム メトリックは Azure リソースによって作成され、それらの正常性とパフォーマンスは可視化されます。 リソースの種類ごとに別個のメトリックのセットが作成され、必要な構成はありません。 メトリックの定義で特に指定がない限り、プラットフォーム メトリックは 1 分間隔で Azure リソースから収集されます。
  • アプリケーション: 監視対象のアプリケーションのメトリックが Application Insights によって作成され、パフォーマンスの問題を検出し、アプリケーションがどのように使用されているかの傾向を追跡するために役立ちます。 値には、サーバー応答時間ブラウザー例外などが含まれます。
  • 仮想マシン エージェント: メトリックは仮想マシンのゲスト オペレーティング システムから収集されます。 Azure Monitor エージェントを使用して、Windows 仮想マシンのゲスト OS メトリックを有効にすることができます。 Azure Monitor エージェントは、レガシ エージェント (Windows 診断拡張機能と Linux 仮想マシン用の InfluxData Telegraf エージェント) に置き換わります。
  • カスタム メトリック: 自動的に入手可能な標準メトリックに加えて、メトリックを定義できます。 Application Insights によって監視されるカスタム メトリックをアプリケーション内に定義できます。 また、カスタム メトリック API を使用して、Azure サービスのカスタム メトリックを作成することもできます。
  • Kubernetes クラスター: Kubernetes クラスターは、通常、管理する必要があるローカル Prometheus サーバーにメトリック データを送信します。 Prometheus 用 Azure Monitor マネージド サービス は、Kubernetes クラスターからメトリックを収集し、Azure Monitor メトリックに格納するマネージド サービスを提供します。

Note

異なるソースや異なる方法で収集されたメトリックは、それぞれ異なる方法で集計される場合があります。 たとえば、プラットフォーム メトリックは事前に集計され時系列データベースに格納されますが、Prometheus メトリックは生の data.Resource として格納されるので、待機時間が他のメトリックとは異なる場合があります。 これにより、特定のサンプル期間のメトリック値が異なる可能性があります。 時間の経過とともに待機時間が問題でなくな理、同じ時間の細分性でメトリックを分析すると、これらの相違点は解消されます。

REST API

Azure Monitor には、Azure Monitor メトリックとの間でデータを取得するための REST API が用意されています。

  • カスタム メトリック API - カスタム メトリックを使用すると、独自のメトリックを Azure Monitor メトリック データベースに読み込むことができます。 これらのメトリックは、Azure Monitor プラットフォーム メトリックを処理するのと同じ分析ツールで使用できます。
  • Azure Monitor メトリック REST API - Azure Monitor プラットフォーム メトリックの定義と値にアクセスできます。 詳細については、Azure Monitor REST API に関するページを参照してください。 API の使用方法については、Azure 監視 REST API のチュートリアルを参照してください。
  • Azure Monitor メトリック Batch REST API - Azure Monitor メトリック Batch API は、大量のメトリック クエリを使用するお客様向けに設計された大規模な API です。 これは、既存の標準の Azure Monitor メトリック REST API に似ていますが、1 つのバッチ API 呼び出しで、同じサブスクリプションとリージョン内の最大 50 個のリソース ID のメトリック データを取得する機能を提供します。 これにより、クエリのスループットが向上し、調整のリスクが軽減されます。

セキュリティ

接続されたシステムと Azure Monitor サービスの間の通信はすべては TLS 1.2 (HTTPS) プロトコルを使用して暗号化されます。 Microsoft SDL プロセスに従って、すべての Azure サービスを最新の状態に保ち、暗号化プロトコルの最新の進歩を確認します。

証明書ベースの認証とポート 443 による TLS が使用され、エージェントと Azure Monitor サービスの間にセキュリティで保護された接続が確立します。 Azure Monitor では、キーの生成と管理にシークレット ストアが使用されます。 秘密キーは 90 日ごとに交換されて Azure に格納され、厳密な規制およびコンプライアンス手順に従う Azure オペレーターによって管理されます。 セキュリティの詳細については、「転送中のデータの暗号化」、「保存データの暗号化」、および「Azure Monitor ログのデータ セキュリティ」を参照してください

メトリックス エクスプローラー

メトリックス エクスプ ローラーを使用して、メトリック データベース内のデータを対話的に分析し、一定期間にわたる複数のメトリックの値をグラフにします。 グラフをダッシュボードにピン留めして、他の視覚化と一緒に表示できます。 Azure monitoring REST API を使用してメトリックを取得することもできます。

メトリックス エクスプローラーのサンプル グラフを示すスクリーンショット。サーバー要求、サーバーの応答時間、失敗した要求が表示されています。

詳細については、「Azure Monitor メトリック ス エクスプローラーを使用したメトリックの分析」を参照してください。

データ構造

Azure Monitor のメトリックによって収集されるデータは、タイムスタンプ付きデータの分析に最適化された時系列データベースに格納されます。 メトリック値の各セットは、次のプロパティを持つ時系列です。

  • 値が収集された時刻。
  • 値が関連付けられるリソース。
  • メトリックのカテゴリのように機能する名前空間。
  • メトリック名。
  • 値そのもの。
  • 複数のディメンション (存在する場合)。 カスタム メトリックは 10 個のディメンションに制限されています。

多次元メトリック

メトリック データの課題の 1 つは、収集された値のコンテキストを提供するための情報が限定されている場合が多いことです。 Azure Monitor では、多次元メトリックを使用してこの課題に対処します。

メトリックのディメンションは、メトリックの値を記述するためのより多くのデータを保持する名前と値のペアです。 たとえば、使用可能なディスク領域というメトリックは、C:D: という値があるドライブと呼ばれるディメンションを持つことができます。 そのディメンションにより、すべてのドライブまたは個別のドライブで使用可能なディスク領域の表示が可能になります。

メトリック ス エクスプローラーでのメトリック ディメンションの表示の詳細については、「ディメンションのフィルターと分割を適用する」を参照してください。

非次元メトリック

次の表は、非次元メトリック、ネットワーク スループットからのサンプル データを示しています。 これは、「特定の時点でのネットワークのスループットは?」のような基本的な質問にのみ答えることができます。

Timestamp メトリック値
8/9/2017 8:14 1,331.8 Kbps
8/9/2017 8:15 1,141.4 Kbps
8/9/2017 8:16 1,110.2 Kbps

ネットワーク スループットと 2 つのディメンション ("IP" と "方向")

次の表は、多次元メトリックと、IPDirection という 2 つの次元をもつネットワーク スループットのサンプル データを示しています。 これは、「各 IP アドレスのネットワーク スループットは?」や「データの送信量と受信量は?」といった質問に答えることができます。

Timestamp ディメンション "IP" ディメンション "方向" メトリック値
8/9/2017 8:14 IP="192.168.5.2" 方向 = "送信" 646.5 Kbps
8/9/2017 8:14 IP="192.168.5.2" 方向 = "受信" 420.1 Kbps
8/9/2017 8:14 IP="10.24.2.15" 方向 = "送信" 150.0 Kbps
8/9/2017 8:14 IP="10.24.2.15" 方向 = "受信" 115.2 Kbps
8/9/2017 8:15 IP="192.168.5.2" 方向 = "送信" 515.2 Kbps
8/9/2017 8:15 IP="192.168.5.2" 方向 = "受信" 371.1 Kbps
8/9/2017 8:15 IP="10.24.2.15" 方向 = "送信" 155.0 Kbps
8/9/2017 8:15 IP="10.24.2.15" 方向 = "受信" 100.1 Kbps

Note

ディメンション名とディメンション値は、大文字と小文字を区別しません。

メトリックの保有期間

プラットフォームのメトリックとカスタム メトリック

プラットフォームのメトリックとカスタム メトリックは 93 日間保存されますが、次の例外があります。

  • クラシック ゲスト OS メトリック: これらのパフォーマンス カウンターは Windows 診断拡張機能 または Linux 診断拡張機能によって収集され、Azure Storage アカウントにルーティングされます。 これらのメトリックは少なくとも 14 日間保有されることが保証されています。ただし、有効期限はストレージ アカウントに記載されていません。

    パフォーマンス上の理由により、ポータルでは、表示されるデータの量をボリュームに基づいて制限しています。 したがって、作成されるデータの量が多くない場合、ポータルにより取得される実際の日数は 14 日間より長くなる場合があります。

  • Azure Monitor メトリックに送信されたゲスト OS メトリック: これらのパフォーマンス カウンターは、Windows 診断拡張機能によって収集され、Azure Monitor データ シンク、Linux マシン上の InfluxData Telegraf エージェント、またはデータ収集ルールを使用して新しい Azure Monitor エージェントに送信されます。 これらのメトリックの保有期間は 93 日です。

  • Log Analytics エージェントによって収集されたゲスト OS メトリック: これらのパフォーマンス カウンターは、Log Analytics エージェントによって収集され、Log Analytics ワークスペースに送信されます。 これらのメトリックの保有期間は 31 日で、最大 2 年間まで延長できます。

  • Application Insights ログベースのメトリック: ログベースのメトリックは、バックグラウンドでログ クエリに変換されます。 その保有期間は可変で、基になるログ内のイベントの保有期間 (31 日~ 2 年間) と一致します。 Application Insights リソースの場合、ログは 90 日間保存されます。

プラットフォームのメトリックとカスタム メトリックは 93 日間保存されますが、([メトリック] タイルで) 1 つのグラフでクエリを実行できるのは最大 30 日間分のデータのみです。 この制限は、ログ ベースのメトリックには適用されません。 空のグラフが表示される場合、またはグラフにメトリック データの一部のみが表示される場合は、日時指定の開始日と終了日の間隔が、30 日を超えていないことを確認します。 30 日間の間隔を選択したら、グラフをパンして完全なリテンション期間を表示できます。

Note

Azure リソースを移動または名前変更すると、そのリソースのメトリック履歴が失われる可能性があります。

Prometheus メトリック

Prometheus メトリックは 18 か月間保存されますが、PromQL クエリでは最大で 32 日間しかまたがることができません。

次のステップ