雑多なインフラエンジニア日記

技術ブログでっす~

munin インストール後にエラー


システム移行に伴い、新サーバにmunin を久々にソースからインストール
したんですが、謎のエラーが出て、データ取得もhtml更新もされずに、鬼
はまったのでメモ。

・muninインストール
http://xoxo-infra.hatenablog.com/entry/2013/03/29/022728


muninインストール後のトラブルあるあるは既に経験済みで、ドキュメント
も残しているので、万全な状態だったのに、まさかまたもやはまるとは。。

munin トラブルあるある


・ログ、Webコンテンツ用ディレクトリなどの権限が適切ではない。
→ chown -R munin:apache (munin:nginx)で書き換えましょう。

perlのモジュールが足りない。
→ 必殺 yum install --downloadonly --downloaddir=`pwd` munin
で依存関係のあるperlのrpm群をダウンロード。
そして、munin以外をrpm -Uvhでインストール。(CPAN?使わんw)


んで、通算3回目のインストールなので余裕ぶっこいてたら、インストール後
以下のエラーが出て、データ取得もhtml更新されいないことに気づく。。。

・munin-html.log

[PERL WARNING] Use of uninitialized value in list assignment at /usr/local/share/perl5/Munin/Master/Utils.pm line 134.


・munin-update.log

[INFO]: Starting munin-update
[INFO] Process 29220 is dead, stealing lock, removing file
[INFO] starting work in 29968 for 監視対象ノード/127.0.0.1:4949.
[FATAL] Socket read from 監視対象ノード failed. Terminating process. at /usr/local/share/perl5/Munin/Master/UpdateWorker.pm line 254
[ERROR] Munin::Master::UpdateWorker<監視対象ノード;監視対象ノード> died with '[FATAL] Socket read from 監視対象ノード failed. Terminating process. at /usr/local/share/perl5/Munin/Master/UpdateWorker.pm line 254



うーん、まだperlモジュール足んないのか、ディレクトリ権限がおかしいのか、
はたまたバグなのか、色んな観点で調べて半日以上掛かりました。。。

Google先生に聞いたら、解決w(ググレカスですね・・・)

http://munin-monitoring.org/ticket/1271

上記に書いてあるQAとは内容が違うのですが、エラーは同じなのでピンと
来ました。

どうやら、hostsに監視対象ノードを記述していないと、上記エラーをはく
みたいです。

確かに、新システムではhostsを使わず、R53で全部プライベートIPを管理
しているのですが、munin様はhostsに書いてないと動いてくれない模様です。
つーか、エラーメッセージわかりにくっww

なので、munin.conf を修正したら、正常に動作しました!

[node1]
address 10.0.0.99
#use_node_name yes ← コメントアウト


・use_node_name について
http://munin-monitoring.org/wiki/use_node_name

use_node_name no is the default and this should normaly not be changed.
The correct fix is to make the nodes know their correct host names.


だとさ。
うーん、yesかnoか微妙ですが、hosts運用したくないからnoでいいや。


以上です。