ページの先頭行へ戻る
Enterprise Postgres 15 オペレーターユーザーズガイド

4.3 FEPExporterのデプロイ

以下の手順でFEPExporterをデプロイします。

注意

Kubernetesクラスタ上へデプロイする場合は、“オペレーターリファレンス”の“カスタムリソースパラメータ”を参照してyamlファイルを作成し、適用してください。


  1. オペレーターが管理するFEPExporterをデプロイするには、デプロイ時にFEPClusterカスタムリソースで「fep.monitoring.enable」を「true」に設定するだけです。

  2. FEPExporterは、<cluster-name> -fepexporterという名前で自動的に作成されます。 また、指定したFEPclusterの統計を含むすべてのデータベースが一覧表示されます。

  3. オペレーターによって生成されたFEPExporterは、デフォルトでマスターインスタンスとスタンバイインスタンスからメトリクスをスクレイピングし、Prometheusで使用できるようにします。

  4. ユーザーは、PrometheusがメトリクススクレイピングおよびFEPExporterからデータベースへの接続に使用するHTTPエンドポイントに使用されるようにMTLSを構成できます。

    1. pgMetricsUser、pgMetricsPassword、およびpgMetricsUserTlsがFEPclusterで定義されている場合、FEPExporterは、FEPインスタンスへの接続を保護するためにこれらを使用します。これらのパラメータがない場合、FEPExporterはpgAdminUser(つまりスーパーユーザー)を使用します。

    2. MTLSでもFEPExporterによるメトリクスエンドポイント(/ metrics)が使用されるようにPrometheus.tlsとFEPExporter.tlsを設定できます(フィールドの詳細については、“オペレーターリファレンス”の“FEPExporterカスタムリソース”を参照してください)。

  5. ユーザー名とパスワードを含むシークレットを指定することにより、Basic認証を構成することもできます。(フィールドの詳細については、“オペレーターリファレンス”の“FEPExporterカスタムリソース”を参照してください)

  6. PROMQLを使用して対象のメトリクスを指定することにより、[Monitaring]領域でOpenshiftPlatformのスクレイプFEPExporter固有のメトリクスを確認できます。

注意

  • すでにインスタンス化されているクラスタでもfep.monitoring.enableをtrueまたはfalseに設定して、目的の結果を得ることができます。

  • pgMetricsUserは、モニタリングを有効にして実行中のFEPClusterで後で定義でき、FEPExporterにpgMetricsUserを再起動するだけで強制的に使用できます(restartRequiredを参照)。ただし、この場合、MTLSを構成することはできず、ユーザーは、情報のスクレイピング中に使用されることが予想されるすべてのデータベースオブジェクトに対してpgMetricsUserに特定のアクセス許可を付与する必要があります。

  • MTLSを強制するには、usePodNameとpg_hba.confが適切に設定されていることを確認してください。

  • FEPExporterのデフォルトのメトリクスは、postgresql.confで以下を設定する必要があります。

    • pg_stats_statementsライブラリがプリロードされている

    • track_activitiesとtrack_countsがon

    • モニタリングユーザーには、pg_stat_*ビューに対する権限が必要

  • CPUメモリに関連するFEPExporterのPodの仕様を変更できます。リソースの指定を変更した後、restartRequiredフラグをtrueに設定します。FEPexporterは新しい仕様で再起動されます。

  • FEPのモニタリングは、プラットフォームで利用可能なPrometheusと連携されています。 ユーザーは、OpenShiftプラットフォームでユーザー定義プロジェクトのモニタリングが有効になっていることを確認する必要があります(https://docs.openshift.com/container-platform/4.11/monitoring/enabling-monitoring-for-user-defined-projects.htmlを参照)。OpenShift以外のプラットフォームの場合、オペレーターをデプロイする前にPrometheusがインストールされていることを確認してください。