- PR -

MRTGでのメモリ使用率の表示について

1
投稿者投稿内容
じゃんく
会議室デビュー日: 2006/07/13
投稿数: 5
投稿日時: 2006-07-13 13:50
始めまして「じゃんく」といいます。
数日前からSNMP関連を学習しているのですが。

以下の環境でMRTGでのメモリ使用率の表示がうまく行きません。

OS:NetBSD3.0 i386
[snmpd net-snmp-5.3.0.1],[mrtg mrtg-2.14.4]

[snmpd.conf]
com2sec local localhost pricom
group Reader v1 local
group Reader v2c local
group Reader usm local
view all included .1 80
access Reader "" any noauth exact all none none
syslocation NetBSD Server
syscontact s59nov21 <s59nov21@infoseek.jp>

[mem.cfg]
WorkDir: /usr/local/apache2/htdocs/mrtg/test
EnableIPv6: no
Target[test1_mem]: 1.3.6.1.4.1.2021.4.5&1.3.6.1.4.1.2021.4.6:pricom@localhost:
MaxBytes[test1_mem]: 350000000
Title[test1_mem]: Server Memory Status
PageTop[test1_mem]: <H1>Server Memory Status</H1>
Options[test1_mem]: nopercent, integer, gauge, absolute, withzeroes
YLegend[test1_mem]: Memory Status
ShortLegend[test1_mem]: kBytes
Legend1[test1_mem]: Tortal
Legend2[test1_mem]: Empty
LegendI[test1_mem]: Tortal
LegendO[test1_mem]: Empty

この環境で mrtg を実行すると以下のエラーメッセージが出ます。

mgrhost# cd /usr/local/apache2/htdocs/mrtg/test/.
mgrhost# mrtg ./mem.cfg
SNMP Error:
Received SNMP response with error code
error status: noSuchName
index 2 (OID: 1.3.6.1.4.1.2021.4.6)
SNMPv1_Session (remote host: "localhost" [127.0.0.1].161)
community: "pricom"
request ID: 308322030
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/local/mrtg-2/bin/../lib/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for 1.3.6.1.4.1.2021.4.5 1.3.6.1.4.1.2021.4.6 sysUptime sysName on pricom@localhost::::::v4only
at /usr/local/mrtg-2/bin/mrtg line 2035
Thursday, 13 July 2006 at 13:30: ERROR: Target[test1_mem][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
Thursday, 13 July 2006 at 13:30: ERROR: Target[test1_mem][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
mgrhost#
mgrhost#

noSuchName とありましたので OIDの間違いかと考えましたが、このサイト(http://www.itmedia.co.jp/help/howto/linux/0007master/06/25.html)を見て、間違いじゃないと判断し、snmpwalk で参照出来るかどうかを調べました。

mgrhost# snmpwalk -Os -c pricom -v 1 localhost .1.3.6.1.4.1.2021.4
mgrhost#

ですが、無反応。
それで先ほどのサイトを見てみると、「memoryサブツリー(1.3.6.1.4.1.2021.4)には,freeコマンドを使って取得できるメモリの状態やスワップファイルに関する情報を保持するオブジェクトが格納されている」とのこと。
NetBSDに「freeコマンド」があるかどうか調べると、、、、ありませんでした。
どうやら「freeコマンド」はLinux固有との話。
これではやはり調べられないでしょうか???
もし、他に方法があるのであれば、ご教授下さい。

よろしくお願いします。

ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2006-07-14 00:18
pkgsrcでインストールしたのであれば、
/usr/pkg/libexec/sys2mrtg を読むと吉かも。
じゃんく
会議室デビュー日: 2006/07/13
投稿数: 5
投稿日時: 2006-07-14 08:12
>>ぽんす様

ありがとうございます。
今の mrtg , net-snmp はソースからインストールしてます。
# /usr/local/mrtg-2/bin/. には sys2mrtg は無いみたいです。

ですので、pkgsrc から入れてみて、やってみます。
助言、どうもありがとうございます。
じゃんく
会議室デビュー日: 2006/07/13
投稿数: 5
投稿日時: 2006-07-14 17:21
>>ぽんす様

あれから、pkgsrc からMRTGを入れ、sys2mrtg を見てみました。
そーゆーことなんですね!
vmstat から情報を取ることを全く考えていませんでした。

snmpd.conf にて exec に sys2mrtg の処理を入れ、extOutput で値が拾えました。

本当にありがとうございました。
とても嬉しいです。ありがとうございます。

1

スキルアップ/キャリアアップ(JOB@IT)