muninのインストール


各種リソースをグラフ化し、HTML化するツールです。
CPU使用率の推移やメモリの使用状況、ディスクの使用率などがグラフ化され、そのサーバの状況が把握しやすくなります。
サーバの監視には必須な上、日々見ていても結構面白いものなので、ぜひ導入しましょう。

同種のツールにMRTGやCactiがありますが、muninは多様な項目をグラフ化できて設定も簡単です。

muninのインストール

apt-getを使ってインストールします。

# apt-get install munin
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています               
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  gawk libdate-manip-perl libhtml-template-perl libio-multiplex-perl
  libnet-cidr-perl libnet-server-perl libnet-snmp-perl librrd4 librrds-perl
  munin-node rrdtool
提案パッケージ:
  libipc-sharedcache-perl libio-socket-ssl-perl libcrypt-des-perl
  libdigest-hmac-perl libdigest-sha1-perl libio-socket-inet6-perl
  munin-plugins-extra liblwp-useragent-determined-perl libnet-irc-perl
  mysql-client smartmontools ethtool libdbd-pg-perl
以下のパッケージが新たにインストールされます:
  gawk libdate-manip-perl libhtml-template-perl libio-multiplex-perl
  libnet-cidr-perl libnet-server-perl libnet-snmp-perl librrd4 librrds-perl
  munin munin-node rrdtool
