投稿日:2004年12月18日 作成鷹の巣

No.17970 mrtgにおけるsnmpの設定について



mrtgにおけるsnmpの設定について

No.17970 投稿時間:2004年12月18日(Sat) 05:19 投稿者名:piku URL:

はじめまして。
今回、mrtgで視覚的にトラフィック、メモリ使用について表示してみようとmrtgを導入したのですが、うまく表示されません。
原因としては、snmpがうまく動いていないようなのです・・・。
インストール内容としては、net-snmpとnet-snmp-utilsです。
snmpd.confの設定、変更については以下のとおりです。

com2sec local localhost private
com2sec mynetwork 192.168.1.0/24 public

group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork

view all included .1 80

access MyROGroup "" any noauth exact all none none
access MyROGroup "" any noauth exact all all none

web上でいろいろ調べた結果、以上のように設定するように書かれていたのでそのように書いたのですが、
取得できていないようなのです。

インストールしなおしたりしてみたのですが、うまく取得できていないようで・・・。

どこか間違ったり、その他の設定があるのでしょうか?
どなたかよろしくお願いします。


設定がおかしいです。

No.17971 投稿時間:2004年12月18日(Sat) 09:29 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

サーバ機で自分自身を監視するのですよね。もしそうなら、これでは動かないでしょう。
下記を参考にしてみてください。後は、インラインで。

http://www.aconus.com/~oyaji/mrtg/snmp_linux.htm

> インストール内容としては、net-snmpとnet-snmp-utilsです。
> snmpd.confの設定、変更については以下のとおりです。
>
> com2sec local localhost private
> com2sec mynetwork 192.168.1.0/24 public
>
> group MyROGroup v1 mynetwork
> group MyROGroup v2c mynetwork

この設定は、監視対象が異なる機器の場合の設定。自分自身を監視するなら、

group MyROGroup v1 local
group MyROGroup v2c local

を追加するか、こちらに変更。


> view all included .1 80
>
> access MyROGroup "" any noauth exact all none none
> access MyROGroup "" any noauth exact all all none

ここは、アクセス権限の設定であり、2行目がMyROGroupでは、同じグループを2重定義していることになり、矛盾している。
MyRWGroupの間違い。

access MyRWGroup "" any noauth exact all all none

> web上でいろいろ調べた結果、以上のように設定するように書かれていたのでそのように書いたのですが、
> 取得できていないようなのです。

もし本当に動いているサイトの情報なら、こうは、書いてないと思いますが。
snmpdは起動してますよね。netstat -an --udp で161番がなければ起動できていません。


まだ取得できていないようです。。。

No.17977 投稿時間:2004年12月19日(Sun) 05:10 投稿者名:piku URL:

おやじさんありがとうございます。

> この設定は、監視対象が異なる機器の場合の設定。自分自身を監視するなら、
>
> group MyROGroup v1 local
> group MyROGroup v2c local
上記だけにした場合、以下のようなエラーが表示されました。

SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.1.5" [192.168.1.5].161)
community: "public"
request ID: 1998472866
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 486
SNMPGET Problem for ifDescr.2 ifInOctets.2 ifDescr.2 ifOutOctets.2 sysUptime sysName on public@192.168.1.5::
::::v4only
at /usr/bin/mrtg line 1798

以下の場合だとエラーは出ないですし、以下に追加をする形だとエラーは出ません。
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork

> ここは、アクセス権限の設定であり、2行目がMyROGroupでは、同じグループを2重定義していることになり、矛盾している。
> MyRWGroupの間違い。
>
> access MyRWGroup "" any noauth exact all all none

完全に私のミスでした・・・。申し訳ないです。 MyRWGroupとMyROGroupを見間違えていました。

> snmpdは起動してますよね。netstat -an --udp で161番がなければ起動できていません。
確認しましたが、161はありました。

以上の指摘いただいた点について変更、snmpの再起動を行ったのですが、表示はできてもグラフは表示されません。
snmpから取得ができていないのだと思い、snmpwalk等を試してみましたが、取得できていないようです。

