説明
この構成パラメータは、V4.4.2 BP3バージョンから導入されました。
機能の概要
prometheus_metrics_portは、observer / arbserverプロセスに組み込まれたPrometheus /metrics HTTPエクスポーザーのリスニングポート番号を設定します。0に設定するとエクスポーザーが無効になり、メトリクスは外部に公開されません。
プロセス起動後、PrometheusサーバーはGET /metricsインターフェースを介して、CPU/メモリ/ディスクなどのアービトレーション基本メトリクスや、ログストリームのLeader・Followerの状態、選挙テスト、config_version、mode_versionなどのビジネスメトリクスを定期的に取得できます。
権限要件
構成パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこの構成パラメータを確認できます。構成パラメータの変更
この構成パラメータは
sysテナントのみが変更でき、ユーザーテナントでは変更できません。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | Int |
| デフォルト値 | 2886 |
| 値の範囲 | [0, 65535]、ここで0はエクスポーザーを無効にすることを表します |
| 変更は可能か | はい。ALTER SYSTEM SETステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | はい。変更後はOBServerノードを再起動する必要があります。 |
使用方法
この構成パラメータは、プロセス起動時に一度読み取られ、ポートがバインドされます。ポート値が
0より大きい場合、プロセスは0.0.0.0:<port>でエクスポーザーを起動します。ポート値が0の場合、プロセスは内部でメトリクスカウントを維持するだけで、外部には公開しません。実行時に
ALTER SYSTEM SETステートメントでこの構成パラメータを変更してもポートは再バインドされず、変更はobserver / arbserverプロセスを再起動した後に有効になります。arbserverまたはobserverをデプロイする際、起動パラメータまたは設定ファイルでエクスポーザーのリスニングポートを指定できます。デプロイ環境では、このポートへの外部からの接続を許可する必要があり、Prometheusサーバーが定期的に
http://<host>:<prometheus_metrics_port>/metricsからデータを取得できるようにする必要があります。メトリクスを外部に公開する必要がない場合(テスト環境、社内ネットワークで他のチャネルを経由して収集する、またはポートが占有されているなど)、この構成パラメータを
0に設定してexposerを無効にできます。起動時にポートが既に占有されていたり、リスニングに失敗したりした場合、exposerの初期化は失敗し、自動的に閉じられます。その結果、すべてのメトリクスの更新が停止しますが、observer / arbserverプロセスの正常な起動には影響しません。同時に、システムはログにWARNレベルのリスニングエラーメッセージ(
disable Prometheus monitoring)を記録します。ポート競合問題が解決された後、メトリクス収集を再開するには、observer / arbserverプロセスを再起動する必要があります。Prometheusを使用したアービトレーションサービスの監視メトリクスの収集手順およびメトリクスの説明については、アービトレーションサービスの監視を参照してください。
設定例
この構成パラメータには、以下の2つの設定方法があります:
方法1:デプロイ時に起動パラメータで設定する
プロセス起動時の設定にポートパラメータを追加することで、メトリクス収集インターフェースを有効にできます。例:
observer ... -o prometheus_metrics_port=2886
デフォルト設定を使用する場合、ポートを明示的に指定する必要はありません。プロセスは 2886 をリスニングしようと試みます。メトリクス収集インターフェースを無効にするには、このパラメータを 0 に設定します。例:
observer ... -o prometheus_metrics_port=0
方法2:クラスタ稼働中に ALTER SYSTEM SET ステートメントで変更する
クラスタ稼働中に ALTER SYSTEM SET ステートメントを使用してポートを変更し、observer / arbserverプロセスを再起動すると変更が有効になります。
ALTER SYSTEM SETステートメントを使用してポートを変更します。obclient> ALTER SYSTEM SET prometheus_metrics_port = 2887;observer / arbserverプロセスを再起動すると変更が有効になります。
この場合、メトリクス収集インターフェースを無効にするには、prometheus_metrics_port のポート番号を 0 に変更した後、プロセスを再起動する必要があります。
プロセス起動後、以下のコマンドでメトリクスを収集できます。
curl http://<host>:2886/metrics