Alibaba Cloud Managed Service for Prometheus では、複数のシナリオでメトリックデータをクエリできます。このトピックでは、Managed Service for Prometheus コンソールでメトリックデータをクエリする方法、Prometheus HTTP API を使用してデータを取得する方法、セルフマネージド Grafana システムの Prometheus データソースを設定する方法、およびセルフマネージド Prometheus システムのリモート読み取りエンドポイントを設定する方法について説明します。
前提条件
Managed Service for Prometheus がアクティブ化されています。少なくとも 1 つのコンポーネントが有効になっています。詳細については、コンポーネントの管理 を参照してください。
Managed Service for Prometheus コンソールを使用してメトリックデータをクエリする
ARMS console にログオンします。
左側のナビゲーションペインで、統合管理 をクリックします。
統合管理 ページの 統合環境 タブで、管理する環境の名前をクリックします。
環境の詳細ページで、メトリックスエクスプローラー タブをクリックします。
探索 セクションで、メトリック ドロップダウンリストからメトリックを選択し、ラベル フィールドにキーと値のペアを追加します。次に、クエリの実行 をクリックします。
説明をクリックして、クエリする時間範囲を選択します。デフォルトでは、1 時間以内のデータがクエリされます。
+ 操作 をクリックして、sum()、irate()、absent() などの PromQL 関数を追加します。詳細については、Prometheus のドキュメント を参照してください。
コード モードに変更して、PromQL ステートメントを手動で入力します。PromQL 構文の詳細については、Prometheus のドキュメント を参照してください。
Prometheus HTTP API を使用してメトリックデータを取得する
手順 1: HTTP API URL を取得する
ARMS console にログオンします。
左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、Prometheus インスタンスが存在するリージョンを選択します。インスタンス ページで、インスタンスを見つけ、アクション 列の 設定 をクリックします。
表示されるページの 設定 タブで、HTTP API URL (grafana 読み取り URL) セクションで パブリック または インターナル HTTP API URL を選択します。
説明データ読み取りのセキュリティを向上させる場合は、トークンの生成 をクリックして、Prometheus インスタンスのトークンを取得します。トークンが生成された後、HTTP リクエストを開始するたびにトークンを設定する必要があります。そうしないと、Prometheus インスタンスの監視データを読み取ることができません。
手順 2: HTTP API URL を使用して監視データを取得する
次の例は、Prometheus 監視データをクエリする方法を示しています。Prometheus HTTP API を使用して Prometheus 監視データをクエリする方法の詳細については、Prometheus のドキュメント を参照してください。
{HTTP API}
および{Token}
を、HTTP API URL の HTTP API とトークンに置き換えます。{PromQL}
を PromQL ステートメントに置き換えます。
例:
curl -H "Authorization:{Token}" "{HTTP API}/api/v1/query?query={PromQL}&time=1709171676&timeout=1000"
セルフマネージド Grafana システムの Prometheus データソースを設定する
手順 1: Prometheus サーバーの URL を取得する
Prometheus サーバーの URL を取得する方法については、手順 1: HTTP API URL を取得する を参照してください。
手順 2: セルフマネージド Grafana システムのデータソースを設定する
この例では、セルフマネージド Grafana v10.0.x システムを使用しています。
Grafana システムに管理者としてログオンします。
説明セルフマネージド Grafana システムに初めてログオンする場合は、初期ユーザー名とパスワード (どちらも admin) を使用します。次に、プロンプトが表示されたら、Grafana システムのパスワードを変更します。
Grafana システムにログオンした後、左上隅にある
アイコンをクリックします。
左側のナビゲーションペインで、構成 > データソース を選択します。
データソース ページで、データソースを追加 をクリックします。
データソースを追加 ページで、Prometheus をクリックします。
設定 タブで、名前 フィールドにダッシュボード名を入力し、HTTP セクションの Prometheus サーバー URL フィールドに 手順 1: Prometheus サーバーの URL を取得する で取得した Prometheus サーバー URL を入力します。
説明トークンを生成した場合は、カスタム HTTP ヘッダー セクションで + ヘッダーを追加 をクリックし、ヘッダー パラメーターを Authorization に設定し、値 パラメーターを 手順 1: Prometheus サーバーの URL を取得する で生成したトークンに設定します。
保存してテスト をクリックします。
手順 3: 結果を確認する
Grafana システムに管理者としてログオンします。
ページの左上隅にある
アイコンをクリックします。左側のナビゲーションペインで、ダッシュボード をクリックします。
ダッシュボード ページで、新規 をクリックし、ドロップダウンメニューから 新規ダッシュボード を選択します。
+ ビジュアライゼーションを追加 をクリックします。データソースを選択 ページで、カスタムデータソースを選択します。
A セクションで、メトリック フィールドにメトリック名を入力し、Enter キーを押します。メトリックのチャートが表示された場合は、Prometheus データソースが追加されています。
説明チャートが表示されない場合は、Prometheus データソースの追加に失敗しています。API URL またはトークンが有効かどうか、およびデータソースに監視データがあるかどうかを確認してください。
セルフマネージド Prometheus システムのリモート読み取りエンドポイントを設定する
制限
Managed Service for Prometheus リモート書き込みは HTTP/2 をサポートしていません。
手順 1: リモート読み取りエンドポイントを取得する
ARMS console にログオンします。
左側のナビゲーションペインで、 を選択します。
上部のナビゲーションバーで、Prometheus インスタンスが存在するリージョンを選択します。インスタンス ページで、インスタンスを見つけ、アクション 列の 設定 をクリックします。
設定タブで、パブリックまたは内部リモート読み取りエンドポイントを選択します。
手順 2: リモート読み取りエンドポイントを設定する
Prometheus 公式 Web サイト にアクセスして、オープンソース Prometheus をダウンロードします。
Prometheus インストールパッケージを解凍します。
Prometheus 構成ファイル
prometheus.yml
を開き、ファイルの末尾に次のコンテンツを追加し、remote_read.url
を 手順 1 で取得したリモート読み取りエンドポイントに置き換え、ファイルを保存し、オープンソース Prometheus を起動します。remote_read: # リモート読み取りエンドポイントを入力します。 - url: "http://xx-xxx.aliyuncs.com:9443/xxx/api/v1/read" read_recent: true
手順 3: オープンソース Prometheus で Managed Service for Prometheus のデータを表示する
ブラウザーで http://localhost:9090
にアクセスし、 検索ボックスにメトリック名を入力し、ページの右側にある 実行 をクリックして、Managed Service for Prometheus の監視データをリモートで読み取ります。