Prometheus 用の Azure Monitor マネージド サービス

Prometheus 用 Azure Monitor マネージド サービスは Azure Monitor メトリックのコンポーネントであり、Azure Monitor で収集および分析できるメトリック データの種類に関する柔軟性が増します。 Prometheus メトリックは、PromQL を使用した Azure Monitor メトリックス エクスプローラーのような分析ツールや、PromQLGrafana のようなオープン ソース ツールでサポートされています。

Prometheus 用 Azure Monitor マネージド サービスを使うと、Cloud Native Computing Foundation の Prometheus プロジェクトに基づいて、Prometheus と互換性のある監視ソリューションを使って大規模にメトリックを収集および分析できます。 このフル マネージド サービスでは、Prometheus クエリ言語 (PromQL) を使って、監視対象のインフラストラクチャとワークロードのパフォーマンスを分析してアラートを生成することができ、基になるインフラストラクチャを操作する必要はありません。

重要

Prometheus 用の Azure Monitor マネージド サービスは、顧客のマシンとアプリケーションのサービス正常性に関する情報を格納することを目的にしています。 個人を特定できる情報 (PII) やエンド ユーザーを特定できる情報 (EUII) として分類されるデータを格納するためのものではありません。 Azure Monitor マネージド サービスに、メトリック名、ラベル名、ラベル値などの Prometheus フィールド用に機密情報 (ユーザー名、クレジット カード番号など) を送信しないことを強くお勧めします。

データ ソース

Prometheus 用 Azure Monitor マネージド サービスでは、現在、次のいずれかのデータ ソースからデータを収集できます。

  • Azure Kubernetes Service (AKS)
  • Azure Arc 対応 Kubernetes

有効にする

Prometheus 用 Azure Monitor マネージド サービスを有効にするための唯一の要件は、Prometheus のメトリックが格納される Azure Monitor ワークスペースを作成することです。 このワークスペースが作成されたら、Prometheus メトリックを収集するサービスをオンボードできます。

リモート書き込み

Prometheus のマネージド サービスに加えて、セルフマネージド Prometheus とリモート書き込みを使用してメトリックを収集し、Azure Monitor ワークスペースに格納することもできます。

Kubernetes サービス

Kubernetes クラスター上のセルフマネージド Prometheus からメトリックを送信します。 Kubernetes サービスの Azure Monitor ワークスペースへのリモート書き込みの詳細については、次の記事を参照してください。

仮想マシンと仮想マシン スケール セット

仮想マシンと仮想マシン スケール セット上のセルフマネージド Prometheus からデータを送信します。 サーバーは、Azure で管理される環境またはオンプレミスに置くことができます。 詳細については、「Virtual Machines から Azure Monitor ワークスペースに Prometheus メトリックを送信する」を参照してください。

PromQL を使用した Azure Monitor メトリックス エクスプローラー

PromQL を使用したメトリックス エクスプローラーを使用すると、プラットフォーム メトリックの分析と視覚化が可能になり、Prometheus クエリ言語 (PromQL) を使用して、Azure Monitor ワークスペースに保存されている Prometheus やその他のメトリックにクエリを実行できます。 PromQL を使用したメトリックス エクスプローラーは、Azure portal の Azure Monitor ワークスペースの [メトリック] メニュー項目から利用できます。 詳細については、「PromQL を使用したメトリックス エクスプローラー」を参照してください。

Grafana の統合

Prometheus のメトリックを視覚化する主な方法は、Azure Managed Grafana です。 Grafana ダッシュボードでデータ ソースとして使用できるように、Azure Monitor ワークスペースを Grafana ワークスペースに接続します。 その後、Prometheus のメトリックを使用する複数の事前構築済みダッシュボードにアクセスしたり、任意の数のカスタム ダッシュボードを作成したりできます。

ルールとアラート

Prometheus 用の Azure Monitor マネージド サービスでは、PromQL クエリを使用した記録ルールとアラート ルールがサポートされます。 記録ルールによって記録されたメトリックは、Azure Monitor ワークスペースに保存され、ダッシュボードや他のルールから照会できます。 アラート ルールと記録ルールは、Azure Managed Prometheus ルール グループを使用して作成および管理できます。 AKS クラスターには、一連の事前定義された Prometheus アラート ルール記録ルールが用意されており、クイックスタートを簡単に行うことができます。

アラート ルールによって発行されたアラートは、アラート ルールに対して構成されたアクション グループで定義された内容に従って、アクションまたは通知をトリガーできます。 発行および解決された Prometheus のアラートは、他の種類のアラートの共に Azure portal で確認できます。

サービスの制限とクォータ

Prometheus 用の Azure Monitor マネージド サービスには、インジェストのための既定の制限とクォータがあります。 インジェスト制限に達すると、スロットリングが発生する可能性があります。 これらの制限の引き上げを要求できます。 スロットリングと制限を増やす要求の詳細については、「メトリックの調整」を参照してください。 Prometheus メトリックの制限の詳細については、「Azure Monitor サービスの制限」を参照してください。

