第3章 3scale API Management のモニタリング
Prometheus は、履歴データを保存し、大型でスケーラブルなシステムを監視するために構築されたコンテナーネイティブなソフトウェアです。現在実行中のセッションだけでなく、長時間にわたってデータを収集します。Prometheus のアラートルールは、Alertmanager によって管理されます。
Prometheus および Alertmanager を使用して、Red Hat 3scale API Management データを監視および保存します。これにより、Grafana などのグラフィカルツールを使用して、データを視覚化し、クエリーを実行することができます。
- Prometheus はオープンソースのシステム監視ツールキットで、Grafana はオープンソースのダッシュボードツールキットです。Prometheus および Grafana に対する Red Hat のサポートは、Red Hat の製品ドキュメントに記載されている推奨設定に限定されます。
- 3scale Operator は監視リソースを作成しますが、これらのリソースの変更は妨げません。
- 3scale Operator と Prometheus Operator を同じ namespace にインストールするか、クラスター全体の Operator を使用する必要があります。
3scale Operator では、既存の Prometheus および Grafana Operator のインストールを使用して、3scale の使用状況およびリソースを監視することができます。
前提条件
- 3scale operator がインストールされている。
Prometheus Operator がクラスターにインストールされている。Prometheus Operator は、Prometheus インスタンスを作成および管理します。3scale の監視に必要な
Prometheusカスタムリソース定義 (CRD) を提供します。以下の Prometheus Operator およびイメージバージョンは、3scale でテストされています。
-
Prometheus Operator
v0.37.0 -
Prometheus イメージ:
quay.io/prometheus/prometheus:v2.16.0
-
Prometheus Operator
Grafana Operator がクラスターにインストールされている。Grafana Operator は、Grafana インスタンスを作成および管理します。3scale モニタリングに必要な
GrafanaDashboardCRD を提供します。以下の Grafana Operator およびイメージバージョンは、3scale でテストされています。
-
Grafana Operator
v3.9.0 -
Grafana イメージ:
registry.hub.docker.com/grafana/grafana:7.1.1
-
Grafana Operator
クラスターがインターネット上で公開される場合は、必ず Prometheus サービスおよび Grafana サービスを保護するようにしてください。
このセクションでは、Grafana ダッシュボードを表示できるように、3scale インスタンスのモニタリングを有効にする方法を説明します。
3.1. 3scale API Management のモニタリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
3scale を監視するには、APIManager カスタムリソース (CR) を設定して監視を有効にする必要があります。
手順
3scale を設定し、3scale デプロイメント YAML の
spec.monitoring.enabledパラメーターをtrueに設定して監視を有効にします。以下に例を示します。モニタリングを有効にするには、
3scale-monitoring.ymlという名前の APIManager CR を作成します。apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: apimanager1 spec: wildcardDomain: example.com monitoring: enabled: true enablePrometheusRules: false1 - 1
- オプションで
PrometheusRulesを無効にできます。それ以外の場合は、デフォルトで有効になります。
OpenShift クラスターにログインします。3scale の OpenShift プロジェクトのクラスター 編集 ロールを持つユーザーとしてログインする必要があります (例:
cluster-admin)。$ oc login3scale プロジェクトに切り替えます。
$ oc project <project_name>カスタムリソースをデプロイします。
$ oc apply -f 3scale-monitoring.yml