2016年6月23日木曜日

MRTGの設定を行う(メモリー使用量編)

別々の最大値を持つ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>

で、実際に動かした結果はこんな感じ。

day

赤い線がそれぞれ MaxBytes1 と MaxBytes2 の最大値を示しています。変動がほとんど無いのでつまらないグラフですねぇ... スワップなんか使用0 に近い状態で推移しているし。

2値を表示する練習で作成してみましたが、使用量ではなく使用率にした百分率表示の方がいいかもしれないですね。

0 件のコメント:

コメントを投稿