pgCluu v5.0 がリリースされました。
2026年10月22日 HexaCluster 投稿
関連するオープンソースソフトウェア
マダガスカル、アンタナナリボ - 2026年10月20日
pgCluu
PostgreSQL クラスタの利用状況分析ツール
pgCluu は、PostgreSQL クラスタのパフォーマンスを詳細に分析するための Perl プログラムです。コレクターとレポート生成ツールの2つの部分で構成されており、コレクターは psql や sar を使用して PostgreSQL サーバーの統計情報を収集し、レポート生成ツールは、収集した情報を HTML やグラフとして出力します。
pgCluu のバージョン 6.0 がリリースされました。これは、いくつかの新機能とレポートを追加したメジャーリリースです。また、前回のリリース以降に報告された問題も修正されています。
新機能:
* pg_replication_slots から取得したレプリケーションスロットに関するレポートを追加。
* pg_hba_file_rules の統計情報を収集。
* 待機イベントのレポート対象を、観測された合計待機イベントの 0.1% を超えるものに限定。
* pg_stat_io (PG16 以降) からの I/O 統計情報を収集。
* 以下のレポートを追加:
* バックエンドタイプごとの I/O スループット
* 共有バッファの書き込みと破棄
* バッファヒット率とリングバッファ
* I/O レイテンシとサイズ
* WAL I/O
* 一時的なリレーションの I/O
* 非同期 I/O (PG18 以降)
* より多くのカーネルチューニングパラメータを収集し、shmmax と shmall を削除。
* vm.dirty_expire_centisecs と vm.dirty_writeback_centisecs (sysctl フィルタで一致しないため)、およびその他のすべての vm.dirty_* パラメータ。
* vm.min_free_kbytes、vm.watermark_scale_factor、および kernel.numa_balancing。
* net.core.somaxconn、net.ipv4.ip_local_port_range、net.core.rmem_max、net.core.wmem_max、fs.file-max、および fs.nr_open。
* /sys/kernel/mm/transparent_hugepage/shmem_enabled: PostgreSQL の共有メモリは匿名共有メモリであり、これは共有バッファに適用される設定です('enabled' ではありません)。
* すべての CPU の周波数ガバナ、cpuidle ドライバ、intel_pstate のステータスと省電力性能、および NUMA ノードの数。
* 各ブロックデバイスの read_ahead_kb、nr_requests、max_sectors_kb、および wbt_lat_usec。
pgcluu_collectdは、Postmasterプロセスの制限値を収集し、報告します。現在、sysinfo.txtの新しい「POSTMASTER」セクションに保存されます。
具体的には、以下の情報が収集されます。
* PostmasterのプロセスID(チェックポイントプロセスの親プロセスとして検出、またはPostgreSQL 10以前はpostmaster.pidファイルから読み込み)。
* oom_score_adjの値(Postmasterには-1000を推奨)。
* オープンファイルの数、プロセスの数、ロックされたメモリの制限値。
* cgroupの制限値:memory.max、memory.high、memory.swap.max、cpu.max、cpu.weight、io.max、pids.max。また、cgroup v2(ハイブリッドモードも含む)におけるmemory.eventsのoom/oom_killカウンタ、cgroup v1におけるメモリとCPUの割り当て制限。pgcluuとpgcluu.cgiは、システム情報画面のカーネルパネルで、これらの値をサイズとCPU割り当てとともに表示し、oom_score_adjの値やプロセス制限に関するツールチップを提供します。
また、カーネルの圧力による停止情報とメモリイベントのレポートが追加されました。pgcluu_collectdは、kernel_stats.csvファイルに、以下の累積カウンタを各実行時に追記します。
* ホストの圧力停止情報(PSI)(/proc/pressure、カーネル4.20以降)、およびPostmasterのcgroup v2におけるCPU、メモリ、I/Oの圧力。
* Postmasterのcgroupにおけるメモリイベント(high、max、oom、およびmemory.eventsからのoom_kill)。
* sarによって報告されない/proc/vmstatのカウンタ:direct reclaims (allocstall)、メモリの圧縮、透明な巨大ページ割り当てとフォールバック、OOMキル、NUMA割り当て、およびページキャッシュのリフォルト。
pgcluuとpgcluu.cgiには、システムメニューに2つの新しいページが追加されました。
* 圧力停止情報:ホストとPostgreSQL cgroupにおける、CPU、メモリ、またはI/Oでタスクが停止している時間の割合。
* カーネルメモリイベント:割り当ての停止と圧縮、透明な巨大ページ、OOMキル、cgroupのメモリイベント、ページキャッシュのリフォルト、およびNUMA割り当て。
変更点、バグ修正、および謝辞については、ChangeLogを参照してください。
pgCluuについて:
このプロジェクトの目的は、ローカルまたはリモートのサーバーを簡単に監査できるように、依存関係を必要としない、完全なPostgreSQL監査ツールを提供することです。
sarの出力ファイルがあるだけであれば、pgCluuを使用して、システムの利用状況に関するグラフを作成することができます。
クレジット
pgCluuは、私がDaliboおよびHexaClusterで働いていた際に作成された、ツール群のコレクションです。これらのツールは、PostgreSQLライセンスに基づいて公開されています。
pgCluuは、Gilles Daroldによって作成および維持されています。より優れたツールを開発するための貢献は歓迎されます。アイデア、機能の要望、または修正は、GitHubのツールを使用して送信してください。
リンク
サンプルレポートは、http://pgcluu.darold.net/example/index.htmlで確認できます。
ウェブサイト: http://pgcluu.darold.net/
ダウンロード: https://github.com/darold/pgcluu/releases
開発: https://github.com/darold/pgcluu
ドキュメント: https://github.com/darold/pgcluu/blob/master/README