第9章 Prometheus への 3scale API Management APIcast メトリクスの公開
3scale のこのリリースでは、Prometheus のインストールおよび設定はサポートされていません。オプションとして、コミュニティーバージョンの Prometheus を使用して、APIcast 管理下の API サービスのメトリックおよび警告を視覚化することができます。
9.1. Prometheus の概要
Prometheus はオープンソースのシステム監視用ツールキットです。Prometheus を使用して、Red Hat OpenShift 環境にデプロイされた Red Hat 3scale API Management APIcast サービスを監視できます。
Prometheus を使用してサービスを監視するには、サービスは Prometheus エンドポイントを公開する必要があります。このエンドポイントは、メトリックのリストおよびメトリックの現在の値を公開する HTTP インターフェイスです。Prometheus は定期的にこれらのターゲット定義のエンドポイントを収集し、収集したデータをそのデータベースに書き込みます。
9.1.1. Prometheus クエリー
Prometheus UI において、Prometheus Query Language (PromQL) でクエリーを作成してメトリック情報を抽出することができます。PromQL を使用すると、リアルタイムに時系列データを選択して集計することができます。
たとえば、以下のクエリーを使用すると、Prometheus が直近の 5 分間に記録したすべて時系列データから、メトリクス名が http_requests_total
の値をすべて選択することができます。
http_requests_total[5m]
メトリックの ラベル (キー/値のペア) を指定して、クエリーの結果をさらに定義または絞り込むことができます。たとえば、以下のクエリーを使用すると、Prometheus が直近の 5 分間に記録したすべて時系列データから、メトリクス名が http_requests_total
でかつ job
ラベルが integration
に設定されている値をすべて選択することができます。
http_requests_total{job="integration"}[5m]
クエリーの結果は、Prometheus の表示ブラウザーでグラフや表として表示したり、Prometheus HTTP API を使用して外部のシステムで処理したりすることができます。Prometheus はデータのグラフィカルビューを提供します。Prometheus メトリックを表示するより安定したグラフィカルダッシュボードとしては、Grafana を選択するのが一般的です。
PromQL 言語を使用して、Prometheus alertmanager ツールで警告を設定することもできます。
Grafana はコミュニティーがサポートする機能です。Grafana をデプロイして 3scale API Managemen プロダクトを監視する設定は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) の対象外です。