みなさん、こんにちは。この投稿では、pgSCV(PostgreSQLの新しいメトリクスエクスポーター(だけでなく))、なぜそれが優れているのか、どのような問題を解決するのかについて説明します。
確かに、PrometheusとPostgreSQLを使用するすべての人がpostgres_exporterに遭遇しました。このエクスポーターは、起動して実行するのが非常に簡単です。また、リクエストに基づいて拡張する機会もあります。メトリックを記述して削除することができます。ポストグレス統計がどのように機能するかについて十分な知識がある場合は、かなりの数のメトリックを収集できます。ただし、ご存知のように、Postgres自体のメトリックに加えて、システムメトリックを収集することも望ましく、インフラストラクチャに接続プラー(pgbouncer、odysseyなど)などの補助サービスがある場合、メトリックはそれらからも取られます。より多くの輸出業者に供給する必要があることがわかりました。
pgSCVでは、これらの問題の両方を解決しようとしました。
解決策1。 pgSCVは、追加の構成を必要とせずに、PostgreSQLから非常に多くのメトリックをすぐに取得できます。私の意見では、これは最初の立ち上げのタスクを大いに促進します。追加のメトリックをキャプチャするためにカスタム構成を作成する時間を無駄にする代わりに、箱から出してすぐにそれらを取得できます。カスタムメトリックを構成する機能もあります。合理的な質問が発生します-メトリックが多すぎて、すべてが必要ではない場合はどうなりますか?この場合、メトリックの収集を無効にするか、メトリックを収集するデータベースのリストを制限できます。
2番目の解決策。現時点では、pgSCVはシステム、PostgreSQL、およびPgbouncerからメトリックを取得できます。これを行うために、彼はこれらのサービスを自動的に検索し、それらからメトリックの収集を開始します。明らかに、ネットワークサービスからメトリックを収集するには、接続の詳細が必要です。メトリックの取得は、ローカルサービスに限定されません。必要に応じて、他のノードでホストされているサービスからのメトリックのコレクションを指定できます。
典型的なユースケースは、単にpgSCVを実行することです。以下の例では、ユーザーがすでに作成されていることを前提としています。
curl -O -L https://github.com/weaponry/pgscv/releases/download/v0.5.0/pgscv_0.5.0_linux_amd64.tar.gz
tar xvzf pgscv_0.5.0_linux_amd64.tar.gz
cat << EOF > pgscv.yaml
defaults:
postgres_username: "monitoring"
postgres_password: "supersecretpassword"
EOF
./pgscv --config-file pgscv.yaml
起動後、2番目のコンソールを開き、を使用curl -s 127.0.0.1:9890/metrics
してメトリックのリストを取得できます。
pgSCVはWeaponry(PostgreSQLとその周辺のすべてを監視するプロジェクト)のニーズに合わせて作成されたものですが、私の意見ではpgSCVは安定しており、恥ずかしがらずに表示できます。
以上、ご清聴ありがとうございました!アイデア、希望、バグがある場合は、ディスカッションや問題に書き込んでください。最後に、いくつかのリンク: