Azure Monitor メトリックは、監視対象のリソースから時系列データベースに数値データを収集する Azure Monitor の機能です。 メトリックは、一定の間隔で収集される数値であり、特定の時刻におけるシステムの何らかの特性を表しています。
注
Azure Monitor メトリックは、Azure Monitor をサポートするデータ プラットフォームの片方です。 もう一方は、Azure Monitor ログで、ログとパフォーマンス データを収集して整理します。 豊富なクエリ言語を使用して、そのデータを分析できます。
メトリックの種類
Azure Monitor メトリックでサポートされるメトリックには複数の種類があります。
ネイティブ メトリックでは、分析とアラートに Azure Monitor のツールを使用します。
- プラットフォームのメトリックは Azure リソースから収集されます。 構成は不要で、コストはかかりません。
- 高度なプラットフォーム メトリックは 、サポートされているリソース プロバイダー向けに、より詳細で詳細なデータを使用してプラットフォーム メトリックを拡張します。 これらのメトリックはリソース レベルで明示的にオプトインし、有料機能です。 高度なプラットフォーム メトリックは現在プレビュー段階です。
- カスタム メトリックは、仮想マシンで実行されているアプリケーションやエージェントなどを含む、構成するさまざまなソースから収集されます。
Azure Monitorは、Azure Kubernetes Service (AKS)を含む Kubernetes クラスターから Prometheus メトリックを収集します。 PromQL や Grafana などの業界標準のツールを使用してメトリックを分析し、アラートを作成します。
各メトリックの違いを次の表にまとめます。
| カテゴリ | ネイティブ プラットフォーム メトリック | ネイティブ カスタム メトリック | Prometheus 指標 |
|---|---|---|---|
| 情報源 | Azure のリソース | Azure Monitor エージェント Application Insights REST API |
クラスターのAzure Kubernetes Service (AKS) リモート書き込みを通じた任意の Kubernetes クラスター |
| コンフィギュレーション | なし | ソースによって異なる | Prometheus 用の Azure Monitor マネージド サービスを有効にする |
| 保管済み | サブスクリプション | サブスクリプション | Azure Monitor ワークスペース |
| 費用 | 無料 | プレビュー期間中は無料 | 請求済み |
| 集約 | 事前集計済み | 事前集計済み | 生データ |
| 分析する | メトリックス エクスプローラー | メトリックス エクスプローラー | PromQL Grafana ダッシュボード |
| アラート | メトリック アラート ルール | メトリック アラート ルール | Prometheus アラート ルール |
| 視覚化する |
ワークブック Azure ダッシュボード グラファナ |
ワークブック Azure ダッシュボード グラファナ |
グラファナ |
| 取得 | クライアント ライブラリと CLI (この表の後に一覧表示) | クライアント ライブラリと CLI (この表の後に一覧表示) | グラファナ |
ネイティブ プラットフォームとネイティブ カスタム メトリックを取得するには、次のクライアント ライブラリとコマンド ライン ツールを使用します。
- Azure CLI
- Azure PowerShell コマンドレット
- REST API またはクライアント ライブラリ
- .NET
- 進む
- ジャワ
- JavaScript
- パイソン
データ コレクション
Azure Monitor では、次のソースからメトリックを収集します。 Azure Monitor メトリック データベースでこれらのメトリックが収集されると、そのソースとは無関係に一緒に評価できます。
- Azureリソース: Azureリソースは、正常性とパフォーマンスを可視化するプラットフォーム メトリックを作成します。 リソースの種類ごとに別個のメトリックのセットが作成され、必要な構成はありません。 Azure Monitorでは、メトリックの定義で特に指定されていない限り、Azure リソースからプラットフォーム メトリックが 1 分間の頻度で収集されます。
- アプリケーション: 監視対象のアプリケーションのメトリックが 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 Metrics に格納するマネージド サービスを提供します。
注
さまざまなソースや収集方法のメトリックでは、異なる集計が使用される場合があります。 たとえば、プラットフォーム メトリックは事前に集計され、時系列データベースに格納され、Prometheus メトリックは生データとして格納されます。 リソース メトリックの待機時間は、他のメトリックとは異なる場合もあります。 集計と待機時間の違いにより、特定のサンプル時間のメトリック値が異なる可能性があります。 時間の経過とともに待機時間が問題でなくな理、同じ時間の細分性でメトリックを分析すると、これらの相違点は解消されます。 診断設定を使用してエクスポートされたプラットフォーム メトリックに対する特定の待機時間の予想については、 Azure Monitor でのログ データ インジェスト時間に関するページを参照してください。
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監視 REST API を使用してメトリックを取得します。
詳細については、「Azure Monitor メトリック ス エクスプローラーを使用したメトリックの分析」を参照してください。
データ構造
Azure Monitor のメトリックによって収集されるデータは、タイムスタンプ付きデータの分析に最適化された時系列データベースに格納されます。 メトリック値の各セットは、次のプロパティを持つ時系列です。
- 値が収集された時刻。
- 値が関連付けられるリソース。
- メトリックのカテゴリのように機能する名前空間。
- メトリック名。
- 値そのもの。
- 複数のディメンション (存在する場合)。 カスタム メトリックは 10 個のディメンションに制限されています。
多次元メトリック
メトリック データの課題の 1 つは、収集された値のコンテキストを提供するための情報が限定されている場合が多いことです。 Azure Monitor では、多次元メトリックを使用してこの課題に対処します。
メトリックのディメンションは、メトリックの値を記述するためのより多くのデータを保持する名前と値のペアです。 たとえば、使用可能なディスク領域というメトリックは、C: 、D: という値があるドライブと呼ばれるディメンションを持つことができます。 そのディメンションにより、すべてのドライブまたは個別のドライブで使用可能なディスク領域の表示が可能になります。
メトリック ス エクスプローラーでのメトリック ディメンションの表示の詳細については、「ディメンションのフィルターと分割を適用する」を参照してください。
非次元メトリック
次の表は、非次元メトリック、ネットワーク スループットからのサンプル データを示しています。 これは、「特定の時点でのネットワークのスループットは?」のような基本的な質問にのみ答えることができます。
| タイムスタンプ | メトリック値 |
|---|---|
| 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" と "方向")
次の表は、多次元メトリックと、IP と Direction という 2 つの次元をもつネットワーク スループットのサンプル データを示しています。 これは、「各 IP アドレスのネットワーク スループットは?」や「データの送信量と受信量は?」といった質問に答えることができます。
| タイムスタンプ | ディメンション "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 |
注
ディメンション名とディメンション値では、大文字と小文字が区別されません。
メトリックの保有期間
プラットフォームのメトリックとカスタム メトリック
プラットフォームのメトリックとカスタム メトリックは 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 エージェントは 2024 年 8 月に廃止されました。 新しいメトリック コレクション用にデプロイしないでください。 代わりに、Azure Monitor エージェントを使用してください。 レガシ デプロイの場合、Log Analytics エージェントはこれらのパフォーマンス カウンターを収集し、Log Analytics ワークスペースに送信しました。 リテンション期間は 31 日で、最大 2 年間延長できます。
Application Insights ログベースのメトリック: ログベースのメトリックは、バックグラウンドでログ クエリに変換されます。 リテンション期間は可変であり、基になるログのイベントのリテンション期間 (31 日から 2 年) と一致します。 Application Insights リソースの場合、ログは 90 日間保存されます。
注
長期的な傾向を見るために、Azure Monitor リソースのプラットフォーム メトリックを Log Analytics ワークスペースに送信できます。
プラットフォームのメトリックとカスタム メトリックは 93 日間保存されますが、([メトリック] タイルで) 1 つのグラフでクエリを実行できるのは最大 30 日間分のデータのみです。 この制限は、ログ ベースのメトリックには適用されません。 空のグラフが表示される場合、またはグラフにメトリック データの一部のみが表示される場合は、日時指定の開始日と終了日の間隔が、30 日を超えていないことを確認します。 30 日間の間隔を選択したら、グラフをパンして完全なリテンション期間を表示できます。
注
Azure リソースを移動または名前変更すると、そのリソースのメトリック履歴が失われる可能性があります。
Prometheus 指標
Prometheus メトリックは 18 か月間保存されますが、PromQL クエリでは最大で 32 日間しかまたがることができません。
次のステップ
- Azure Monitor データ プラットフォームの詳細を確認します。
- Azure Monitor のログ データについて確認します。
- Azure のさまざまなリソースで入手できる監視データを確認します。