一度、最初からインストールしなおした方がいいかとおもうのですが、その際は、snmpとmrtgの両方インストールしなおした方がいいですかね?前回、一度、snmpはインストールしなおしたのですが、mrtgもした方がいいのかと・・・。

以前、テストでmrtgを導入した際は特に問題もなく表示されたのですが、今回は私が何か変更してしまったのでしょうか・・・。

どうぞ、よろしくお願いします。


設定はよくなったが使い方がおかしいからです。

No.17978 投稿時間:2004年12月19日(Sun) 07:02 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

参考ページはご覧になりましたか? もう少し、個々の設定を理解できればすぐに原因がわかると思います。
動かない理由は簡単で、設定はよくなったが使い方がおかしいからです。

> > この設定は、監視対象が異なる機器の場合の設定。自分自身を監視するなら、
> >
> > group MyROGroup v1 local
> > group MyROGroup v2c local
> 上記だけにした場合、以下のようなエラーが表示されました。

具体的に何をされようとしているかが書かれていないので、実際にやられたことからの想像ですが、サーバ機自身で監視するのですよね。

>
> SNMP Error:
> no response received
> SNMPv1_Session (remote host: "192.168.1.5" [192.168.1.5].161)
> community: "public"

サーバ機自身で監視するため、上記でlocalhostのセキュリティグループを追加しているのに何故"public"というコミュニティ名でアクセスするのですか?
ご自身がlocalhost用に設定された、"private"でアクセスすればおしまいと思います。


参考ページを参照し、設定を同じにしてみました。

No.17981 投稿時間:2004年12月20日(Mon) 03:07 投稿者名:piku URL:

おせわになります。
> 参考ページはご覧になりましたか? もう少し、個々の設定を理解できればすぐに原因がわかると思います。
> 動かない理由は簡単で、設定はよくなったが使い方がおかしいからです。
http://www.aconus.com/~oyaji/mrtg/snmp_linux.htmを参照させていただきました。

どうもうまくいかないので、参照させていただいたサイトが自身のサーバを監視対象としていたので、同じように設定を行いました。
しかし、同じ設定でもうまく取得されませんでした。

私が以前から設定を見ていたのは、http://fedorasrv.com/mrtg.shtmlのサイトです。
まだ私の使い方が間違っているのでしょうか。

なんだか、いろいろお世話になり大変申し訳ありませんが、よろしくお願いいたします。


状況を正確に教えてください。

No.17982 投稿時間:2004年12月20日(Mon) 22:47 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> http://www.aconus.com/~oyaji/mrtg/snmp_linux.htmを参照させていただきました。
>
> どうもうまくいかないので、参照させていただいたサイトが自身のサーバを監視対象としていたので、同じように設定を行いました。
> しかし、同じ設定でもうまく取得されませんでした。

それほど難しい話はないので、正確に状況確認せずに明らかにおかしいと思われるところのみを説明しましたが、うまく動かないとなると状況をはっきりさせないとわかりません。MIBが取得できないと言ってもいろいろあるので、具体的にログ等も示してください。設定箇所はほとんどないに等しいので、単純なミスか勘違いのはずです。

1. OSとSNMPのバージョンは?
-> SuSE9.1のSNMPは、メモリのMIBのみ値が異常になるトラブルがある。というようにケースバイケースで切り分けが必要。
2. サーバ機自身を監視するのか、他機を監視するのか?
-> ローカルで動いていることが大前提だが、他機から監視するなら発生している現象によっては、ファイヤウォール等の影響がある。
3. 具体的に発生している現象は? ログは?
-> 原因はいろいろあるので、現象によって対処を絞り込んでいかなければ解決はできない。「うまく取得されません」からカキコされているので、これは現象とは言いがたい。

下記で確認して、状況を詳しく書いてください。コメントを除いたsnmp.confもあれば。
1. ローカルでの動作確認。
下記のような、snmpが起動している状況が出るか?

