サーバのトラフィックを取得したいのですが、
NICが2枚あって片方のOUTのみ取得できません。
なぜでしょうか。考えられるミスなどをご教授いただければと存じます。
■以下snmpwalkの結果です。
(コミュニティ名はダミー)
=====
# snmpwalk -v 1 localhost -c xxxxx ifDescr
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth1 ←これのOUTがMRTGで取得NG
IF-MIB::ifDescr.3 = STRING: eth0
IF-MIB::ifDescr.4 = STRING: sit0
snmpwalk -v 1 localhost -c xxxxx ifOutOctets.2
IF-MIB::ifOutOctets.2 = Counter32: 164867880
※snmpwalkでは取得OK
■以下MRTGの設定(mrtg.cfg)です
(コミュニティ名&IPアドレスはダミー)
=====
Target[localhost_2]: 2:xxxxx@localhost:
SetEnv[localhost_2]: MRTG_INT_IP="0.0.0.0" MRTG_INT_DESCR="eth1"
MaxBytes[localhost_2]: 1250000
Title[localhost_2]: Traffic Analysis for 2
PageTop[localhost_2]: <h1>Traffic Analysis</h1>
以下HTML省略
■その他情報
(カーネル)
# uname -r
2.6.18-8.el5PAE
(ディストリビューション)
# cat /etc/redhat-release
CentOS release 5.8 (Final)
(net-snmpバージョン)
Version: 5.3.2.2
(MRTGバージョン)
version 2.14.5
よろしくお願いします。
ルーティングは大丈夫ですか?
もしかして何も設定していなくて、eth1からのOUTパケットが無いだけなんてことはないですよね・・・
http://www.atmarkit.co.jp/fnetwork/netcom/route/route.html
logファイルは出来ていますか?
この設定だと「localhost_2.log」「localhost_2.old」が出来てるはずです。
これの1行目は3つの数字があり、順に測定時点でのunixtime、INの素の値、OUTの素の値となってます。
ですので3つ目の数字が現在の値(164867880)に近い値く、mrtgが実行されるごとに増えているのを確認してください。
2行目以降は5つの数字があり、unixtime、INの平均値、OUTの平均値、INの最大値、OUTの最大値となってます。
値はバイト/秒で整数ですので、5分の増分が300(切り捨て)または150(四捨五入)以下でなければ0以外が記録されるはずです。
http://www.mrtg.jp/doc/logfile.html
なにかおかしい場合、「--logging ファイル名」とオプションを付けて見てください。デバッグメッセージも含め記録されます。
なにか分かるかもしれません。
http://www.mrtg.jp/doc/reference.html 最後の方にオプションの説明があります。
http://www.mrtg.jp/doc/unix-guide.html 最後の方にオプション付きの例があります。
ログを見ると、やはりルーティング設定ができていないのではないかと思います。おそらくマルチホーミングルーティングの設定がされていないのが原因だと思います。もしマルチホームでは無い環境で、複数IPアドレス&複数セグメントを使うだけなら、NICは1枚にして複数IPの設定だけするので十分な気もします。
不慣れで恐縮ですが、ルーティングやマルチホーミング(初耳です)の調査、
及びsnmpwalk以外でのNICの状態や通信量の確認などしてみます。
(知識がなく時間がかかるかもしれません)
再度また投稿させていただきます。
マルチホームでは無い環境の場合、ルーティングテーブルに誤りがあっても通信が問題なくできるので、気がつかないことが良くあります。マルチホームでは無い環境の場合には、1つのNICに複数IPの設定をするので十分かもしれませんよ。
2012/06/14 22:45:45たまにマルチホーム=複数NICと勘違いされていることがありますが、NICが複数あってもマルチホームではないこともあります。
2012/06/14 22:51:38