LibreNMSは豊富なメトリックを収集してくれますが、その分監視ノード数が増えるとパフォーマンスチューニングが必要になってきます。
そこで私が行ったチューニングをご紹介します。
今回は「その辺に転がってるサーバ1台で監視してみた」というシチュエーションです。
- 監視サーバのストレージはHDD
- DB,Appは非分散
公式にも色々のっています
http://docs.librenms.org/Support/Performance/
#同時polling数変更
台数が増えてくると、cronが一週するまでにpollingが終わらなくなってくるので、同時にpollingする数を増やす必要があります。
闇雲に増やすとdisk ioがスパイクするので、トライ&エラーで調整する必要があります。
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
#rrdcached
http://docs.librenms.org/Extensions/RRDCached/
RRDファイルへの書き込みをキャッシュしてdisk ioを低減させることが出来ます。
今回導入した中では一番効果が高かったです。
sudo apt-get install rrdcached
sudo mkdir /var/run/rrdcached
sudo chown librenms:librenms /var/run/rrdcached/
/etc/default/rrdcached
OPTS="-s librenms"
OPTS="$OPTS -l unix:/var/run/rrdcached.sock"
OPTS="$OPTS -j /var/lib/rrdcached/journal/ -F"
OPTS="$OPTS -b /home/admin/rrd/ -B"
OPTS="$OPTS -w 1800 -z 1800 -f 3600 -t 4"
#memcached
キャッシュによりデータベースへのアクセス回数を減らす事が出来ます。
sudo apt-get install memcached php5-memcached
/etc/memcached.conf
-m 512
sudo service memcached restart
#それでもダメなら
SSDとメモリを買いましょう