自己啓発で MTRG や snmp についてお勉強をしていましたが、お仕事で役に立つ機会が訪れました。現職場はCisco と alaxala の機器で構成されているのですが、手始めに Cisco 用の設定をしてみました。alaxala でも同じ設定でいけると思います。
- インターフェース名一覧を得る
# snmpwalk -v1 -c <コミュニティ名> <ipアドレス> ifDescr
IF-MIB::ifDescr.1 = STRING: Vlan1
IF-MIB::ifDescr.18 = STRING: Vlan18
IF-MIB::ifDescr.5001 = STRING: Port-channel1
IF-MIB::ifDescr.5137 = STRING: StackPort1
IF-MIB::ifDescr.5138 = STRING: StackSub-St1-1
IF-MIB::ifDescr.5139 = STRING: StackSub-St1-2
IF-MIB::ifDescr.10101 = STRING: GigabitEthernet1/0/1
IF-MIB::ifDescr.10102 = STRING: GigabitEthernet1/0/2
IF-MIB::ifDescr.10103 = STRING: GigabitEthernet1/0/3
IF-MIB::ifDescr.10104 = STRING: GigabitEthernet1/0/4
IF-MIB::ifDescr.10105 = STRING: GigabitEthernet1/0/5
IF-MIB::ifDescr.10106 = STRING: GigabitEthernet1/0/6
IF-MIB::ifDescr.10107 = STRING: GigabitEthernet1/0/7
IF-MIB::ifDescr.10108 = STRING: GigabitEthernet1/0/8
IF-MIB::ifDescr.10109 = STRING: GigabitEthernet1/0/9
IF-MIB::ifDescr.10110 = STRING: GigabitEthernet1/0/10
IF-MIB::ifDescr.10111 = STRING: GigabitEthernet1/0/11
IF-MIB::ifDescr.10112 = STRING: GigabitEthernet1/0/12
IF-MIB::ifDescr.10113 = STRING: GigabitEthernet1/0/13
IF-MIB::ifDescr.10114 = STRING: GigabitEthernet1/0/14
IF-MIB::ifDescr.10115 = STRING: GigabitEthernet1/0/15
IF-MIB::ifDescr.10116 = STRING: GigabitEthernet1/0/16
IF-MIB::ifDescr.10117 = STRING: GigabitEthernet1/0/17
IF-MIB::ifDescr.10118 = STRING: GigabitEthernet1/0/18
IF-MIB::ifDescr.10119 = STRING: GigabitEthernet1/0/19
IF-MIB::ifDescr.10120 = STRING: GigabitEthernet1/0/20
IF-MIB::ifDescr.10121 = STRING: GigabitEthernet1/0/21
IF-MIB::ifDescr.10122 = STRING: GigabitEthernet1/0/22
IF-MIB::ifDescr.10123 = STRING: GigabitEthernet1/0/23
IF-MIB::ifDescr.10124 = STRING: GigabitEthernet1/0/24
IF-MIB::ifDescr.10125 = STRING: GigabitEthernet1/0/25
IF-MIB::ifDescr.10126 = STRING: GigabitEthernet1/0/26
IF-MIB::ifDescr.10127 = STRING: GigabitEthernet1/0/27
IF-MIB::ifDescr.10128 = STRING: GigabitEthernet1/0/28
IF-MIB::ifDescr.12001 = STRING: Null0
IF-MIB::ifDescr.12002 = STRING: FastEthernet0
- gi1/0/19 を対象にトラフィックの集計をしようと思います。
# snmpwalk -v2c -c <コミュニティ名> <ipアドレス> .1.3.6.1.2.1.31.1.1.1 | grep 10119
IF-MIB::ifName.10119 = STRING: Gi1/0/19
IF-MIB::ifInMulticastPkts.10119 = Counter32: 6903956
IF-MIB::ifInBroadcastPkts.10119 = Counter32: 18177
IF-MIB::ifOutMulticastPkts.10119 = Counter32: 1235186
IF-MIB::ifOutBroadcastPkts.10119 = Counter32: 0
IF-MIB::ifHCInOctets.10119 = Counter64: 4713288719565
IF-MIB::ifHCInUcastPkts.10119 = Counter64: 17272078871
IF-MIB::ifHCInMulticastPkts.10119 = Counter64: 6903956
IF-MIB::ifHCInBroadcastPkts.10119 = Counter64: 18177
IF-MIB::ifHCOutOctets.10119 = Counter64: 10791906213183
IF-MIB::ifHCOutUcastPkts.10119 = Counter64: 18352780286
IF-MIB::ifHCOutMulticastPkts.10119 = Counter64: 1235186
IF-MIB::ifHCOutBroadcastPkts.10119 = Counter64: 0
IF-MIB::ifLinkUpDownTrapEnable.10119 = INTEGER: enabled(1)
IF-MIB::ifHighSpeed.10119 = Gauge32: 1000
IF-MIB::ifPromiscuousMode.10119 = INTEGER: false(2)
IF-MIB::ifConnectorPresent.10119 = INTEGER: true(1)
IF-MIB::ifAlias.10119 = STRING: [ to jimu-6509 ]
IF-MIB::ifCounterDiscontinuityTime.10119 = Timeticks: (9409) 0:01:34.09
出力結果から
IF-MIB::ifHCInOctets.10119
IF-MIB::ifHCOutOctets.10119
を使えば in/out のトラフィックMIBが取れそうです。(Counter32の値じゃ桁あふれするので使わないように。)
snmptranslate -On -Ir IF-MIB::ifHCInOctets.10119
→ .1.3.6.1.2.1.31.1.1.1.6.10119
snmptranslate -On -Ir IF-MIB::ifHCOutOctets.10119
→ .1.3.6.1.2.1.31.1.1.1.10.10119
- Ciscoのサイトを参照したところ、閾値は「Data Source」の実数に対して閾値を設定するので、ifHCInOctets/ifHCOutOctetsであればバイト単位なので、以下のようにByte換算した数値を指定する。
100Mb/sの閾値 12500000
200Mb/sの閾値 25000000
...
600Mb/sの閾値 75000000
...
1Gb/sの閾値 125000000
最終的にはこんな感じで mrtg.cfg に追加しました。
######################################
## TEST01_Gi1/0/19 Traffic
######################################
Target[TEST01]: .1.3.6.1.2.1.31.1.1.1.6.10119&.1.3.6.1.2.1.31.1.1.1.10.10119:test-ro@1192.168.1.11:::::2
Directory[TEST01]: cisco/trf
MaxBytes[TEST01]: 125000000
Options[TEST01]: bits, growright, noinfo
YLegend[TEST01: Bit Per Second
ShortLegend[TEST01]: bps
LegendI[TEST01: inbound
LegendO[TEST01]: outbound
Legend1[TEST01]: inbound(%)
Legend2[TEST01]: outbound(%)
Title[TEST01]: TEST01_Gi1/0/19 トラフィックレポート
PageTop[TEST01]: <h1>TEST01_Gi1/0/19 トラフィックレポート</h1>
今回は 1ポートだけなので TEST01 でまとめていますが、各ポートのトラフィックを取るようだったら TEST01_19 とか TEST01_1_0_19 とかにした方がいいかも。(Directory も機器毎に分けた方がいいかな?)