そこそこの規模のネットワークにおいて、インターネットへ向かうポートには多量のトラフィックが合流してパケットが破棄されてしまうことがある。 とある環境では上りのトラフィックのパケットだけがインターネットへの出口で大量にドロップされていた。 ここではネットワーク機器の物理ポートに対するSNMP監視を用いた大まかなドロップ率の把握方法をメモしておく。
収集が必要な値は主に以下の4つである。ここで、「ifIndex」はインターフェイスのインデックスである。 いずれの値も累計数であり機器をリセットしたり明示的にカウンタをクリアしない限り、値は(広義)単調増加する。 任意の期間の間に発生したパケット数を知りたい場合は測定した2つの時点の値の差分を取らなければならない。 Zabbixでメトリクスを収集している場合は「change per second」などを設定して変化分を保持すると扱いやすい。
OID | MIB | 説明 |
---|---|---|
1.3.6.1.2.1.2.2.1.17.[ifIndex] | ifOutUcastPkts | 送信されたユニキャストパケットの累計数 |
1.3.6.1.2.1.2.2.1.19.[ifIndex] | ifOutDiscards | エラーパケットを除く、送信時に破棄されたパケット累計数 |
1.3.6.1.2.1.31.1.1.1.4.[ifIndex] | ifOutMulticastPkts | 送信されたマルチキャストパケットの累計数 |
1.3.6.1.2.1.31.1.1.1.13.[ifIndex] | ifHCOutBroadcastPkts | 送信されたブロードキャストパケットの累計数 |
値の変化分をで表すことにすると、パケット破棄率の変化 は次のように表せる。
Zabbixならcalculated itemとして上記のような式を設定しておけばグラフ描画も可能だ。
OIDの詳しい状態が知りたければ、こういったサイトで調べる。 https://oidref.com/1.3.6.1.2.1.2.2.1.19