別々の最大値を持つMRTGの設定として、メモリー使用量のMRTG設定をしてみました。実メモリとスワップの使用量を表示させてみることにします。
さて、CentOS のメモリーの使い方なのですが、空きがあると積極的に使うようになっているようです。
# free total used free shared buffers cached Mem: 1922620 1811352 111268 0 146344 240376 -/+ buffers/cache: 1424632 497988 Swap: 4128760 896 4127864 |
上の例ですと、free が空きメモリー量ではなく、実際の空きメモリはfree + buffers + cached になるようです。
Target の指定の中で計算をすることもできるようです。しかしながら一行の記述が長くなる、ぱっと見て自分の力量では理解ができないこともあり、シェルスクリプトで計算をすることにしました。
使い回すかどうか先のことは分かりませんが、IPアドレスを引数にし他機でも使えるように memoy.sh という名で作ってみました。
#!/bin/sh IP=$1 SYS=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.2.1.1.5 | cut -d " " -f 4` SWAP_ALL=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.3.0 | cut -d " " -f 4` SWAP_FREE=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.4.0 | cut -d " " -f 4` MEM_ALL=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.5.0 | cut -d " " -f 4` MEM_FREE=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.6.0 | cut -d " " -f 4` MEM_BUF=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.14.0 | cut -d " " -f 4` MEM_CACHE=`/usr/bin/snmpwalk -v 1 -c test-ro $IP .1.3.6.1.4.1.2021.4.15.0 | cut -d " " -f 4` MEM_USE=`/usr/bin/expr $MEM_ALL - \( $MEM_FREE + $MEM_BUF + $MEM_CACHE \)` SWAP_USE=`/usr/bin/expr $SWAP_ALL - $SWAP_FREE` echo $MEM_USE echo $SWAP_USE echo "" echo $SYS exit 0
|
mrtg.cfg の設定はこんな感じ。(抜粋)
今までは MaxBytes の指定でしたが、別々に指定をしたいので MaxBytesの代わりに MaxBytes1と MaxBytes2を指定しています。
Target[nmcent64_mem]: `/etc/mrtg/memory.sh localhost` Directory[nmcent64_mem]: nmcent64/memory # # Max Memory MaxBytes1[nmcent64_mem]: 1922620 # # Max Swap MaxBytes2[nmcent64_mem]: 4128760 Unscaled[nmcent64_mem]: dwmy Options[nmcent64_mem]: gauge, absolute, growright, noinfo YLegend[nmcent64_mem]: Mem Free(Bytes) ShortLegend[nmcent64_mem]: KBytes kilo[nmcent64_mem]: 1024 kMG[nmcent64_mem]: k,M LegendI[nmcent64_mem]: Real LegendO[nmcent64_mem]: Swap Legend1[nmcent64_mem]: 空き物理メモリ[MBytes] Legend2[nmcent64_mem]: 空きスワップメモリ[MBytes] Title[nmcent64_mem]: localhost_空きメモリ量 PageTop[nmcent64_mem]: <H1>nmcent64_空きメモリ量</H1> |
で、実際に動かした結果はこんな感じ。
赤い線がそれぞれ MaxBytes1 と MaxBytes2 の最大値を示しています。変動がほとんど無いのでつまらないグラフですねぇ... スワップなんか使用0 に近い状態で推移しているし。
2値を表示する練習で作成してみましたが、使用量ではなく使用率にした百分率表示の方がいいかもしれないですね。
0 件のコメント:
コメントを投稿