Muninの更新間隔をデフォルトの5分から1分間隔に変更する方法を記載する。(Munin version 2.0)

Muninはcron(/etc/cron.d/munin)から起動されているのでcronの変更を行う必要があるが、cronの時間を変えるだけではダメ。変更作業中にMuninが動いて欲しくないため、一番はじめの作業としてcronのコメントアウトだけしておく。

#*/5 * * * *     munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron

1分間隔の更新にあったグラフを描画できるように/etc/munin/munin.confに以下の記述を追加する。

graph_data_size custom 1d, 1m for 1w, 5m for 1t, 15m for 1y
update_rate 60

すでに生成されているデータを削除する。

cd /var/lib/munin
find /var/lib/munin/* -maxdepth 0 -type d | grep -v plugin-state$
find /var/lib/munin/* -maxdepth 0 -type d | grep -v plugin-state$ | xargs -I% rm -rf %
rm -f /var/lib/munin/state*

以上で作業が完了のため、1分間隔で起動するようにcronを設定する。

#*/5 * * * *     munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron
*/1 * * * *     munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron

graphをCGIで表示している場合は、アクセスするたびに最新のグラフを表示してくれるので問題ないが、cronでpngを生成している場合は、データの取得が1分ごとにされてもグラフの生成が5分ごとになってしまうため、muninのソースを書き変える必要がある。cronから呼び出される/usr/bin/munin-cronからさらに呼び出される/usr/share/munin/munin-graphの以下の記述で各グラフの生成間隔を調整しているので、"day" => 300"day" => 60に書き変える。

my %period  = ( "day"   => 300,
                "week"  => 1800,
                "month" => 7200,
                "year"  => 86400,
                "week-sum" => 1800,
                "year-sum" => 86400
            );