|
|
||||||||||||||||||||||
|
|
MRTG のコンフィグファイルに以下を追加する。 Target[--.--.--.--_mem]: `/path/to/meminfo.sh` MaxBytes1[--.--.--.--_mem]: 393216 MaxBytes2[--.--.--.--_mem]: 786432 Title[--.--.--.--_mem]: Memory Usage PageTop[--.--.--.--_mem]: <H1>Memory Usage</H1> Options[--.--.--.--_mem]: gauge,absolute,growright YLegend[--.--.--.--_mem]: Size in Use ShortLegend[--.--.--.--_mem]: Bytes Legend1[--.--.--.--_mem]: Real Memory Legend2[--.--.--.--_mem]: Swap Memory LegendI[--.--.--.--_mem]: Real LegendO[--.--.--.--_mem]: Swap kilo[--.--.--.--_mem]: 1024
赤字の部分は環境に合わせて変更してください。MaxBytes1 には搭載物理メモリのサイズを KBytes 単位で。MaxBytes2 にはスワップサイズを KBytes 単位で指定する(1 KBytes は 1024 Bytes 換算)。
してもらうと分かると思いますが、snmp では空きメモリサイズは教えてくれますが、使用中メモリサイズは教えてくれません。そこで、mrtg からスクリプトを呼び出し、そのスクリプト中で "総メモリサイズ - 空きメモリサイズ"を実行して使用中メモリサイズを算出してやります。以下がそれを行うスクリプトです。 #!/bin/sh swaptotal=`/usr/local/bin/snmpget -O v localhost public .1.3.6.1.4.1.2021.4.3.0` swapavail=`/usr/local/bin/snmpget -O v localhost public .1.3.6.1.4.1.2021.4.4.0` memtotal=`/usr/local/bin/snmpget -O v localhost public .1.3.6.1.4.1.2021.4.5.0` memavail=`/usr/local/bin/snmpget -O v localhost public .1.3.6.1.4.1.2021.4.6.0` hostname=`/usr/local/bin/snmpget -O v localhost public .1.3.6.1.2.1.1.5.0` /bin/expr $memtotal - $memavail /bin/expr $swaptotal - $swapavail echo echo $hostname exit 0
このスクリプトをどこかに配置し、実行権限を付与し、その場所を mrtg のコンフィグファイルに設定してやれば OK です。 */5 * * * * /usr/local/bin/mrtg /path/to/mrtg.cfg トラックバックこのエントリーのトラックバックURL: |
|||||||||||||||||||||