金曜日, 7月 18, 2014

Cacti Host MIB - Processesやucd/net - Memory - FreeのMaxを最大限に!



cactiのData TemplatesのMAX値は、デフォルトの場合、それぞれ以下のような設定になっている。

Host MIB - Processes(proc) 1000プロセス
ucd/net - Memory - Cache(mem_cache) 10GB
ucd/net - Memory - Free(mem_free) 10GB
ucd/net - Memory - Buffers(mem_buffers) 10GB

大規模な環境ではそれぞれ足りず、グラフが表示できなくなってしまう。
グラフを作る前にMAXをUにしておけばなんの不具合もないんだけど、ついwそのままで作って気がついたら表示されてなかった!なんて場合には以下方法でまとめて変更する。

台数が多い場合に以下のようなスクリプトで1回で設定できる。
数分で書いたものなので(笑、自分なりに変更して使ってもらえれば。

【手順】
cd /var/lib/cacti/rra
find * -print > list

vi cacti_unlimited.sh
#!/bin/sh
for VAR_ROOP in `cat list`
do
#proc用。procでやるとproc_countも出ちゃうので。
#aaa=`/usr/bin/rrdtool info ${VAR_ROOP}|grep -v proc_count|grep $1`
aaa=`/usr/bin/rrdtool info ${VAR_ROOP}|grep $1`
   if test $? = "0";then
   echo ${VAR_ROOP}
   echo ${aaa}
   echo "/usr/bin/rrdtool tune /var/lib/cacti/rra/${VAR_ROOP} -a $1:U"
#やるときはコメントアウト
#/usr/bin/rrdtool tune /var/lib/cacti/rra/${VAR_ROOP} -a $1:U
   echo ""
   fi
done

【使い方(もない行数だけど)】
sudo sh cacti_unlimited.sh 目的のもの

目的のものには
   mem_cache
   mem_free
   mem_buffers
   proc
などを指定する。ただprocだけは注意。procでgrepすると、proc_countも出てしまうので、
それを除外すること。


サンプル:before / after なグラフで、18:35分頃にやったようで、それまでは1000を超えるとグラフに出ていないけど、18:35分以降は表示されている。