# ps -ax | grep snmpd
1714 ? S 0:00 /usr/local/sbin/snmpd -s -l /dev/null -P /var/run/snmpd -a
1725 pts/0 S 0:00 grep snmpd

UDPの161番があるか?

# netstat -an --udp

2. snmpが動いていれば、

# snmpwalk -v 1 localhost -c private .

でズラズラとMIB値がでるか? ターゲットのMIB値は採れているか?
1項がOKで2項がNGということはあまり考えられないが、特定MIBが採れない等は経験あり。

3. 他機からなら、ホスト名とコミュニティ名を変えて、

# snmpwalk -v 1 192.168.1.5 -c public .

でズラズラとMIB値がでるか? ターゲットのMIB値は採れているか?
駄目な場合は、ファイヤウォールでudp/161が開いていないケースが考えられる。


現在、グラフの表示まではされるようになりました。

No.17983 投稿時間:2004年12月22日(Wed) 04:50 投稿者名:piku URL:

お世話になります。遅くなってしまって申し訳ないです。

> それほど難しい話はないので、正確に状況確認せずに明らかにおかしいと思われるところのみを説明しましたが、うまく動かないとなると状況をはっきりさせないとわかりません。MIBが取得できないと言ってもいろいろあるので、具体的にログ等も示してください。設定箇所はほとんどないに等しいので、単純なミスか勘違いのはずです。
私も単純ミスだとは思います。以前は特に難しいことも行わなかったので、おそらくちょっとしたミスだと思います。

> 下記で確認して、状況を詳しく書いてください。コメントを除いたsnmp.confもあれば。
> 1. ローカルでの動作確認。
> 下記のような、snmpが起動している状況が出るか?
>
> # ps -ax | grep snmpd
> 1714 ? S 0:00 /usr/local/sbin/snmpd -s -l /dev/null -P /var/run/snmpd -a
> 1725 pts/0 S 0:00 grep snmpd
> UDPの161番があるか?
>
> # netstat -an --udp

確認した結果以下のように表示されていますので、snmpは起動できているかと・・・。
# ps -ax | grep snmpd
8007 ? S 0:01 /usr/sbin/snmpd -s -l /dev/null -P /var/run/snmpd -a
8021 pts/0 S 0:00 grep snmpd

# netstat -an --udp
udp 0 0 0.0.0.0:161 0.0.0.0:* 8007/snmpd

> 2. snmpが動いていれば、
>
> # snmpwalk -v 1 localhost -c private .
>
> でズラズラとMIB値がでるか? ターゲットのMIB値は採れているか?
長々と表示されました。MIBの値についてもいろいろと表示されているので、取得できているかと思います。

現在、グラフの表示まではされるようになりました。
しかし、値が変わった分、グラフも折れ線になると思うのですが、一定のままの直線で表示されます。
ディスク使用量などは変化があまりないかもしれないのですが、トラフィックやCPUの使用率は変化があってもいいとおもうのですが、直線で表示されます。
現在、cronにて自動的に行っているのですが、私がコマンド(mrtg /etc/mrtg/mrtg.cfg)を行うとその時間だけ、折れ線で変化があります。たとえば、9時から10分おきにコマンドを入力してmrtgを行った場合は、その時間だけ折れ線になります。
それ以外の時間帯は直線のままです。
これはmrtgの設定の問題になってくるのでしょうか?現在、mrtgの設定はhttp://www.aconus.com/~oyaji/mrtg/mrtg_linux.htmを参照させていただいております。

何度も何度も申し訳ないのですが、よろしくお願いします。


cron関係の問題以外ないと思いますが

No.17984 投稿時間:2004年12月22日(Wed) 21:46 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> 現在、グラフの表示まではされるようになりました。
> しかし、値が変わった分、グラフも折れ線になると思うのですが、一定のままの直線で表示されます。
> ディスク使用量などは変化があまりないかもしれないのですが、トラフィックやCPUの使用率は変化があってもいいとおもうのですが、直線で表示されます。
> 現在、cronにて自動的に行っているのですが、私がコマンド(mrtg /etc/mrtg/mrtg.cfg)を行うとその時間だけ、折れ線で変化があります。たとえば、9時から10分おきにコマンドを入力してmrtgを行った場合は、その時間だけ折れ線になります。

