<< 自転車レース中に立木に衝突して死亡 | top | ずぶ濡れ >>

munin

自宅のFreeBSDと、仕事場のLinux(CentOS4/RHEL3)で試してみました。とりあえず試しただけなので多分勘違いがあるでしょう。

postfix_mailstats,postfix_mailvolumeを使う

postfix_* pluginのうち、postfix_mailqueueは普通にインストールしただけで使えましたが、後の2つは作業が必要でした。/usr/local/etc/munin/plugin-conf.d/plugins.conf(rpmだと/etc/munin/plugin-conf.d/munin-node)に追加が必要

[postfix*]
user root
env.logfile maillog
bind9を使う

querylogが必要なので、named.confに追加

logging {
    channel "log" {
        file "/var/log/bind9/query.log";
    };
    category queries {"log";};
};

さらに、1つファイルを作ってあげないとdieしてしまうので

# touch /usr/local/var/munin/plugin-state/bind9.state
# chonw munin:munin /usr/local/var/munin/plugin-state/bind9.state

2行目の替わりに/usr/local/etc/munin/plugin-conf.d/plugins.confに以下を追加でも可

[bind9]
user root

bindでviewを使っていて、querylogにこの情報が載っている場合は/usr/local/share/munin/plugins/bind9に修正が必要

--- /usr/local/share/munin/plugins/bind9.org   Mon Sep 11 23:28:34 2006
+++ /usr/local/share/munin/plugins/bind9       Mon Sep 11 17:00:50 2006
@@ -73,7 +73,7 @@
     open(Q,"< $QUERYLOG") or die "$!";
     while (<Q>) {
        chomp;
-       if (/client \d+\.\d+.\d+.\d+\#\d+: query\: \S+ (\w+) (\w+)/) {
+       if (/client \d+\.\d+.\d+.\d+\#\d+: (?:view .*?: )?query\: \S+ (\w+) (\w+)/) {
            if ($1 eq 'IN' and $2 !~ /^TYPE/) {
                $IN{$2}++;
            } else {

問題:ログが大きくなる(仕事場の環境では20MBぐらい)とタイムアウトしてしまう。かといってrotateするとデータを取りこぼすことになる。

squid_cache,squid_request,squid_trafficを使う

squidのポートをデフォルトの3128以外にしている場合は、/usr/local/etc/munin/plugin-conf.d/plugins.confに以下を追加

[squid-*]
env.squidport 8080

ホスト名をlocalhost以外にする場合や、認証が必要な場合はそれぞれenv.squidport,env.squiduser,env.squidpasswdで指定

あと、squidでcachemgrが使用できるようになっている必要があります。(デフォルトではlocalhostからのみ使用可)

apache_access,apache_processes,apache_volumeを使う

apacheでserver-statusが使えるようになっている必要があるので、httpd.confに以下を追加

ExtendedStatus On #デフォルトで入ってるかも
<Location  server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>
pluginの追加

手で ln -s /usr/local/share/munin/plugins/hoge /usr/local/etc/munin/plugins/hoge するか、

# munin-node-configure --suggest --shell --families auto,manual,contrib

を実行すると、使えるpluginが

ln -s /usr/local/share/munin/plugins/foldingathome_rank /usr/local/etc/munin/plugins/foldingathome_rank
ln -s /usr/local/share/munin/plugins/foldingathome_wu /usr/local/etc/munin/plugins/foldingathome_wu
ln -s /usr/local/share/munin/plugins/multips /usr/local/etc/munin/plugins/multips
ln -s /usr/local/share/munin/plugins/munin_graph /usr/local/etc/munin/plugins/munin_graph
ln -s /usr/local/share/munin/plugins/munin_update /usr/local/etc/munin/plugins/munin_update
ln -s /usr/local/share/munin/plugins/ntp_states /usr/local/etc/munin/plugins/ntp_states
ln -s /usr/local/share/munin/plugins/sendmail_mailqueue /usr/local/etc/munin/plugins/sendmail_mailqueue
ln -s /usr/local/share/munin/plugins/sendmail_mailstats /usr/local/etc/munin/plugins/sendmail_mailstats
ln -s /usr/local/share/munin/plugins/sendmail_mailtraffic /usr/local/etc/munin/plugins/sendmail_mailtraffic
ln -s /usr/local/share/munin/plugins/squid_icp /usr/local/etc/munin/plugins/squid_icp

みたいに出てくるので必要な行をコピーして実行

別ホストでmunin-nodeを動かす

munin-node.confの最後に、アクセスを許可するホストを正規表現で追加

allow ^192\.168\.1\.1$

munin.confに、収集するサーバの情報を追加

[foo.example.jp]
  address 192.168.1.2

[]の中はただのラベルかと思ったら、実際のFQDNと一致しないといけないらしい。

ドキュメントが今ひとつ不足しているのと、bind9に限らずログのrotateが考慮されていないっぽいので収集された値がどの程度正確かが今ひとつ不安なのが難点でしょうか。何となく監視、初期状態+ここに書いたぐらいのデータが取れればいい、みたいな緩い用途であればお気軽に使えて便利だと思います。

2006/09/12 0:14更新

この記事にコメントする:
:(表示されます)
:(表示されません)

この記事のトラックバックURL: http://www.sonorilo.net/tb/2109

タグ

www.flickr.com
This is a Flickr badge showing public items from suzukis tagged with japan. Make your own badge here.

最近の話題 RSS feed

最近のコメント

あわせて読みたい
人気ブログランキング - とある技術屋の戯れ言 この日記のはてなブックマーク数