2012/04/05

tmpfsのグラフ作成 - CentOS グラフ Graph 作成 RRDTool tmpfs /dev/shm

グラフを作成してみた。

16Gのメモリをつんだサーバーを扱うようになったのでtmpfsも少し利用しようかと思って、どのぐらい使用するのかの確認を含めてグラフ化。

RRDTool Install



出来上がったもの

他のグラフにサイズをあわせて作ってしまったので、表示方法はいまいちだと思います。。。(・ω・;

tmpfs - /dev/shm

rrd作成:初めの一回のみ実行

#!/bin/sh
MEMTOTAL=$(cat /proc/meminfo|awk '{if($1=="MemTotal:") print $2}')
rrdtool create shm.rrd --step 60 \
  DS:ramtotal:GAUGE:600:0:${MEMTOTAL} \
  DS:ramused:GAUGE:600:0:${MEMTOTAL} \
      RRA:LAST:0.5:1:1440 \
      RRA:LAST:0.5:60:720 \
      RRA:LAST:0.5:360:1460 \
      RRA:AVERAGE:0.5:1:1440 \
      RRA:AVERAGE:0.5:60:720 \
      RRA:AVERAGE:0.5:360:1460 \
      RRA:MIN:0.5:1:1440 \
      RRA:MIN:0.5:60:720 \
      RRA:MIN:0.5:360:1460 \
      RRA:MAX:0.5:1:1440 \
      RRA:MAX:0.5:60:720 \
      RRA:MAX:0.5:360:1460

rrd更新:1分間隔~5分間隔程度。更新間隔が長いとグラフを作ったときにいまいちな結果になる(・ω・;

#!/bin/sh
CMAX=$(df|awk '{if($6=="/dev/shm") print $2}')
CUSED=$(df|awk '{if($6=="/dev/shm") print $3}')
rrdtool update shm.rrd N:${CMAX}:${CUSED}

グラフ作成:画像更新。適度に。

#!/bin/sh
DEV="shm"
TYPE=day
WIDTH=180
HEIGHT=90
DT=$(date -d '-1 day' '+%Y-%m-%d %H:%M:00')
SEC=$(date --date "${DT}" +%s)
RRD=${DEV}.rrd
FLNAME=${DEV}_${TYPE}.png
DTY=$(date '+%Y-%m-%d')
DTH=$(date '+%H')
DTM=$(date '+%M')
 
/usr/bin/rrdtool graph \
  ${ROOTDIR}/${FLNAME} \
  --start ${SEC} \
  --imgformat PNG \
  --interlaced \
  --width ${WIDTH} \
  --height ${HEIGHT} \
  --x-grid HOUR:1:HOUR:12:HOUR:3:0:%H \
  --y-grid none \
  --alt-autoscale-max \
  --lower-limit 0 \
  --base 1024 \
  DEF:v_used=${RRD}:ramused:AVERAGE \
  DEF:m_used=${RRD}:ramused:MAX \
  DEF:l_max=${RRD}:ramtotal:LAST \
  DEF:l_used=${RRD}:ramused:LAST \
  CDEF:cm_max=m_used,1000,* \
  CDEF:cl_max=l_max,1000,* \
  CDEF:cl_free=l_max,l_used,-,1000,* \
  CDEF:cl_used=l_used,1000,* \
  CDEF:g_used=l_used,l_max,/,100,* \
  CDEF:g_free=l_max,l_used,-,l_max,/,100,* \
  COMMENT:"/dev/shm\\n" \
  COMMENT:"(tmpfs)\\n" \
  AREA:g_used#ff7f50:"used\\g" \
  GPRINT:cl_used:LAST:"\\:%3.0lf%s" \
  GPRINT:cm_max:MAX:"max\\:%3.0lf%s\\n" \
  STACK:g_free#00ff00:"free\\g" \
  GPRINT:cl_free:LAST:"\\:%3.0lf%s\\n" \
  COMMENT:"date ${DTY} ${DTH}\\:${DTM}"

0 件のコメント:

コメントを投稿