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