Prometheus HTTP APIを試してみた

はじめに

監視、モニタリング用のツールのひとつとしてPrometheusがありますが、
Prometheusでのモニタリングデータの参照には、主に下記の手段があります。

①Prometheus web UI
②Grafana
③API clients

私は①②は操作経験がありますが、③については興味がありつつも
なかなか触る機会がありませんでした。
そこで、今回はAPI clientsを利用してデータの参照を試してみたいと思います。
 

スクリプト作成

まず、API clientsの利用にあたっては、下記のURLを参照しました。

https://prometheus.io/docs/prometheus/latest/querying/api/

PrometheusのAPIの利用は、「HTTP API」という機能で利用でき、HTTPアクセスで使用できることがわかります。
ということで、「HTTP API」を使うサンプルスクリプトを作成してみました。

今回のスクリプトですが、非常に簡易的なもので、 html画面からボタンを押すことで、Prometheusのモニタリング対象の 情報を取得するものになります。

APIから返却されるデータはJSON形式になりますので、JSONデータを適切な形に変換して表示します。
JSONデータを扱うために、json2.jsを外部からダウンロードして使用しています。

※URL部分については、環境依存のため伏字としておりますので、ご利用の環境に合わせて設定が必要です。

スクリプト実行

それでは、実行してみましょう。
作成したhtmlをブラウザで表示して、ボタンを押下することで処理を開始します。

実行結果は、画面上に直接表示はされず、ブラウザのコンソールに出力されます。
私は今回chromeブラウザを使用しますので、chromeブラウザのデベロッパーツールを立ち上げて
結果を見てみることとします。

 

データが表示されましたね。
Prometheusの「Targets」画面の出力情報と、上記のデータと比較してみましょう。

上記のTargetsに登録されたスクレイプ対象の4項目が、全てAPIの取得結果にも反映されておりますね。
 

最後に

今回の方法を使用して、prometeheus画面やgrafana以外から、
プログラム等でPrometheus上のデータを参照することができます。

また、今回は試しておりませんが、より詳細に、モニタリング対象のデータを指定して
取得することも可能となります。
こちらは興味がありましたら、試してみてください。

【参考】
https://prometheus.io/docs/prometheus/latest/querying/api/


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です