munin でrrdcachedを使い負荷の軽減する

munin でrrdcached を利用してIOの負荷を下げる

CentOS 6にインストールしているmuninの負荷が高いんので、rrdcachedを利用して負荷を下げるようにしました。
インストールしたCentOS 6.xにインストールしたので、今のCentOS 7, CentOS 8ではインストールできかは検証していません

muninは、特に少ないノード数だといいのですが、数十台規模になるとmuninの更新のたびにロードアベレージやDISK負荷が高くなります。
rrdcachedを利用すると、muninとrrd間のデータの読み込み・書き込み時を一時的にキャッシュするので負荷を軽減できます。

rrdtoolをインストールする

「rrdtool」をrpmforgeよりインストールします。但し、RepoForge (旧名称RPMForge) は終了しているので、まだ生きているところを利用します。インストールしたのはCentOS 6系にインストールしているのでそれ以外の場合は注意して下さい

$ sudo wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo yum install rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo yum -y --enablerepo=rpmforge-extras install rrdtool

rrdcached,munin の設定をおこないます

/etc/sysconfig/rrdcached を設定を以下の様に編集します

$ sudo vim /etc/sysconfig/rrdcached
# Settings for rrdcached
#OPTIONS="-l unix:/var/rrdtool/rrdcached/rrdcached.sock -s rrdcached -m 664 -b /var/rrdtool/rrdcached"
#RRDC_USER=rrdcached
OPTIONS="-s rrdcached -m 664 -l unix:/var/rrdtool/rrdcached/rrdcached.sock -l 127.0.0.1 -b /var/rrdtool/rrdcached -F -j /var/rrdtool/rrdcached/rrdcached-journal -w 1800 -z 1800 -f 3600"
RRDC_USER=rrdcached
umask 002

ジャーナル用ディレクトリを作成します

$ sudo cd /var/rrdtool/rrdcached 
$ sudo mkdir rrdcached-journal 
$ sudo chown rrdcached:rrdcached ./rrdcached-journal

サービスの起動及び自動起動を設定します

$ sudo /etc/init.d/rrdcached start
$ sudo chkconfig rrdcached on
$ sudo chkconfig --list rrdcached

munin, rrdcachedのグループを編集します

$ sudo usermod -G munin rrdcached 
$ sudo usermod -G rrdcached munin

# 追加したグループを確認します
$ id rrdcached
uid=494(rrdcached) gid=494(rrdcached) groups=494(rrdcached),496(munin)
$ id munin
uid=496(munin) gid=496(munin) groups=496(munin),494(rrdcached)

munin 関連ディレクトリに setgid を設定。ファイルにグループ書き込み権限を付与します

$ sudo cd /var/lib/munin
$ sudo chmod g+s . 
$ sudo find ./ -type d -print0|xargs -0 chmod g+s 
$ sudo find ./ -group munin -print0|xargs -0 chmod g+rw

/etc/munin/munin.conf に以下の行を追記して、rrdcachedを利用できるようにします

$ sudo vim /etc/munin/munin.conf
rrdcached_socket /var/rrdtool/rrdcached/rrdcached.sock

munin, rrdcachedのサービスの再起動をおこないます

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

 

 

 

スポンサーリンク