第9章 Prometheus への 3scale APIcast メトリクスの公開

重要

3scale の本リリースでは、Prometheus のインストールおよび設定はサポートされていません。オプションとして、コミュニティーバージョンの Prometheus を使用して、APIcast 管理下の API サービスのメトリクスおよび警告を視覚化することができます。

9.1. Prometheus の概要

Prometheus はオープンソースのシステム監視用ツールキットです。Prometheus を使用して、Red Hat OpenShift 環境にデプロイされた 3scale 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 をデプロイして Red Hat 3scale プロダクトを監視する構成は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) の対象外です。