MRTGでメモリ使用量取得

2010/10/02サーバー構築


Linuxのメモリ管理は複雑(優秀)でメモリ使用量をfreeコマンドの出力結果で一発表示させることができない。(※freeコマンドのusedではない)
計算式としては「メモリ使用量=total - (free + buffers + cached)」となる。
これをMRTGで取得しようとした場合、検索するとシェルスクリプトでの取得方法が出てくるのだが、MRTGは設定ファイル内で計算式を書くことができる。
つまりわざわざシェルスクリプトを書くまでもなくMRTGだけで完結することが可能。
加算式の場合は次のように書けばよい。

OID_A&OID_B:community@host + OID_C&OID_D:community@host

これを基にMRTGのコンフィグを作成する。
/usr/local/mrtg-2/conf/mrtg.cfg

Target[bruna_memory_used]:      .1.3.6.1.4.1.2021.4.3.0&.1.3.6.1.4.1.2021.4.5.0:public@192.168.x.y
- .1.3.6.1.4.1.2021.4.4.0&.1.3.6.1.4.1.2021.4.6.0:public@192.168.x.y
- .1.3.6.1.4.1.2021.4.1.0&.1.3.6.1.4.1.2021.4.14.0:public@192.168.x.y
- .1.3.6.1.4.1.2021.4.1.0&.1.3.6.1.4.1.2021.4.15.0:public@192.168.x.y
Options[bruna_memory_used]:     growright,gauge
MaxBytes1[bruna_memory_used]:   265032
MaxBytes2[bruna_memory_used]:   515496
Unscaled[bruna_memory_used]:    dwmy
YLegend[bruna_memory_used]:     Memory Used
ShortLegend[bruna_memory_used]: byte
LegendI[bruna_memory_used]:      Swap
LegendO[bruna_memory_used]:      Real
Legend1[bruna_memory_used]:     スワップメモリ使用量
Legend2[bruna_memory_used]:     実メモリ使用量
kilo[bruna_memory_used]:        1024
kMG[bruna_memory_used]:         k,M,G,T,P
Colours[bruna_memory_used]:     LIGHTBLUE#61A0DF,DKBLUE#0000DD,DARKGREEN#006600,VIOLET#FF00FF
Title[bruna_memory_used]:       bruna --> memory --> used
PageTop[bruna_memory_used]:     <h1>bruna --&gt; memory --&gt; used</h1>