muninでpostgres監視
muninすげーカンタンでいいね!
cactiでわけわかめになりながら何時間もかけて設定したのがアホらしい。
もちろんcactiより出来ることは少ないけど、情報としては十分。
で、postgresの監視しようと思ったら
思ったより手間取ったのでメモメモ。
プラグインを探す
まず、ここがpluginの一覧らしいのでpostgresで検索してみた。
http://muninexchange.projects.linpro.no/
更新日付古いし微妙なかんじ。というか設定の方法もよくわからん。
で、しばらくwebをさまよっていると以下のページ発見!
全然わからなかったコンフィグの書き方も載ってるし!
http://d.hatena.ne.jp/at_yasu/20081108#p2
ダウンロードしてみるが…
なるほどー、tracのリポジトリ内にはあるのか。
svn co svn://munin.projects.linpro.no/munin/trunk munin
で取ってきて、解凍したmunin/plugin/node/node.dの中からpostgres*のファイルを持ってきて設定してみる。
すると
Can't locate Munin/Plugin/Pgsql.pm
みたいな言われた。
はにゃ?こんなんいるのかーと思ってcpan探したけど見つからず、
取得したソースのlibを@INCが見えてるところに置いて
テスト実行してみました。
munin-run postgres_connections_
するとメッセージ自体は表示されたのでうまく行ってるのかなーと思いましたが
グラフにはうまく表示されず…
てかメッセージをよくよくみると、なんか微妙なメッセージな気が*1
もう少し調べてみると、もしかしたらバージョンが違うから互換がとれてないのでは?と思い始める。
で、trac内のtagバージョンを調べてみると、最新が「1.4.3」。
で、サーバにインストールしたmuninのバージョンが「1.2.5」。*2
全然違うやん!( ゚Д゚)
さらに探す
でも参考にしたブログを拝見すると、postgres用のプラグインはあるみたいだよなー。
で、tracリポジトリ内を確認してみると、
「root/tags/1/2/5/node/node.d」内にはない。
「root/tags/1/2/6/node/node.d」内にもない。
「root/tags/1/4/3/node/node.d」内は、すでにperlモジュール化されている。
「root/tags/1/3/4/node/node.d」内にそれらしきのがあった!
以下のコマンドで取得。
svn co svn://munin.projects.linpro.no/munin/tags/1.3.4 munin cd munin make cd build/node/node.d ls postgres_*
上記postgres関連のプラグインを拝借して、
configとプラグイン設定したらうまく行った!(とおもう。)
やほい!
postgres_connectionsを設定した時の一例
/etc/munin/plugin-conf.d/munin-node に以下の記述を追加。
[postgres_*] env.PGHOST localhost env.PGUSER dbuser env.PGPASSWORD dbpassword
シンボリックリンクを設定。
ln -s /usr/share/munin/plugins/postgres_connections /etc/munin/plugins/
muninの設定をリロード。
service munin-node reload