[pgcluster: 140] リモートからの状態の監視

Jun Kuriyama kuriyama @ imgsrc.co.jp
2004年 2月 23日 (月) 15:23:20 JST


 今、手元の pgcluster に手を入れて、

(1) pgreplicate が今何台の DB_TBL_USE なホストを抱えているか
(2) pgcluster が今どのサーバを current replicate server として持ってい
    るか

というのをリモートから調べられるようにしようと考えています。

 (1) に関しては、勝手に header.cmdType == 'o' なパケットが来たらずら
ずらっと Host_Tbl_Begin から値を羅列して返すことで、外部の perl script
で状態を取得できるようにはなりました。

 で、(2) の方なんですが、同様に pgcluster の 5432/tcp か、
recoveryPort に独自パケットを投げる、でもいいかなあ、と思いつつ、
pg_catalog.pg_cluster などというテーブルがあってそこに今の状態が入って
いる、という形だと psql や DBD::Pg などを使って簡単に監視スクリプトが
書けて嬉しいなあ、とも思ってしまいました。

 システムテーブルを用意して、backend/libpq/replicate.c あたりでそこを
更新する、というのは簡単にできるものなのでしょうか?


-- 
Jun Kuriyama <kuriyama @ imgsrc.co.jp> // IMG SRC, Inc.
             <kuriyama @ FreeBSD.org> // FreeBSD Project



pgcluster メーリングリストの案内