ServersMan@VPS:Muninの監視項目を増やす

Muninは、デフォルトの監視項目以外に「プラグイン」で監視したい項目を増やすことができます。代表的なモジュール「Apache」「MySQL」「APC Cache」「Memcached」の4つを監視項目に追加してみます。(2014/04/26作成)

監視 FirmBee / Pixabay

0.前提条件

各監視対象のモジュール群は、既にセットアップ済みであること前提とします。

1.Apache の監視

$ sudo vi /etc/httpd/conf/httpd.conf

LoadModule status_module modules/mod_status.so

ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

$ /etc/init.d/httpd configtest
$ sudo /etc/init.d/httpd graceful

$ curl -s 'http://127.0.0.1/server-status?auto'
Total Accesses: 2464
Total kBytes: 12260
CPULoad: .0130085
Uptime: 591459
ReqPerSec: .00416597
BytesPerSec: 21.2259
BytesPerReq: 5095.06
BusyWorkers: 4
IdleWorkers: 18
Scoreboard: __K___W______K______K_..........................................................

$ cd /etc/munin/plugins/
$ sudo ln -s /usr/share/munin/plugins/apache_accesses
$ sudo ln -s /usr/share/munin/plugins/apache_processes
$ sudo ln -s /usr/share/munin/plugins/apache_volume

$ sudo /etc/init.d/munin-node restart

2.MySQL の監視

$ sudo yum install perl-DBD-MySQL

$ rpm -qa | grep -i perl-DBD-MySQL
perl-DBD-MySQL-3.0007-2.el5

$ cd /etc/munin/plugins
$ sudo ln -s /usr/share/munin/plugins/mysql_bytes
$ sudo ln -s /usr/share/munin/plugins/mysql_queries
$ sudo ln -s /usr/share/munin/plugins/mysql_slowqueries
$ sudo ln -s /usr/share/munin/plugins/mysql_threads

$ mysql -u root
mysql> GRANT ALL PRIVILEGES ON *.* TO 'munin'@'127.0.0.1' IDENTIFIED BY 'パスフレーズ' ;
mysql> flush privileges;
mysql> exit;

$ sudo vi /etc/munin/plugin-conf.d/munin-node

[mysql*]
env.mysqladmin /usr/bin/mysqladmin
env.mysqlopts -u munin -pパスワード -h 127.0.0.1 --port=3306
env.mysqlconnection DBI:mysql:mysql;host=127.0.0.1;port=3306
env.mysqluser munin
env.mysqlpassword パスワード

$ sudo /etc/init.d/munin-node restart

(2015/03/08追記)
新しい mysqlプラグイン「mysql2」の設定を追加します。今までの mysqlプラグイン「mysql」との共存可能です。なお監視可能な項目は「suggest」で一覧取得できます。

$ sudo /usr/share/munin/plugins/mysql_ suggest
Missing dependency Cache::Cache at /usr/share/munin/plugins/mysql_ line 728.

$ sudo yum install --enablerepo=epel perl-Cache-Cache

$ sudo /usr/share/munin/plugins/mysql_ suggest
bin_relay_log
commands
connections
files_tables
innodb_bpool
innodb_bpool_act
innodb_insert_buf
innodb_io
innodb_io_pend
innodb_log
innodb_rows
innodb_semaphores
innodb_tnx
myisam_indexes
network_traffic
qcache
qcache_mem
replication
select_types
slow
sorts
table_locks
tmp_tables

$ cd cd /etc/munin/plugins
$ sudo ln -s /usr/share/munin/plugins/mysql_ mysql_commands
$ sudo ln -s /usr/share/munin/plugins/mysql_ mysql_connections
$ sudo ln -s /usr/share/munin/plugins/mysql_ mysql_slow
$ sudo ln -s /usr/share/munin/plugins/mysql_ mysql_select_types

$ sudo /etc/init.d/munin-node restart

3.APC Cache の監視

$ wget https://munin-php-apc.googlecode.com/files/munin_plugin_php_apc-0.1.zip
$ unzip munin_plugin_php_apc-0.1.zip 
$ cd php_apc/
$ sudo cp apc_info.php /var/www/html/tools
$ sudo cp -rf php_apc_ /usr/share/munin/plugins/

$ cd /etc/munin/plugins/
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_files
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_fragmentation
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_hit_miss
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_purge
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_rates
$ sudo ln -s /usr/share/munin/plugins/php_apc_ php_apc_usage

$ sudo vi /etc/munin/plugin-conf.d/munin-node
[php_apc_*]
user root
env.url http://127.0.0.1/tools/apc_info.php

$ sudo /etc/init.d/munin-node restart

4.Memcached の監視

$ wget https://github.com/mhwest13/Memcached-Munin-Plugin/archive/master.zip
$ unzip master.zip
$ cd Memcached-Munin-Plugin-master/
$ sudo cp -rf memcached_ /usr/share/munin/plugins/

$ cd /etc/munin/plugins/
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_bytes
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_commands
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_conns
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_evictions
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_items
$ sudo ln -s /usr/share/munin/plugins/memcached_ memcached_memory

$ sudo vi /etc/munin/plugin-conf.d/munin-node
[memcached_*]
env.host 127.0.0.1
env.port 11211
env.timescale 3

$ sudo /etc/init.d/munin-node restart

5.監視項目の反映

監視サーバ側で「munin-cron」を実行します。

$ sudo -u munin /usr/bin/munin-cron

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。