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
ディスカッション
コメント一覧
まだ、コメントがありません