ということは、snmpもmrtgも問題ないということですよね。であれば、自動的にmrtgを起動しているはずのcron関係の問題以外考えられないですよね。
cronはどんなデストリでもデフォルトで動いていると思いますので、crontabもしくはcronへの登録(おやじは、rootならcrontabにしてます)ミスあるいは、cronを止めてしまったのでは?


グラフが一定なのもcron関係の問題なのでしょうか?

No.17985 投稿時間:2004年12月23日(Thu) 02:37 投稿者名:piku URL:

大変おせわになります。

> ということは、snmpもmrtgも問題ないということですよね。であれば、自動的にmrtgを起動しているはずのcron関係の問題以外考えられないですよね。
> cronはどんなデストリでもデフォルトで動いていると思いますので、crontabもしくはcronへの登録(おやじは、rootならcrontabにしてます)ミスあるいは、cronを止めてしまったのでは?

cron自体はwebalizerも設定しておりますので、動いていると思われます。
登録ミスについては・・・。確認したのですが、おそらく出来ているのではないかと・・・。一応、更新はされています。
しかし、自動更新した場合、グラフの時間もうまく表示されていません。途中の時間帯までは表示されるのですが、それ以降の時間については時間表示がされません。コマンドで自分で更新したら、時間もちゃんと表示されます。一度、snmpをインストールしなおしたから、それでどこかの設定がおかしくなっているのですかね?
また、前回も書かせていただきましたが、グラフが直線の一定なのです。
グラフが直線の一定で表示されるのもcronの問題なのでしょうか?ディスクについてはデータサイズが急に変化することもないので、グラフも一定なのは理解できるのですが、traffic、cpu、メモリのグラフが一定なのがどうも気がかりです。これは、自動起動でも自分でコマンドで起動しても、一定のままです。折れ線になるはずなのですが・・・。

何度も何度も申し訳ないのですが、よろしくお願いします。


途中で止まるならバグ?

No.17986 投稿時間:2004年12月23日(Thu) 07:04 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> cron自体はwebalizerも設定しておりますので、動いていると思われます。
> 登録ミスについては・・・。確認したのですが、おそらく出来ているのではないかと・・・。一応、更新はされています。
> しかし、自動更新した場合、グラフの時間もうまく表示されていません。途中の時間帯までは表示されるのですが、それ以降の時間については時間表示がされません。コマンドで自分で更新したら、時間もちゃんと表示されます。一度、snmpをインストールしなおしたから、それでどこかの設定がおかしくなっているのですかね?

上記の途中の時間とはどのタイミングのことでしょうか? しばらく動いていて、何もしていないのに時間表示が止まってしまう(時間表示がされませんではないですよね。)というなら、おやじは理由がわかりません。
デストリ(何を使われているかは聞けてませんが)の問題やらsnmpやmrtgのバージョン問題かもしれません。

> また、前回も書かせていただきましたが、グラフが直線の一定なのです。
> グラフが直線の一定で表示されるのもcronの問題なのでしょうか?ディスクについてはデータサイズが急に変化することもないので、グラフも一定なのは理解できるのですが、traffic、cpu、メモリのグラフが一定なのがどうも気がかりです。これは、自動起動でも自分でコマンドで起動しても、一定のままです。折れ線になるはずなのですが・・・。

No.17983では、手動でやればグラフが変化するとおっしゃいましたが、上記はcronの起動のことで、手動でmrtgを起動すれば変化し、エラーもでないんですよね?
mrtgが起動されていれば、mrtg.cfgのLogdirで指定したlogファイルが更新されているはず。グラフが一定ということは、ファイルの更新時間が古い(mrtgが起動していない)か内容が0や、同じ値等になっている(snmpでデータが取得できていない)かのいずれかのはず。
手動でうまくいくなら、ファイル更新がされていないはず。
そうであれば、やはりcron以外(ソフトバグを除く)には考えられないのですが・・・。(でもwebalizerは動いている?)
cronが実行されているかは、/var/log/messagesあたりにログが出ていると思うので確認してください。

