Cacti と MRTG 2台で、あるスイッチの通信量をsnmpで取得してグラフ化しています。
普段は山のように緩やかなカーブなのですが、100Mbps を超える通信量が発生すると、
グラフには断崖絶壁のように通信量が減って見える現象が出て困っています。
Cacti と MRTG 、両方とも同じ現象なので、バックグラウンドで動いているプロセスかも
しれませんが、そうなるとちょっと分かりません(^^;
100Mbps を超えてグラフ化する方法はないものでしょうか?
SNMP V2での対策
snmpwalk コマンドを発行してみました。
さらっと見ただけですが、SNMPv2 という行が大量にあるので、この方向で何とかなりそうかもです。
新しくデバイスを追加して、SNMPv2での様子を見てみます。
またなにかあれば、よろしくお願いします。
懇切丁寧にありがとうございます。m(__)m
詳しい仕様を理解せずに使っているのが
悪いと言えば悪いのですが…
大変勉強になりました。
2つの対策で、ひとつめ
SNMP V2 …は、snmpwalkの結果を見る限り、
話してくれない機器もあったりするので…
ちょっと環境に合わないかもしれません。
とはいえ、100MBを超えるのは特定のスイッチなので、
そのスイッチさえV2に対応してくれていれば
解決できそうですね!
確認してみます。
2つ目の対策。
MRTG
Cacti だと、5分より短く設定できなかったです…
1発目でここまで詳細ですと、
いわしタイプではないほうが良かったですね…
後悔です。
質問文を読み返して思ったのですが、
2台同時に使用しているのは、いままで MRTG でやっていたことを
Cacti でやろうとしているからなんですよね。
で、MRTGの設定は触れないんです…(TT)
snmp の世界で時間当たりの通信量を調べるには、通過したバイト数なカウンタ値を定期的に見て差分を経過時間で割る、というような手法を使います。
MRTG の場合(Cacti も同様かと思いますが) 標準では、
32ビットのカウンタを 5分毎に見る、という動作をするので、
2^32
* 8 <--- ビット, バイトの換算用
/ 300 <--- 5分 = 300秒
= 109.227 Mbps
・・・の流量がある場合、5分ごとにまったく同じカウンタ値が
取得されてしまいますので、0 bps 扱いになってしまいます。
同様に、150Mbps の場合も 150-109=41Mbps に見える、という
わけで、絶壁が見えるわけですね。
で、対策ですが、大きくわけて二つあります。
A: snmp-v2 の仕様に含まれる 64ビットカウンタを利用する。
64ビットの場合、カウンタを一周させるには 4万 Gbps程度の
流量が必要なので、通常の条件なら正しく記録可能になります。
ただし、測定対象機器が 64ビットカウンタ対応である
必要があるので、その点だけは要注意。
B: 測定頻度を 5分より短くする。
たとえば二分毎に計測する場合、272Mbps まで測定可能と
なります。こちらの方法は、機器を選ばないメリットが
ある代わりに、大幅な状況改善は期待できないし、機器への
負荷も多少上がるという問題があります。
具体的には、こういう感じの方法になります。
A: cfgファイル中の Target 記述をこんな感じに。
Target[ezwf]: 2:public@router1:::::2
B: 同じく Interval , Refresh あたりを変更して、
cron などからの mrtg 起動間隔を変更する。
http://www.mrtg.jp/doc/reference.html あたりが参考に
なるかと思います。