muninの設定(つづき)

munin


さて、今日も先日に引き続き、muninの設定を行います。

今日設定する項目は以下の通りです。

  • sensors_fan のアラートを消す
  • ping プラグインの追加
  • 複数のグラフを1つにまとめる

sensors_fan のアラートを消す

sensors プラグインは、珍しいことに、各計測値に warn値 や crit値が設定されています。そのため、問題のある値が出ていたら、HTML表示の一部が赤字になるなどして、目を引く警告表示を行なってくれます。

ところが、私のLinux箱では、ファンコンでファンを止めていたりするので、この警告表示は余計です。

この警告の基準となる warn 値や crit 値は、sensors コマンドが表示する、ファンの最低回転数を元に設定されていますので、lm_sensors の方を調整します。 (最初に設定した時のエントリはこちら)

diff -u -r1.2 /etc/sensors.conf
--- /etc/sensors.conf	2008/06/29 14:32:20	1.2
+++ /etc/sensors.conf	2008/07/03 15:44:12
@@ -1621,7 +1621,7 @@
 
 # Fans
     set fan1_min 0
-    set fan2_min 3000
+    set fan2_min 0
     ignore fan3
     set fan3_min 3000
 

設定を変更したあとは、 lm_sensors サービスのリスタートも忘れないように。

# /sbin/service lm_sensors restart
Stopping lm_sensors:                                       [  OK  ]
Starting lm_sensors:                                       [  OK  ]

ping プラグインの追加

これは自動では設定されないプラグインであまり使われていないかと思いますが、実は意外と使えるプラグインです。

pingプラグインは、指定したホストに対してpingを打ち、その応答のレイテンシを記録するプラグインです。グラフを実際に取ってみるとわかるのですが、相手サーバーの負荷や、自分のネットワークの負荷が綺麗に反映されたグラフになります。

# ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_www.google.co.jp
# ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_s225.xrea.com

この設定も、munin-node サービスの再起動をしないと適用されません。

# /sbin/service munin-node restart
Stopping Munin Node agents:                                [  OK  ]
Starting Munin Node:                                       [  OK  ]

複数のグラフを1つにまとめる

CPUやマザーボードの温度は sensors_ (sensors_temp) プラグインで、HDDの温度は hddtemp_smartctl で取得できるわけですが、これは1つのグラフにまとまっていたほうが便利でしょう。

というわけで、これらを統合し、1つのグラフとして表示するように設定します。これを実現するには /etc/munin/munin.conf を修正します。

以下、該当部分付近の抜粋。

# a simple host tree
[localhost]
    address 127.0.0.1
    use_node_name yes

    uniftemp.graph_title Unified Temperature
    uniftemp.graph_category sensors
    uniftemp.graph_order temp1=localhost:sensors_temp.temp1 temp2=localhost:sensors_temp.temp2 hda=localhost:hddtemp_smartctl.hda sda=localhost:hddtemp_smartctl.sda
    uniftemp.graph_vlabel Celsius
    uniftemp.temp1.label M/B Temp
    uniftemp.temp2.label CPU Temp
    uniftemp.hda.label HDD hda
    uniftemp.sda.label HDD sda

    sensors_temp.graph no
    hddtemp_smartctl.graph no

最初の数行は自動設定で書かれたもののままで、変更していません。uniftemp で始まる行以降が追加した行です。

uniftemp という名前は適当に決めた、これから新しく作成するグラフの名前です。グラフの描画に必要な情報をここに全て記述しています。

最も重要なのは graph_order で、ここにグラフにプロットするデータを列挙します。 <フィールドラベル名>=<ホスト>:<グラフ名>.<フィールドラベル名> の形で列挙すると、イコール以下で示したグラフのデータをもってきて描画することになります。

他のアトリビュートに関しては大体見ればわかるでしょう。各アトリビュートの詳細は、公式のドキュメントを参照してください。
http://munin.projects.linpro.no/wiki/protocol-config

最後の2行は、既存の sensors_temp プラグインと、 hddtemp_smartctl プラグインのグラフを表示しなくするための設定です。 これらのグラフのデータはまとめて全て描画するようにしたので、表示するだけ無駄ですよね。ここでnoと設定していても、無効になるのはグラフ生成だけで、データの取得は行われるので問題無しです。

さて、このように設定することで、以下のようなグラフが得られます。

これを見ると、別のセンサーから取っている値がきちんと同期して動いているので、それなりに信用できる値なんだなとわかりますね。


この調子で他のグラフも適宜まとめて、見易くしておけば、見るのが億劫にならずに済みますので、満足するまでいじくりまわしましょう♪