アップグレード: 0 個、新規インストール: 12 個、削除: 0 個、保留: 9 個。
3392kB のアーカイブを取得する必要があります。
この操作後に追加で 7963kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://ftp.jp.debian.org lenny/main gawk 1:3.1.5.dfsg-4.1 [685kB]
取得:2 http://ftp.jp.debian.org lenny/main libdate-manip-perl 5.54-1 [173kB]
取得:3 http://ftp.jp.debian.org lenny/main libhtml-template-perl 2.9-1 [65.7kB]
取得:4 http://ftp.jp.debian.org lenny/main libio-multiplex-perl 1.09-2 [21.9kB]
取得:5 http://ftp.jp.debian.org lenny/main libnet-cidr-perl 0.11-3 [14.8kB]
取得:6 http://ftp.jp.debian.org lenny/main libnet-server-perl 0.97-1 [141kB]
取得:7 http://ftp.jp.debian.org lenny/main libnet-snmp-perl 5.2.0-1 [112kB]
取得:8 http://ftp.jp.debian.org lenny/main librrd4 1.3.1-4 [238kB]
取得:9 http://ftp.jp.debian.org lenny/main librrds-perl 1.3.1-4 [77.6kB]
取得:10 http://ftp.jp.debian.org lenny/main rrdtool 1.3.1-4 [591kB]
取得:11 http://ftp.jp.debian.org lenny/main munin 1.2.6-10lenny1 [611kB]
取得:12 http://ftp.jp.debian.org lenny/main munin-node 1.2.6-10lenny1 [662kB]
3392kB を 2s で取得しました (1194kB/s)
未選択パッケージ gawk を選択しています。
(データベースを読み込んでいます ... 現在 106993 個のファイルとディレクトリがインストールされています。)
(.../gawk_1%3a3.1.5.dfsg-4.1_i386.deb から) gawk を展開しています...
未選択パッケージ libdate-manip-perl を選択しています。
(.../libdate-manip-perl_5.54-1_all.deb から) libdate-manip-perl を展開しています...
未選択パッケージ libhtml-template-perl を選択しています。
(.../libhtml-template-perl_2.9-1_all.deb から) libhtml-template-perl を展開しています...
未選択パッケージ libio-multiplex-perl を選択しています。
(.../libio-multiplex-perl_1.09-2_all.deb から) libio-multiplex-perl を展開しています...
未選択パッケージ libnet-cidr-perl を選択しています。
(.../libnet-cidr-perl_0.11-3_all.deb から) libnet-cidr-perl を展開しています...
未選択パッケージ libnet-server-perl を選択しています。
(.../libnet-server-perl_0.97-1_all.deb から) libnet-server-perl を展開しています...
未選択パッケージ libnet-snmp-perl を選択しています。
(.../libnet-snmp-perl_5.2.0-1_all.deb から) libnet-snmp-perl を展開しています...
未選択パッケージ librrd4 を選択しています。
(.../librrd4_1.3.1-4_i386.deb から) librrd4 を展開しています...
未選択パッケージ librrds-perl を選択しています。
(.../librrds-perl_1.3.1-4_i386.deb から) librrds-perl を展開しています...
未選択パッケージ rrdtool を選択しています。
(.../rrdtool_1.3.1-4_i386.deb から) rrdtool を展開しています...
未選択パッケージ munin を選択しています。
(.../munin_1.2.6-10lenny1_all.deb から) munin を展開しています...
未選択パッケージ munin-node を選択しています。
(.../munin-node_1.2.6-10lenny1_all.deb から) munin-node を展開しています...
man-db のトリガを処理しています ...
gawk (1:3.1.5.dfsg-4.1) を設定しています ...
libdate-manip-perl (5.54-1) を設定しています ...
libhtml-template-perl (2.9-1) を設定しています ...
libio-multiplex-perl (1.09-2) を設定しています ...
libnet-cidr-perl (0.11-3) を設定しています ...
libnet-server-perl (0.97-1) を設定しています ...
libnet-snmp-perl (5.2.0-1) を設定しています ...
librrd4 (1.3.1-4) を設定しています ...
librrds-perl (1.3.1-4) を設定しています ...
rrdtool (1.3.1-4) を設定しています ...
munin (1.2.6-10lenny1) を設定しています ...
Adding system user `munin' (UID 114) ...
Adding new group `munin' (GID 120) ...
Adding new user `munin' (UID 114) with group `munin' ...
Not creating home directory `/var/lib/munin'.
munin-node (1.2.6-10lenny1) を設定しています ...
Initializing plugins..done.
Starting Munin-Node: done.
#

以上でインストールは終了です。

muninの設定

muninの設定をしていきます。

出力ディレクトリの変更

まずは/etc/munin/munin.confのhtmldirがmuninの出力ディレクトリになるので、Apacheがアクセスできるディレクトリに変更します。

ApacheのDocumentRoot(/home/www)下にmuninというディレクトリを作り、そこを出力ディレクトリにしました。
[localhost.localdomain]の部分はFDQNを入れます。

# mkdir /home/www/munin
# vi /etc/munin/munin.conf
#htmldir    /var/www/munin
htmldir    /home/www/munin

#[localhost.localdomain]
[hogehoge.com]

監視内容の変更

次に監視内容を設定していきます。
デフォルトでもかなり細かい監視ができていますので、まずはmunin-node-configureコマンドで現在の監視内容を確認します。

# munin-node-configure
Plugin                     | Used | Extra information                     
------                     | ---- | -----------------                     
acpi                       | yes  |                                       
apache_accesses            | no   |                                       
apache_processes           | yes  |                                       
apache_volume              | no   |                                       
apt                        | no   |                                       
apt_all                    | no   |                                       
courier_mta_mailqueue      | no   |                                       
courier_mta_mailstats      | no   |                                       
courier_mta_mailvolume     | no   |                                       
cps_                       | no   |                                       
cpu                        | yes  |                                       
cupsys_pages               | no   |                                       
df                         | yes  |                                       
df_abs                     | no   |                                       
df_inode                   | yes  |                                       
entropy                    | yes  |                                       
exim_mailqueue             | no   |                                       
exim_mailstats             | no   |                                       
forks                      | yes  |                                       
fw_conntrack               | no   |                                       
fw_forwarded_local         | no   |                                       
fw_packets                 | no   |                                       
hddtemp_smartctl           | no   |                                       
if_                        | yes  | eth0                                  
if_err_                    | yes  | eth0                                  
interrupts                 | yes  |                                       
iostat                     | yes  |                                       
ip_                        | no   |                                       
ircu                       | no   |                                       
irqstats                   | yes  |                                       
load                       | yes  |                                       
loggrep                    | no   |                                       
memory                     | yes  |                                       
multips                    | no   |                                       
munin_graph                | no   |                                       
munin_update               | no   |                                       
mysql_bytes                | no   |                                       
mysql_isam_space_          | no   |                                       
mysql_queries              | no   |                                       
mysql_slowqueries          | no   |                                       
mysql_threads              | no   |                                       
netstat                    | no   |                                       
nfs_client                 | no   |                                       
nfsd                       | no   |                                       
ntp_                       | no   |                                       
ntp_offset                 | no   |                                       
ntp_states                 | no   |                                       
open_files                 | yes  |                                       
open_inodes                | yes  |                                       
ping_                      | no   |                                       
port_                      | no   |                                       
postfix_mailqueue          | yes  |                                       
postfix_mailstats          | no   |                                       
postfix_mailvolume         | yes  |                                       
postgres_block_read_       | no   |                                       
postgres_commits_          | no   |                                       
postgres_locks             | no   |                                       
postgres_queries_          | no   |                                       
postgres_space_            | no   |                                       
processes                  | yes  |                                       
ps_                        | no   |                                       
psu_                       | no   |                                       
sendmail_mailqueue         | no   |                                       
sendmail_mailstats         | no   |                                       
sendmail_mailtraffic       | no   |                                       
sensors_                   | no   |                                       
smart_                     | no   |                                       
squid_cache                | no   |                                       
squid_icp                  | no   |                                       
squid_requests             | no   |                                       
squid_traffic              | no   |                                       
swap                       | yes  |                                       
sybase_space               | no   |                                       
tomcat_access              | no   |                                       
tomcat_jvm                 | no   |                                       
tomcat_threads             | no   |                                       
tomcat_volume              | no   |                                       
uptime                     | no   |                                       
vlan_                      | no   |                                       
vlan_inetuse_              | no   |                                       
vlan_linkuse_              | no   |                                       
vmstat                     | yes  |                                       
#

Usedの項目でyesとなっているのが現在有効になっている現在の監視項目、noが無効になっている項目です。

/usr/share/munin/plugins下に監視プラグインが置いてあるので、/etc/munin/pluins下にリンクを張ることで監視項目を増やすことができます。
逆に/etc/munin/plugins下のリンクを削除することで、監視項目を減らすことができます。
いくつか監視項目を増やしていきます。

# ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_bytes /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_queries /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_threads /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_isam_space_ /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/mysql_slowqueries /etc/munin/plugins/

muninの再起動

あとはmunin-nodeの再起動で、監視が行われます。

# /etc/init.d/munin-node restart
Stopping Munin-Node: done.
Starting Munin-Node: done.
#

SSLポートの監視

apacheの監視で80番ポート意外、例えば443(ssl)ポートを監視する場合には/etc/munin/plugin-conf.d/munin-nodeを編集します。

# vi /etc/munin/plugin-conf.d/munin-node
[apache*]
#env.ports 80
env.ports 80 443

MySQLの監視

mysqlの監視をする場合には/etc/munin/plugin-conf.d/munin-nodeの編集が必要です。

# vi /etc/munin/plugin-conf.d/munin-node
[mysql*]
#user root
env.mysqlopts -u MySQLの管理者のユーザー名 -p MySQLの管理者のパスワード

muninのログ

muninを導入すると、5分毎にcronで実行されたmuninのログが、大量にsyslogに吐かれてしまいます。
重要なログがmuninのログに埋もれてしまうので、余計なログを吐かせないようにします。

まずは/etc/rsyslog.confのcronエントリを有効にします。

#cron.*                /var/log/cron.log
cron.*                /var/log/cron.log

次にsyslogのエントリにnone.cronを追加します。(ついでにmail関係のログも別途mail.logがあるのでsyslog出力を停止します)

#*.*;auth,authpriv.none    -/var/log/syslog
*.*;auth,authpriv.none,cron.none,mail.none        -/var/log/syslog

rsyslogを再起動し、設定を有効にします。

# /etc/init.d/rsyslog restart

以上でmuninの導入は終了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


+ 1 = 5

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>