mrtgはデータが取得できないと、一番最後に取得した値で一直線になります。詳しいアルゴリズムは知りませんが、前回データを使った平均値を表示する仕組みからこうなるのだと思います。


ログは更新されているようですが、データが正確に取得できていないのかもしれません。

No.17987 投稿時間:2004年12月24日(Fri) 06:11 投稿者名:piku URL:

お世話になります。

> > cron自体はwebalizerも設定しておりますので、動いていると思われます。
> > 登録ミスについては・・・。確認したのですが、おそらく出来ているのではないかと・・・。一応、更新はされています。
> > しかし、自動更新した場合、グラフの時間もうまく表示されていません。途中の時間帯までは表示されるのですが、それ以降の時間については時間表示がされません。コマンドで自分で更新したら、時間もちゃんと表示されます。一度、snmpをインストールしなおしたから、それでどこかの設定がおかしくなっているのですかね?
>
> 上記の途中の時間とはどのタイミングのことでしょうか? しばらく動いていて、何もしていないのに時間表示が止まってしまう(時間表示がされませんではないですよね。)というなら、おやじは理由がわかりません。
> デストリ(何を使われているかは聞けてませんが)の問題やらsnmpやmrtgのバージョン問題かもしれません。
現在、fedoraを使っているのですが、最初から入っていたsnmpやmrtgを使っています。
現在、1日に一度mrtgをcronにて起動させているのですが、普通Y軸には数値、X軸には時間が表示されますよね?たとえば、4時に自動更新させた場合、X軸に左から20、22、0、2、・・・と表示されると思うのですが、4以降(つまり4時以降)の数字が表示されないのです。普通でしたら、X軸に20、22、0、2、・・・とずっと表示されると思うのですが、それが、表示されていないのです。後ほど、手動でmrtgを更新したら、表示されるようになります。やはりcronなのだろうか・・・。


> No.17983では、手動でやればグラフが変化するとおっしゃいましたが、上記はcronの起動のことで、手動でmrtgを起動すれば変化し、エラーもでないんですよね?
そうですね。手動で起動すれば、グラフも変化がありますし、上記で書きました時間も表示されています。

> mrtgが起動されていれば、mrtg.cfgのLogdirで指定したlogファイルが更新されているはず。グラフが一定ということは、ファイルの更新時間が古い(mrtgが起動していない)か内容が0や、同じ値等になっている(snmpでデータが取得できていない)かのいずれかのはず。
> 手動でうまくいくなら、ファイル更新がされていないはず。
> そうであれば、やはりcron以外(ソフトバグを除く)には考えられないのですが・・・。(でもwebalizerは動いている?)
> cronが実行されているかは、/var/log/messagesあたりにログが出ていると思うので確認してください。
現在、手動で更新したため、実際にログが更新されていたのかわからないのですが、自動更新の時間を変更(5分後)に変更して自動更新させたところ、logファイルも更新されていました。
もし、snmpでデータが取得できていないとすると、手動で更新してもグラフの変化は起こりませんよね?
違っていたら申し訳ないのですが、アクセス数、cpu稼動率等がかなり高かったりすると、1日に1度ではログが正確に更新されないとか、数時間に1度定期的に更新を行えば表示されるとかありますかね?
現在、数時間でしか試していませんが、1時間に2度、毎時間mrtgを自動起動させるとグラフも変更されているようです。


データが1日につき1回分しかないので、表示するグラフも一定になります。

No.17988 投稿時間:2004年12月24日(Fri) 20:25 投稿者名:通りすがり URL:

横槍をさすようで申し訳ないのですが、
> 現在、1日に一度mrtgをcronにて起動させている
これが原因だと思います。グラフ表示するデータを集めるのはこの1回だけなのですから。。。
データが1日につき1回分しかないので、表示するグラフも一定になります。


