Azure のワークブックを使用して Prometheus メトリックにクエリを実行する
Azure Workbooks を使用して、Prometheus の Azure Monitor マネージド サービスを利用したダッシュボードを作成します。 この記事では、Azure Monitor ワークスペースのブックについて説明し、Azure ブックと Prometheus クエリ言語 (PromQL) を使用して Prometheus メトリックにクエリを実行する方法について説明します。
Azure Monitor ワークスペースのメトリック ス エクスプローラーから PromQL を使用して、Prometheus メトリックのクエリを実行することもできます。 詳細については、PromQL を使用した Azure Monitor メトリックス エクスプローラー (プレビュー) に関するページを参照してください。
前提条件
Azure Monitor ワークスペースから Prometheus メトリックにクエリを実行するには、次のものが必要です。
- Azure Monitor ワークスペース。 Azure Monitor ワークスペースを作成するには、Azure Monitor ワークスペースを作成する方法に関するページを参照してください。
- Azure Monitor ワークスペースでは、AKS クラスターから、または仮想マシンあるいは仮想マシン スケール セットから Prometheus メトリックを収集している必要があります。 詳細については、仮想マシン、スケール セット、または Kubernetes クラスターから Azure Monitor ワークスペースへの Prometheus メトリックの送信に関するページを参照してください。
- ユーザーには、Azure Monitor ワークスペースで microsoft.monitor/accounts/read 操作を実行できるロールが割り当てられている必要があります。
Prometheus Explorer ブック
Azure Monitor ワークスペースには、Prometheus メトリックにクエリを実行するための探索ブックが含まれています。
- Azure Monitor ワークスペースの概要ページで、[Prometheus エクスプローラー] を選択します
- または [Workbooks] メニュー項目を選択し、Azure Monitor ワークスペース ギャラリーで、[Prometheus エクスプローラー] ブック タイルを選択します。
ブックには、次の入力オプションがあります。
- [時間の範囲]。 クエリに含める期間を選択します。 [カスタム] を選択して、開始時刻と終了時刻を設定します。
- [PromQL]。 データを取得する PromQL クエリを入力します。 PromQL の詳細については、「Prometheus のクエリ」を参照してください。
- [グラフ]、[グリッド]、および [ディメンション] タブ。 クエリ出力をグラフィック、表形式、およびディメンション ビューに切り替えます。
Prometheus ブックを作成する
Workbooks では、多くの視覚化と Azure 統合がサポートされています。 Azure Workbooks の詳細については、「Azure ブックの作成」を参照してください。
Azure Monitor ワークスペースで [Workbooks] を選択してください。
新規をクリックします。
Azure Workbooks では、データ ソースを使用して、存在するデータのソース スコープを設定します。 Prometheus メトリックにクエリを実行するには、[データ ソース] ドロップダウンを選択して、[Prometheus] を選択します。
[Azure Monitor ワークスペース] ドロップダウンから、ワークスペースを選択します。
[Prometheus クエリの種類] ドロップダウンからクエリの種類を選択します。
[Prometheus クエリ] フィールドに PromQL クエリを記述します。
[クエリの実行] ボタンを選択します。
セクションの下側にある [編集完了] を選択し、作業内容を保存します
トラブルシューティング
"現在、この Azure Monitor ワークスペースに取り込まれている Prometheus データがありません" というメッセージが表示される場合:
- Azure Monitor ワークスペースの [監視対象クラスター] ブレードでメトリックの収集が有効になっていることを確認します。
ブックのクエリでデータが返されず、"クエリのアクセス権がありません" というメッセージが返される場合:
- Azure Monitor ワークスペースで、Access Control (IAM) を通じて microsoft.monitor/accounts/read を実行するのに十分なアクセス許可が割り当てられていることを確認してください。
- ネットワーク設定でクエリのアクセス権がサポートされているかどうかを確認してください。 プライベート エンドポイントを介してプライベート アクセスを有効にするか、パブリック アクセスを許可するように設定を変更することが必要な場合があります。
- ブラウザーで広告ブロックを有効にしている場合は、データを表示するためにブックの一時停止または無効化と更新が必要になる場合があります。
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
メトリックのすべてまたは一部が欠落しています。 トラブルシューティングをどのように行えばよいですか?
マネージド エージェントから Prometheus メトリックを取り込むためのトラブルシューティング ガイドは、こちらで参照できます。
同じ名前で大文字と小文字が異なる 2 つのラベルを持つメトリックが見つからないのはなぜですか?
Azure マネージド Prometheus は、大文字と小文字を区別しないシステムです。 メトリック名、ラベル名、ラベル値などの文字列が、文字列の大文字と小文字が異なるだけで別の時系列と異なる場合、それらの文字列は同じ時系列として扱われます。 詳細については、Prometheus のメトリックの概要に関する記事を参照してください。
メトリック データにギャップが表示されますが、これはなぜ発生するのですか?
ノードの更新中に、クラスター レベルのコレクターから収集されたメトリックのメトリック データに 1 分から 2 分のギャップが表示される場合があります。 このギャップは、データが実行されているノードが通常の更新プロセスの一環として更新されているために発生します。 この更新プロセスにより、指定された kube-state-metrics やカスタム アプリケーション ターゲットなどのクラスター全体のターゲットが影響を受けます。 これは、クラスターが手動または自動更新によって更新されるときに発生します。 この動作は想定されているものであり、実行されているノードが更新されるために発生します。 この動作は、いずれも推奨される警告ルールの影響を受けません。