[pgcluster: 166] Re: リモートからの状態の監視
Jun Kuriyama
kuriyama @ imgsrc.co.jp
2004年 2月 25日 (水) 15:49:18 JST
At Tue, 24 Feb 2004 23:33:06 +0900 (JST),
Tatsuo Ishii wrote:
> ただ組み込み関数にすると,後々メインテナンスが面倒なので,ユーザ定義関
> 数にして,後付けで組み込めるようにしたほうが良いような気がします.
> # デバッグも楽ですし.
これ、デバッグが楽だ、というのは shared library にした場合に
unload/reload ですぐに新しいものが試せる、ってことでいいのかな。とりあ
えず libpq/replicate.c に直書きして試していますが……。この場合、組み
込み関数とユーザ定義関数の違いは postgres.bki で定義されて initdb 時に
作成されるのと、ユーザーが明示的に create function すると使える、とい
う違い……と理解したんですが、後者はなんかデフォルトで既に create
function した状態を提供できたりするのかな。
http://www.imgsrc.co.jp/~kuriyama/pgcluster/patch-libpq:replicate.c
の後ろの方に関数作ってみました。これで
template1=# create function pgr_current_replicator () returns text as 'pgr_current_replicator' language internal with (isStrict);
CREATE FUNCTION
とかできるはずです。あとは
template1=# select pgr_current_replicator();
pgr_current_replicator
-----------------------------
replicator.example.org:8777
(1 row)
って感じですか。
あと、こっちには pgreplicate 側で cluster の状態を返すパケットの処理
を加えてみました。
http://www.imgsrc.co.jp/~kuriyama/pgcluster/patch-main.c
で、これらを使って、nagios (http://www.nagios.org/) で監視するための
スクリプトが
http://www.imgsrc.co.jp/~kuriyama/pgcluster/check_pgcluster.pl
http://www.imgsrc.co.jp/~kuriyama/pgcluster/check_pgreplicate.pl
です。もうちと手元で揉んでから FreeBSD Ports に commit してみます。
--
Jun Kuriyama <kuriyama @ imgsrc.co.jp> // IMG SRC, Inc.
pgcluster メーリングリストの案内