- ベストアンサー
SNMPにおけるifInOctetsとifOutOctetの基礎とは?
- SNMPのifInOctetsとifOutOctetsは、受信した総バイト数と送信した総バイト数を表すカウンター型の数値データです。
- これらの値は1バイト毎にインクリメントされ、32bitカウンタの上限を超えると0に戻ります。
- トラフィック監視として使用する際には、しきい値を設定して指定した値を超過した場合にエラー通知することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Q1.Yes Q2.Yes Q3.ifInOctetsとifOutOctetの「生(ナマ)」の値をしきい値にしては駄目です。 例のCisco資料のデルタ付の「ΔifInOctets」は「差分」と解釈してください。 Δが「差分」を意味することはご存知ですよね? difference→ギリシア文字のd http://okwave.jp/qa/q2007844.html NMSによっては、設定した時間間隔で勝手に差分を取った値を返すものがありますし、 そうでないNMSもあります。実測値を見ていれば判別できると思いますが、どうでしたか? 書くひとや前提にする環境によって、どちらのことを言っているのか判断する必要があるようです。 当方が書いたのは「生(ナマ)」の値からbpsの求め方 で、 別資料の ΔifInOctets * 8 * 100 / ifSpeed というのは、回線使用率(%)を求めています。 差分のifInOctets(bps)をバイトに直して、割り当てられてる帯域幅(ifSpeed)で割って、 %を求めるために100をかけています。 意味合いは近いですが、閾値をbpsにするのか、%にするのかが違ってきます。 このような説明でわかりますか?
その他の回答 (1)
- ese_ee
- ベストアンサー率48% (68/139)
カウンタはグルグル回っているだけですので、 水道や電気の検針&料金計算と一緒で、 (現在計測値 - 前回計測値) / 時間間隔(この場合は秒) たとえば5分間隔ならば、 回線使用率(受信側) = { (現在のifInOctets) - (5分前のifInOctets) } x 8 / 300秒 (bps) 回線使用率(送信側) = { (現在のifOutOctets) - (5分前のifOutOctets) } x 8 / 300秒 (bps) 5分間隔ではカウンタが何周かするなら64bitカウンタで、 回線使用率(受信側) = { (現在のifHCInOctets) - (5分前のifHCInOctets) } x 8 / 300秒 (bps) 回線使用率(送信側) = { (現在のifHCOutOctets) - (5分前のifHCOutOctets) } x 8 / 300秒 (bps) という計算が必要です。 問題は、それがそのNMSでできるのかという話ですか。
お礼
有難うございます。 対象はCisco機器ですが、下記サイトを見ると ifinOctesは「 2 つのポーリング サイクルのデルタ(差分)」と 記載があり、 http://www.cisco.com/cisco/web/support/JP/102/1020/1020653_calculate_bandwidth_snmp-j.html 「(現在のifInOctets) - (5分前のifInOctets)」という計算結果が既に 内包されているのかな、と思いました。 計算で悩んでいるのですが、違う下記サイトを見ると http://www.atmarkit.co.jp/fnetwork/tokusyuu/monitoring01/01.html 回線使用率は以下の計算となっております。 受信: ifInOctets * 8 * 100 / ifSpeed 送信: ifOutOctets * 8 * 100 / ifSpeed この「* 100」をすることや「ifSpeed」が含まれる意味について、 理解できていませんでした・・ 「(現在計測値 - 前回計測値) / 時間間隔」と意味合いは 一緒なのでしょうか?。 お手数をおかけします。 よろしくお願いします。
お礼
お礼が遅れ申し訳ありません、、 NMSが全く駄目で、教えて頂いた計算に 仕様として全く対応できていませんでした。 (ベンダーとも揉めました) 教えて頂いたロジックは、今後の業務として、 是非生かして生きたいと思います。