web-dev-qa-db-ja.com

PostgreSQLでのリアルタイム統計の監視

複数のデータベースを備えた分散システムでDBのパフォーマンスを監視する必要があります。一部のデータベースサーバーはpgbouncerを使用して接続をプールし、それらのサーバーではpgbouncerに接続してSHOWSTATSを実行できます。特定の統計を取得するコマンド、私は以下に興味があります:

 avg_req | avg_recv | avg_sent | avg_query
------------------------------------------
     563 |  1080453 |  2060908 |     57718

列の意味:

  • avg_req
    最後の統計期間における1秒あたりの平均リクエスト数。
  • avg_recv
    1秒あたりの(クライアントからの)平均受信バイト数。
  • avg_sent
    1秒あたりに送信された(クライアントへの)平均バイト数。
  • avg_query
    マイクロ秒単位の平均クエリ期間。

今私の質問は、postgresqlサーバーでpgbouncerを使用せずにこの情報を収集する方法はありますか?

1

ここでの答えは「正確ではない」と思います。これらの統計はpgbouncer自体から取得されるため、postgresバックエンドに直接マッピングされません。とはいえ、postgresで接続、データ、クエリの統計を追跡することはできますが、情報は正確に整列せず、おそらく異なる形式になります(つまり、ゲージよりもカウンターを取得する可能性が高いため、自分で追跡/計算を行う必要があります)

1
xzilla