Postgresを監視
何か去年まではPostgresのスクリプトが無かったみたいですけど、今はsvnのtrunkにマージされています。採集のアップデートが11ヶ月前とかなので、安定はしているみたいです。ただ、ちょっとコツがいりましたけど…
svn で取得する前に、DBI::Pgのインストールが必要です。インストールしてください。
そして、svnで取得してきてmakeだけします。インストールしません。
# svn co svn://munin.projects.linpro.no/munin/trunk munin A munin/RELEASE A munin/Makefile.config A munin/Makefile.config-dist ... U munin Checked out revision 1768. # ls ./ ../ CVS/ munin/ original/ # cd munin # ls ./ Makefile RELEASE logo.svg ../ Makefile.config contrib/ monkeywrench/ .svn/ Makefile.config-dist dists/ node/ COPYING Makefile.config-maint getversion* resources/ ChangeLog README install-sh* server/ Checklist README.HP-UX logo-horizontal.svg t/ INSTALL README.OSX logo.eps test-mktemp* # make "Makefile", line 343: Missing dependency operator "Makefile", line 348: Need an operator "Makefile", line 364: Missing dependency operator "Makefile", line 368: Need an operator "Makefile", line 374: warning: duplicate script for target "test" ignored "Makefile", line 375: Need an operator make: fatal errors encountered -- cannot continue # gmake touch build-stamp rm -rf build Generating build/./node/node.d.freebsd/coretemp.. ... Generating build/./resources/solaris-init.d_munin-node.. Generating build/./resources/linux-cron.d_munin-node.. # ls ./ Makefile.config build-stamp monkeywrench/ ../ Makefile.config-dist contrib/ node/ .svn/ Makefile.config-maint dists/ resources/ COPYING README getversion* server/ ChangeLog README.HP-UX install-sh* t/ Checklist README.OSX logo-horizontal.svg test-mktemp* INSTALL RELEASE logo.eps Makefile build/ logo.svg #
というわけで、buildと言うディレクトリが出来ています。この中には作成済みのプラグインとかコマンドがぎっしりかっつり入ってます。プラグインは、「build/node/node.d」に入っています。その中にある postgres-* を「/usr/local/share/munin/plugins」へコピーしませう。
さて、移動したpostgres-*の設定例
[postgres_*] env.PGHOST localhost env.PGUSER postgres env.PGPASSWORD ******
さて動くかと言ったら、FreeBSDではこのままでは動きません。少なくとも、「postgres_queries」と「postgres_commits」はそれぞれ二カ所ほど、同じような変更が必要になります。
1c1 < #!/bin/bash --- > #!/bin/sh 54c54 < psql_comm='psql -c' --- > psql_comm='/usr/local/pgsql/bin/psql -c'
後はリスタートで動きます。
以下、trunkから取ってきたプラグインの事
- postgres_queries
- postgresサーバのクエリー数をカウント
- postgres_queries_
- postgresサーバにあるデータベースのクエリー数をカウント。ファイル名の最後にはデータベース名を記入します。
- postgres_block_read_
- メモリーやらディスクから取ってきたブロック数をデータベース単位でカウント。ファイル名の最後にはデータベース名を記入します。何か、postgres.conf で stats_start_collector と stats_block_level の値を true に設定する必要があるよんと書いてるけど本当かどうか知りません。だって、7.4 のドキュメントを参考にしてるって書いてるし…
- postgres_commits_
- データベース単位でのコミットを数えてくれるみたい。ファイル名の最後にはデータベース名を記入。
- postgres_commits
- 設定で指定したサーバのコミットを数えてくれるみたい。
- postgres_connections
- サーバへの接続数を数えてくれる
- postgres_space_
- ディスクの使用量をデータベース単位で見てくれる。ファイル名の最後にはデータベース名を記入。
余談:Snortをインストールしているのですが、出力先をpostgresにしているのです。コネクションが平均2M5.73Mになってます。出すSnortも凄けりゃ耐えれるPostgresもすげぇ……
おまけにselectの実行回数が0なんだ。