Ñáîð ñòàòèñòèêè ïî ïðîòîêîëó SNMP
Íà÷èíàÿ ñ âåðñèè NeTAMS 3.4.0 (build 3018) ïîÿâèëàñü âîçìîæíîñòü ó÷åòà òðàôèêà ïóòåì îïðîñà ñ÷åò÷èêîâ SNMP óäàëåííûõ óñòðîéñòâ. Äàííàÿ ñõåìà ðàáîòàåò ïðè íàëè÷èè:
- Êîììóòàòîðà èëè ìàðøðóòèçàòîðà, èìåþùåãî ðàáîòàþùèé SNMP-àãåíò è ïîääåðæèâàþùèé MIB-II (ôàêòè÷åñêè, ëþáîå óñòðîéñòâî ïîääåðæèâàåò ýòîò MIB).
- Ñåðâåðà UNIX, íà êîòîðîì óñòàíîâëåíû:
- NeTAMS íóæíîé âåðñèè
- Ïàêåò net-snmp âåðñèè 5
- Perl-ìîäóëè ê net-snmp
- Perl-ìîäóëü Net::Telnet
- Íàñòðîåííîãî ñêðèïòà addon/snmp2netams.pl
- Íàñòðîåííîãî data-source ... type raw
Ïðèíöèïû ðàáîòû

Ñêðèïò
addon/snmp2netams.pl îïðàøèâàåò ïåðå÷èñëåííûå â åãî çàãîëîâêå SNMP-óñòðîéñòâà, èñïîëüçóÿ
çàäàííîå çíà÷åíèå community. Çàïðàøèâàþòñÿ èìåíà èíòåðôåéñîâ è çíà÷åíèÿ 64-áèòíûõ ñ÷åò÷èêîâ áàéò, ïðîøåäøèõ ÷åðåç èíòåðôåéñ:
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName =
= 1.3.6.1.2.1.31.1.1.1.1
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCInOctets =
= 1.3.6.1.2.1.31.1.1.1.6
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHCOutOctets =
= 1.3.6.1.2.1.31.1.1.1.10
Ïîëó÷åííàÿ òàáëèöà ïðåîáðàçóåòñÿ â ôîðìàò, ïðèåìëåìûé äëÿ êîìàíäû rawdata ñåðâèñà data-source. Ïðè ýòîì èìÿ þíèòà ñîñòàâëÿåòñÿ èç èìåíè óñòðîéñòâà, äåôèñà è èìåíè èíòåðôåéñà:
rawdata unit name catalyst1-fa0/1 policy ip
in 1234567 out 7654321 incremental
Íàçâàíèå ïîëèòèêè ó÷åòà òàêæå çàäàåòñÿ â ñêðèïòå.
Ïðè ïîìîùè ìîäóëÿ Net::Telnet îñóùåñòâëÿåòñÿ ïîäêëþ÷åíèå ê äåìîíó netams, êîòîðîìó
ïåðåäàþòñÿ êîìàíäû rawdata. Èñïîëüçîâàíèå ïàðàìåòðà incremental ïðèâîäèò ê êîððåêòíîìó
óâåëè÷åíèþ ñ÷åò÷èêîâ ó÷åòà netams (show lift full name catalyst1-fa0/1) ïðè ïîñòîÿííîì ðîñòå çíà÷åíèé SNMP-ñ÷åò÷èêîâ óñòðîéñòâà.
Íàñòðîéêà
- Â çàãîëîâêå ñêðèïòà addon/snmp2netams.pl íåîáõîäèìî:
@devices=("catalyst");
Ïåðå÷èñëèòü ÷åðåç çàïÿòóþ çàêëþ÷åííûå â êàâû÷êè èìåíà (hostname) óñòðîéñòâ, îòêóäà âû õîòèòå ñîáèðàòü ñòàòèñòèêó.
$community="public";
Êîììüþíèòè äëÿ ÷òåíèÿ.
$netams_host="localhost";
$netams_port=20001;
$netams_login="admin";
$netams_password="aaa";
Ïàðàìåòðû ïîäêëþ÷åíèÿ ê äåìîíó NeTAMS.
$policy_name="ip";
Èìÿ ïîëèòèêè ó÷åòà, êîòîðàÿ áóäåò èñïîëüçîâàòüñÿ äëÿ ñ÷åò÷èêîâ.
- Íàñòðîèòü NeTAMS íà íîâûé èñòî÷íèê äàííûõ:
service data-source 2
type raw
- Íàñòðîèòü SNMP-óñòðîéñòâî äëÿ òîãî, ÷òîáû îíî ìîãäà îòäàâàòü ñòàòèñòèêó ïî ïðîòîêîëó SNMP.
Äîïóñòèì, ÷òî íà ñåðâåðå ñ àäðåñîì 192.168.0.1 ðàáîòàþò snmp2netams.pl è ñàì äåìîí NeTAMS.
Äëÿ êîììóòàòîðà Cisco Catalyst åãî íàñòðîéêè âûãëÿäÿò òàê:
access-list 1 permit 192.168.0.1
snmp-server community public RO 1
snmp-server ifindex persist
- Ïðîòåñòèðîâàòü ñêðèïò è ïðîïèñàòü åãî ïåðèîäè÷åñêèé çàïóñê (ðàç â 5...15) ìèíóò â cron.
- Âû ìîæåòå âêëþ÷èòü ðåæèì âûâîäà îòëàäî÷íîé èíôîðìàöèè ñåðâèñîì data-source...raw ýòîé êîìàíäîé:
debug ds_raw
 îòâåò ìîæíî áóäåò íàáëþäàòü ñëåäóþùåå:
|ds_raw: unit catalyst-fa0/01(004FE6) policy ip(023CAA)
in=1234567, out 7654321,
time=1147365439, type=2, ds=data-source:3
Ïîäðîáíåå îá èñïîëüçîâàíèè data-source...raw ñìîòðèòå òóò.
Ïðèìå÷àíèÿ
Äîïîëíèòåëüíûå ñâåäåíèÿ î íàñòðîéêå ïðîòîêîëà SNMP íà êîììóòàòîðàõ Cisco Catalyst ìîæíî
ïî÷èòàòü
òóò. ×àñòî çàäàâàåìûå âîïðîñû î ïîääåðæêå SNMP íà Cisco ñîáðàíû
òóò.
Çíà÷åíèÿ ñ÷åò÷èêîâ SNMP ñíèìàþòñÿ ïî äëèíå ïàêåòîâ íà 2 óðîâíå OSI. Ýòî çíà÷èò, ÷òî â ñóììàðíóþ
äëèíó âõîäÿò çàãîëîâêè IP ïàêåòà, è Ethernet-êàäðà. Òàêæå áóäóò ó÷òåíû âñå IP è Ethernet áðîàäêàñòû è
ìóëüòèêàñòû, êîèõ ìîæåò áûòü ìíîãî. Íà ïðàêòèêå ðàñõîæäåíèÿ ïîêàçàòåëåé IP-ñ÷åò÷èêîâ è SNMP-ñ÷åò÷èêîâ ìîãóò
äîñòèãàòü 30%.