muninという、サーバなどをモニタリングするツールを試してみました。
munin-1.2.3はpkgsrcからのインストールです。
2007年 9月 27(木曜日)
muninでいろいろモニタリング
環境
muninの動作概要
NetBSDでのmunin-nodeの設定
すると使えるpluginがずらずらでてくるので必要な行をshellで実行します
munin-node起動用のスクリプトをコピーします
以下を/etc/rc.confに追加します
munin-nodeを開始します。
以下のようにtelnetでポート4949につないでlistコマンドが有効か確認していみます。
ここまでで問題ないようならlogのローテーションを行うために以下を/etc/newsyslog.confに追加します
[size="Huge"]NetBSDでのmunin serverの設定[/size]
5分毎にmunin-cronが実行されるようにcronの設定をします。
でeditorを立ち上げ
を追加します
確認します。
これでOKなはずですが、なぜかHTMLページはできているのですがグラフ画像が生成されません。
そこで、munin-graphを単独で起動してみたところ、
というメッセージが表示され落ちることがわかりました。
どうやらrrdtoolについているperl用のshared library RRDs.soがまずそうなので、-export-dynamicオプションなどをつけてもう一度作り直してみました。
これで、ふたたびmunin-graphを実行したところ無事にグラフ画像がつくれるようになりました。
# -export-dynamicは必要なく、RRDs.soをつくりなおすだけでよかったのかもしれません。
ここまでで問題ないようならlogのローテーションを行うために以下を/etc/newsyslog.confに追加します
-
OS: NetBSD 3.1/i386
munin: 1.2.3
muninの動作概要
- 各nodeはmunin-nodeを常時起動してポート4949をlisten
- serverは情報を収集する親玉で、5分毎に各nodeのポート4949を通して情報を入手
- snmpしかしゃべれない機器の情報を入手する場合はどこかに仮想nodeをつくり、そこを経由することで情報を入手する
ただし仮想nodeと実nodeは1台のマシンに共存可能
+-----------------------------+
| |
| server ---------> node |
| | | | | |
+-----------------------------+
| \ \\___________________
| \ \ _________ \
v v v v
+------+ +------+ +------+ +------+ +------+
| | | | | | |Virt | | |
| node | | node | | node | | node |---->| snmp |
| | | | | | | |snmp | agent|
+------+ +------+ +------+ +------+ +------+
NetBSDでのmunin-nodeの設定
# munin-node-configure --suggest --shell --families auto,manual,contrib
すると使えるpluginがずらずらでてくるので必要な行をshellで実行します
ln -s /usr/pkg/lib/munin/plugins/cpu /usr/pkg/etc/munin/plugins/cpu
ln -s /usr/pkg/lib/munin/plugins/df /usr/pkg/etc/munin/plugins/df
ln -s /usr/pkg/lib/munin/plugins/df_inode /usr/pkg/etc/munin/plugins/df_inode
ln -s /usr/pkg/lib/munin/plugins/foldingathome_rank /usr/pkg/etc/munin/plugins/foldingathome_rank
ln -s /usr/pkg/lib/munin/plugins/foldingathome_wu /usr/pkg/etc/munin/plugins/foldingathome_wu
ln -s /usr/pkg/lib/munin/plugins/forks /usr/pkg/etc/munin/plugins/forks
ln -s /usr/pkg/lib/munin/plugins/if_ /usr/pkg/etc/munin/plugins/if_fxp0
ln -s /usr/pkg/lib/munin/plugins/if_errcoll_ /usr/pkg/etc/munin/plugins/if_errcoll_fxp0
ln -s /usr/pkg/lib/munin/plugins/interrupts /usr/pkg/etc/munin/plugins/interrupts
ln -s /usr/pkg/lib/munin/plugins/iostat /usr/pkg/etc/munin/plugins/iostat
ln -s /usr/pkg/lib/munin/plugins/iostat_ops /usr/pkg/etc/munin/plugins/iostat_ops
ln -s /usr/pkg/lib/munin/plugins/irqstats /usr/pkg/etc/munin/plugins/irqstats
ln -s /usr/pkg/lib/munin/plugins/load /usr/pkg/etc/munin/plugins/load
ln -s /usr/pkg/lib/munin/plugins/memory /usr/pkg/etc/munin/plugins/memory
ln -s /usr/pkg/lib/munin/plugins/memory_pools /usr/pkg/etc/munin/plugins/memory_pools
ln -s /usr/pkg/lib/munin/plugins/memory_types /usr/pkg/etc/munin/plugins/memory_types
ln -s /usr/pkg/lib/munin/plugins/multips /usr/pkg/etc/munin/plugins/multips
ln -s /usr/pkg/lib/munin/plugins/munin_graph /usr/pkg/etc/munin/plugins/munin_graph
ln -s /usr/pkg/lib/munin/plugins/munin_update /usr/pkg/etc/munin/plugins/munin_update
ln -s /usr/pkg/lib/munin/plugins/mysql_bytes /usr/pkg/etc/munin/plugins/mysql_bytes
ln -s /usr/pkg/lib/munin/plugins/mysql_queries /usr/pkg/etc/munin/plugins/mysql_queries
ln -s /usr/pkg/lib/munin/plugins/mysql_slowqueries /usr/pkg/etc/munin/plugins/mysql_slowqueries
ln -s /usr/pkg/lib/munin/plugins/mysql_threads /usr/pkg/etc/munin/plugins/mysql_threads
ln -s /usr/pkg/lib/munin/plugins/netstat /usr/pkg/etc/munin/plugins/netstat
ln -s /usr/pkg/lib/munin/plugins/nfs_client /usr/pkg/etc/munin/plugins/nfs_client
ln -s /usr/pkg/lib/munin/plugins/nfsd /usr/pkg/etc/munin/plugins/nfsd
ln -s /usr/pkg/lib/munin/plugins/ntp_ /usr/pkg/etc/munin/plugins/ntp_ntp1_jst_mfeed_ad_jp
ln -s /usr/pkg/lib/munin/plugins/ntp_ /usr/pkg/etc/munin/plugins/ntp_ntp2_jst_mfeed_ad_jp
ln -s /usr/pkg/lib/munin/plugins/ntp_ /usr/pkg/etc/munin/plugins/ntp_ntp3_jst_mfeed_ad_jp
ln -s /usr/pkg/lib/munin/plugins/ntp_kernel_err /usr/pkg/etc/munin/plugins/ntp_kernel_err
ln -s /usr/pkg/lib/munin/plugins/ntp_kernel_err /usr/pkg/etc/munin/plugins/ntp_kernel_err
ln -s /usr/pkg/lib/munin/plugins/ntp_kernel_pll_freq /usr/pkg/etc/munin/plugins/ntp_kernel_pll_freq
ln -s /usr/pkg/lib/munin/plugins/ntp_kernel_pll_off /usr/pkg/etc/munin/plugins/ntp_kernel_pll_off
ln -s /usr/pkg/lib/munin/plugins/ntp_states /usr/pkg/etc/munin/plugins/ntp_states
ln -s /usr/pkg/lib/munin/plugins/open_files /usr/pkg/etc/munin/plugins/open_files
ln -s /usr/pkg/lib/munin/plugins/postfix_mailqueue /usr/pkg/etc/munin/plugins/postfix_mailqueue
ln -s /usr/pkg/lib/munin/plugins/processes /usr/pkg/etc/munin/plugins/processes
ln -s /usr/pkg/lib/munin/plugins/sendmail_mailstats /usr/pkg/etc/munin/plugins/sendmail_mailstats
ln -s /usr/pkg/lib/munin/plugins/sendmail_mailtraffic /usr/pkg/etc/munin/plugins/sendmail_mailtraffic
ln -s /usr/pkg/lib/munin/plugins/swap /usr/pkg/etc/munin/plugins/swap
ln -s /usr/pkg/lib/munin/plugins/uptime /usr/pkg/etc/munin/plugins/uptime
ln -s /usr/pkg/lib/munin/plugins/vmstat /usr/pkg/etc/munin/plugins/vmstat
munin-node起動用のスクリプトをコピーします
# cp -p /usr/pkg/share/examples/rc.d/munin-node /etc/rc.d
以下を/etc/rc.confに追加します
munin_node=YES
munin-nodeを開始します。
/etc/rc.d/munin-node start
以下のようにtelnetでポート4949につないでlistコマンドが有効か確認していみます。
% telnet localhost 4949
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
# munin node at netbsd.example.org
list
sendmail_mailtraffic ntp_ntp1_jst_mfeed_ad_jp irqstats mysql_slowqueries sendmail_mailstats if_errcoll_fxp0
ntp_states memory_types df mysql_threads uptime swap load ntp_ntp2_jst_mfeed_ad_jp df_inode cpu
mysql_queries open_files ntp_kernel_err iostat forks if_fxp0 memory nfs_client vmstat ntp_kernel_pll_freq
processes memory_pools interrupts netstat mysql_bytes sendmail_mailqueue ntp_ntp3_jst_mfeed_ad_jp
munin_graph munin_update ntp_kernel_pll_off iostat_ops
ここまでで問題ないようならlogのローテーションを行うために以下を/etc/newsyslog.confに追加します
/var/log/munin/munin-node.log munin:munin 644 7 * 24 Z
[size="Huge"]NetBSDでのmunin serverの設定[/size]
5分毎にmunin-cronが実行されるようにcronの設定をします。
# crontab -u minin -e
でeditorを立ち上げ
*/5 * * * * /usr/pkg/bin/munin-cron
を追加します
確認します。
# crontab -u munin -l
*/5 * * * * /usr/pkg/bin/munin-cron
これでOKなはずですが、なぜかHTMLページはできているのですがグラフ画像が生成されません。
そこで、munin-graphを単独で起動してみたところ、
Undefined PLT symbol "rrd_clear_error
というメッセージが表示され落ちることがわかりました。
どうやらrrdtoolについているperl用のshared library RRDs.soがまずそうなので、-export-dynamicオプションなどをつけてもう一度作り直してみました。
# cd /usr/pkgsrc/databases/rrdtool/work/rrdtool-1.2.23/bindings/perl-shared
#vi Makefile
(-export-dynamicを加えたり)
# make
# cp blib/arch/auto/RRDs/RRDs.so /usr/pkg/lib/perl5/vendor_perl/5.8.0/i386-netbsd-thread-multi/auto/RRDs/
これで、ふたたびmunin-graphを実行したところ無事にグラフ画像がつくれるようになりました。
# -export-dynamicは必要なく、RRDs.soをつくりなおすだけでよかったのかもしれません。
ここまでで問題ないようならlogのローテーションを行うために以下を/etc/newsyslog.confに追加します
/var/log/munin/munin-graph.log munin:munin 644 7 * 24 Z
/var/log/munin/munin-html.log munin:munin 644 7 * 24 Z
/var/log/munin/munin-limits.log munin:munin 644 7 * 24 Z
/var/log/munin/munin-update.log munin:munin 644 7 * 24 Z
このエントリーに定義されたタグ: monitoring, netbsd
トラックバック
このエントリーのトラックバック URI を指定する