随分と遠回りしましたが、わかってみればあっけない結末でした。

No.17989 投稿時間:2004年12月24日(Fri) 23:21 投稿者名:おやじ URL:http://www.aconus.com/~oyaji/

> 現在、1日に一度mrtgをcronにて起動させているのですが、普通Y軸には数値、X軸には時間が表示されますよね?たとえば、4時に自動更新させた場合、X軸に左から20、22、0、2、・・・と表示されると思うのですが、4以降(つまり4時以降)の数字が表示されないのです。普通でしたら、X軸に20、22、0、2、・・・とずっと表示されると思うのですが、それが、表示されていないのです。後ほど、手動でmrtgを更新したら、表示されるようになります。やはりcronなのだろうか・・・。

もっと早くこの情報があれば、こんなに遠回りすることはなかったのですが・・。BBSの限界でしょうから仕方ないでしょうね。
何故、cronの設定をいじられたのでしょうか?
最初に参照されたHPが不幸にもFedoraCoreで、mrtgの起動用cronのデータがrpmから入れると自動的に書き込まれるとしか書かれてなかったので、mrtgの使い方が理解できていないのでは?
mrtgの使い方は2種類あり、ひとつは、cronで監視したい時間間隔で起動する方法と、mrtg自体をデーモンモードで5分毎に動かす方法があります。
今、トライされているのは前者の方法で、このモードは起動すると一回動作しておしまいですから、おやじのHPにあるように5分毎等に起動してあげなければなりません。もともとcrontabにそういう設定が入っていたはずですし、もう少しおやじのHPを見てもらえばわかったはずですが。
後者の方法は、mrtg.cfgに「RunAsDaemon: yes」と書いておいて起動すれば、mrtg自身が5分毎に測定してくれるモードです。この場合は、rc.local等でシステム起動時に一回起動してあげればOKです。


原因がわかりました。しかしエラーが出ます。

No.17999 投稿時間:2004年12月27日(Mon) 19:20 投稿者名:piku URL:

大変お世話になります。

> もっと早くこの情報があれば、こんなに遠回りすることはなかったのですが・・。BBSの限界でしょうから仕方ないでしょうね。
> 何故、cronの設定をいじられたのでしょうか?
> 最初に参照されたHPが不幸にもFedoraCoreで、mrtgの起動用cronのデータがrpmから入れると自動的に書き込まれるとしか書かれてなかったので、mrtgの使い方が理解できていないのでは?
> mrtgの使い方は2種類あり、ひとつは、cronで監視したい時間間隔で起動する方法と、mrtg自体をデーモンモードで5分毎に動かす方法があります。
> 今、トライされているのは前者の方法で、このモードは起動すると一回動作しておしまいですから、おやじのHPにあるように5分毎等に起動してあげなければなりません。もともとcrontabにそういう設定が入っていたはずですし、もう少しおやじのHPを見てもらえばわかったはずですが。
> 後者の方法は、mrtg.cfgに「RunAsDaemon: yes」と書いておいて起動すれば、mrtg自身が5分毎に測定してくれるモードです。この場合は、rc.local等でシステム起動時に一回起動してあげればOKです。

crontabの中にはそのような設定はもともと入っていなかったようです。なので、おやじさんが書かれていた0-59/5 * * * * root /usr/bin/mrtg /usr/local/mrtg/data/mrtg.cfgを入れる事にしました。
RunAsDaemon: yesを行うとエラーが出てしますので、今回はcronで5分ごとに取得するようにしました。
今のところうまく取得できているようです。
現在の症状、情報をなかなか上手に伝えれず、とても時間がかかってしまい、おやじさんには大変ご迷惑をおかけしました。
本当にありがとうございました。
また、何かありましたら、もっと症状等を詳しく説明するようにしたいと思います。
本当に、いろいろとありがとうございました。


|目次|掲示板|過去ログ目次|▲頁先頭|