前提
muninの監視サーバーを 192.168.11.1、被監視サーバーを192.168.11.2とする。被監視サーバーがSolaris 10のときのメモ
CPANモジュールのインストール
% sudo su # cpan > install CPAN > install LWP > install Module::Build > install Time::HiRes > install Net::Server > Net::Server::Fork
ユーザーとディレクトリの作成。
# groupadd munin # useradd munin # mkdir /var/munin # mkdir /var/munin-node # mkdir /var/run/munin # mkdir /var/log/munin # mkdir /etc/munin # chown munin:munin /var/munin
SourceForge: Muninよりソースコードを入手する。その後、解凍&Makefile.configの編集
% gtar xvfz munin-2.0.6.tgz % cd munin-2.0.6 % cp -p Makefile.config Makefile.config.org % vi Makefile.config
編集内容は以下の通り
% diff Makefile.config.org Makefile.config 20c20,21 < PREFIX = $(DESTDIR)/opt/munin --- > #PREFIX = $(DESTDIR)/opt/munin > PREFIX = /usr/local/munin 23c24,25 < CONFDIR = $(DESTDIR)/etc/opt/munin --- > #CONFDIR = $(DESTDIR)/etc/opt/munin > CONFDIR = /etc/munin 45c47,48 < DBDIR = $(DESTDIR)/var/opt/munin --- > #DBDIR = $(DESTDIR)/var/opt/munin > DBDIR = /var/munin 48c51,52 < DBDIRNODE = $(DESTDIR)/var/opt/munin-node --- > #DBDIRNODE = $(DESTDIR)/var/opt/munin-node > DBDIRNODE = /var/munin-node 59c63,64 < LOGDIR = $(PREFIX)/log/munin --- > #LOGDIR = $(PREFIX)/log/munin > LOGDIR = /var/log/munin 63c68,69 < STATEDIR = $(DESTDIR)/var/run/munin --- > #STATEDIR = $(DESTDIR)/var/run/munin > STATEDIR = /var/run/munin 66c72,73 < PERL := $(shell which perl) --- > #PERL := $(shell which perl) > PERL := /usr/local/bin/perl
コンパイル&インストール
% gmake % sudo gmake install-common-prime % sudo gmake install-node % sudo gmake install-plugins-prime % sudo cp build/node/munin-node.conf /etc/munin/
/etc/munin/munin-node.confを編集する。hostnameをコメントアウトし、allowで監視サーバーのIPアドレスを指定する。muninの監視サーバーを 192.168.11.1、被監視サーバーを192.168.11.2とするとき以下のようにする。
allow ^192\.168\.11\.1$
/usr/local/munin/sbin 以下のスクリプトは/usr/bin/perlを使うようになっているので、/usr/local/bin/perlを使うように書き換える。書き換えたら、どんなプラグインが使えるかを確かめてみる。
/usr/local/munin/sbin/munin-node-configure --suggest |& tee /tmp/configure.log #適用できるプラグインの一覧と状況 /usr/local/munin/sbin/munin-node-configure --shell |& tee /tmp/shell.log # どういうコマンドでプラグインの導入できるかの一覧 /usr/local/munin/sbin/munin-node-configure |& more #現在導入されているプラグインの一覧
munin-node-configure --suggestでどういう理由でプラグインが使えないのかをチェックできる。次のコマンドで導入可能なプラグインを一括導入できる。
/usr/local/munin/sbin/munin-node-configure --shell --families=contrib,auto | sh -x
munin-nodeを起動する。
% sudo /usr/local/munin/sbin/munin-node
動作確認
% ps -ef | grep munin % netstat -n -a | grep 4949
一度終了させる。
% kill プロセスID
Solaris 10用に起動スクリプトを用意する。 Installation of a Munin Node on Solaris 10 x86にある起動スクリプトをそのままいただく。
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="manifest" name="export"> <service name="application/munin-node" type="service" version="0"> <create_default_instance enabled="true"/> <single_instance/> <dependency name="fs" grouping="require_all" restart_on="none" type="service"> <service_fmri value="svc:/system/filesystem/local"/> </dependency> <dependency name="network" grouping="require_all" restart_on="none" type="service"> <service_fmri value="svc:/milestone/network:default"/> </dependency> <dependency name="name-services" grouping="require_all" restart_on="none" type="service"> <service_fmri value="svc:/milestone/name-services:default"/> </dependency> <exec_method name="start" type="method" exec="munin-node" timeout_seconds="60"> <method_context> <method_credential user="root" group="root"/> <method_environment> <envvar name="PATH" value="/usr/local/munin/sbin:/usr/bin:/bin"/> </method_environment> </method_context> </exec_method> <exec_method name="stop" type="method" exec=":kill" timeout_seconds="60"> <method_context/> </exec_method> </service> </service_bundle>
このファイルを~/munin-node.xmlとしたとき、以下のコマンドで導入する。
% sudo svccfg -v validate /path/to/munin-node.xml % sudo svccfg -v import /path/to/munin-node.xml % svcs -a | grep munin
うまくいかないときは以下のコマンドで原因を調べる。
% sudo svcs -x -v % tail -100 /var/log/munin/munin-node.log
起動、停止は以下のコマンドで行う。
% sudo svcadm disable application/munin-node (停止) % sudo svcadm enable application/munin-node (起動)
監視サーバーの設定
munin.conf にて以下を付け加える。
[Servername(任意の名前)] address 192.168.11.2 use_node_name yes
Solaris用カスタマイズ
Apacheの計測
gamme’s direction is as pleasing to the soul.:muninのプラグインでapache関連のグラフが表示されない件より、mod_statusを有効にする。
<IfModule mod_status.c> ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location> </IfModule>
その後、apacheを再起動させる。
Postfixの計測
オデの日記@WEB系:muninインストールめも より、postfix_mailqueueの実行権限をrootにする。/etc/munin/plugin-conf.d/plugins.confを作成し、中見を以下のようにする。
[postfix_mailqueue] user root
その後、munin-nodeを再起動させる。