制限事項または既知の問題 - Prometheus 用 Azure Monitor マネージド サービス

  • 1 秒未満の頻度でのメトリックのスクレイピングと格納はサポートされていません。
  • 21Vianet によって運営される Microsoft Azure クラウドとエア ギャップ クラウドは、Prometheus 用 Azure Monitor マネージド サービスではサポートされていません。
  • クラスター内の Windows のノードとポッドを監視するには、「Azure Kubernetes Service (AKS) クラスターの監視を有効にする」を参照してください。
  • Azure Managed Grafana は、現在 Azure US Government クラウドでは使用できません。
  • 使用状況メトリック (Azure Monitor ワークスペースの Metrics メニューの下のメトリック) - Azure Monitor ワークスペースのインジェスト クォータの制限と現在の使用状況は、US Government クラウドではまだ使用できません。
  • ノードの更新中に、クラスター レベル コレクターからの一部のメトリック収集で 1 から 2 分間のギャップが発生する場合があります。 このギャップは、クラスター内のノードを更新するための、Azure Kubernetes Service からの定期的なアクションが原因です。 この動作は想定されているものであり、実行されているノードが更新されるために発生します。 推奨されるアラート ルールは、いずれもこの動作の影響を受けません。

大文字小文字の区別

Azure マネージド Prometheus は、大文字と小文字を区別しないシステムです。 メトリック名、ラベル名、ラベル値などの文字列が、文字列の大文字と小文字が異なるだけで別の時系列と異なる場合、それらの文字列は同じ時系列として扱われます。

Note

大文字と小文字を区別するシステムであるネイティブ オープンソース Prometheus ではこの動作は異なります。

Azure マネージド Prometheus では、次の時系列は同じと見なされます。

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

上記の例は、時系列データベースの 1 つの時系列です。

  • それらに対して取り込まれたサンプルは、単一の時系列に対してスクレイピングされたか取り込まれたかのように格納されます。
  • 前述の例が同じタイムスタンプで取り込まれた場合、そのうちの 1 つがランダムに削除されます。
  • 時系列データベースに格納され、クエリで返される大文字と小文字は予測できません。 同じ時系列に対して、異なる大文字と小文字が異なるタイミングで返される場合があります。
  • クエリに存在するメトリック名またはラベル名/値マッチャーは、大文字と小文字を区別しない比較を行うことで、時系列データベースから取得されます。 クエリに大文字と小文字を区別するマッチャーがある場合、文字列比較を行うときに、大文字と小文字を区別しないマッチャーとして自動的に扱われます。

1 つの一貫性のある大文字と小文字を使用して時系列を生成またはスクレイピングすることをお勧めします。

オープンソース Prometheus では、上記の時系列は 2 つの異なる時系列として扱われます。 スクレイピングされるか取り込まれたサンプルは、個別に保存されます。

Prometheus の参照情報

Prometheus のドキュメントへのリンクを次に示します。

よく寄せられる質問

このセクションでは、一般的な質問への回答を示します。

どうすれば Prometheus メトリックを取得できますか?

すべてのデータは、Prometheus クエリ言語 (PromQL) で記述したクエリを使用して、Azure Monitor ワークスペースから取得します。 独自のクエリを記述したり、オープン ソース コミュニティからのクエリを使用したり、PromQL クエリを含む Grafana ダッシュボードを使用したりできます。 Prometheus プロジェクトに関するページを参照してください。

Azure Monitor メトリック エクスプローラーで Prometheus メトリックを表示できますか?

PromQL を使用したメトリックス エクスプローラーは、PromQL を使用した Prometheus のメトリック データの視覚化をサポートします。 PromQL をサポートするメトリックス エクスプローラーを使用するには、Azure portal の Azure Monitor ワークスペースから [メトリック] メニュー項目を選択します。 詳細については、「PromQL を使用したメトリックス エクスプローラー (プレビュー)」を参照してください。

Prometheus 用マネージド サービスを使用する場合、Azure Monitor ワークスペースに複数のクラスターのデータを格納できますか?

正解です。 Prometheus 用マネージド サービスの目的は、複数の Azure Kubernetes Service クラスターからのデータを 1 つの Azure Monitor ワークスペースに格納するというシナリオを実現することです。 「Azure Monitor ワークスペースの概要」を参照してください。

どのような種類のリソースで、Prometheus メトリックを Prometheus 用マネージド サービスに送信できますか?

Azure Kubernetes Service クラスターと Azure Arc 対応 Kubernetes クラスターでエージェントを使用できます。 これは、AKS クラスターのマネージド アドオンとして、および Azure Arc 対応 Kubernetes クラスターの拡張機能としてインストールされ、必要なデータを収集するように構成できます。 また、リモート書き込みを有効にする手順に従って、Azure、別のクラウド、またはオンプレミスで実行されている Kubernetes クラスターでリモート書き込みを構成することもできます。

Azure portal を使用して Prometheus メトリック収集を有効にし、クラスターの [分析情報] ページから AKS アドオンまたは Azure Arc 対応 Kubernetes クラスターの拡張機能をインストールする場合、Log Analytics へのログの収集と Prometheus 用マネージド サービスへの Prometheus メトリックの収集が有効になります。 詳細については、「データ ソース」を参照してください。

次のステップ