Wiadomości
Jak tworzyć statystyki interfejsów sieciowych?
18 grudnia 2007 15:01,
Kamil Folga
Prawie każde bardziej zaawansowane urządzenie sieciowe posiada zaimplementowany protokół SNMP. Wykorzystanie tego mechanizmu pozwala na kreślenie dowolnych statystyk zmieniających się parametrów sieciowych.
SNMP (Simple Network Management Protocol) jest protokołem warstwy aplikacji, który służy do wymiany informacji zarządzających pomiędzy urządzeniami sieciowymi. Najmniej bezpieczna, ale najpowszechniej wykorzystywana jest pierwsza wersja SNMP. Zarządzana sieć SNMP składa się z trzech komponentów: urządzenia zarządzanego, agenta oraz systemu zarządzającego. Urządzenia zarządzane mogą być routerami, przełącznikami, drukarkami, itp. Agent wbudowany w urządzenie posiada lokalną bazę informacji o nazwie MIB (Management Information Base). Urządzenia zarządzane są wyposażone w moduł oprogramowania agenta. Agent jest odpowiedzialny za realizację dostępu do lokalnej bazy obiektów MIB, które reprezentują zasoby i aktywność w danym węźle. Agent sterowany przez zarządcę pozwala na odczyt i zapis wartości bazy MIB.
Przykładowym obiektem, który może zostać odczytany jest mechanizm zliczający ilość pakietów wysłanych i otrzymywanych przez interfejs w danym węźle. Zarządca może śledzić taką wartość, monitorując obciążenie łącza w danym punkcie sieci. Jak przebiega taki proces?
Platforma zarządzania sieciowego wysyła zapytanie do agenta, następnie agent zwraca odpowiedź. Zapytanie i odpowiedź odnosi się do zmiennych dostępnych w oprogramowaniu agenta. Oprogramowanie zarządzające (lub narządzie z linii komend) odnajduje zmienną w bazach MIB, używając identyfikatora obiektu. Aby utrzymać porządek oraz uprościć zadania agenta, identyfikatory obiektu (Object ID - OID) są zorganizowane hierarchicznie. Odczyt danych jest możliwy po uwierzytelnieniu łańcuchem społeczności (community). Istnieją dwa rodzaje społeczności: read-only oraz read-write. Wiele urządzeń używa społeczności "public" jako domyślnego ustawienia read-only oraz społeczności "private" jako domyślnego łańcucha read-write.
Do sprawdzenia zasady działania SNMP wykorzystamy system Linux z zainstalowanym oprogramowaniem snmp. W przypadku dystrybucji Debian, instalujemy niezbędne oprogramowanie przez wykonanie polecenia: apt-get install snmp. Aby sprawdzić jakie interfejsy są dostępne w danym urządzeniu, wystarczy wykonać polecenie:
router:~# snmpwalk -v 1 -c public 192.168.0.1
SNMPv2-MIB::sysDescr.0 = STRING: router
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.14988.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (188587800) 21 days, 19:51:18.00
SNMPv2-MIB::sysContact.0 = STRING: TEST
SNMPv2-MIB::sysName.0 = STRING: TEST
SNMPv2-MIB::sysLocation.0 = STRING: TEST
SNMPv2-MIB::sysServices.0 = INTEGER: 78
IF-MIB::ifNumber.0 = INTEGER: 2
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifDescr.6 = STRING: ether1
IF-MIB::ifDescr.7 = STRING: ether2
Opcja "-v 1" określa pierwszą wersję protokołu, opcja "-c public" definiuje nazwę społeczności (community), następnie podajemy adres IP sprawdzanego urządzenia. W wyniku wykonania polecenia otrzymamy m.in. listę dostępnych interfejsów (ether1, ether2). Programy pobierające dane, a następnie tworzące wykresy interesuje jeszcze jeden parametr, określany licznikami. W przypadku kreślenia statystyk interfejsu, wykorzystywane są dane przekazywane przez liczniki ifInOctets oraz ifOutOctets:
router:~# snmpwalk -v 1 -c public 192.168.0.1 | grep ifInOctets
IF-MIB::ifInOctets.6 = Counter32: 4229788677
IF-MIB::ifInOctets.7 = Counter32: 2775206305
router:~# snmpwalk -v 1 -c public 192.168.0.1 | grep ifOutOctets
IF-MIB::ifOutOctets.6 = Counter32: 1197908057
IF-MIB::ifOutOctets.7 = Counter32: 2564855731
Do zbierania danych przez SNMP, a następnie ich kreślenia istnieją gotowe mechanizmy i aplikacje. Powszechnie wykorzystywanym oprogramowaniem jest MRTG oraz RRDTool. Konfiguracja MRTG nie jest skomplikowana, dodatkowo istnieją skrypty automatyzujące ten proces. Konfiguracja RRDTool wymaga nieco więcej zaangażowania, ale przeważnie narzędzie to jest wykorzystywane jako element samodzielnie tworzonych oraz ogólnie dostępnych systemów zarządzania. Przykładem jest aplikacja Cacti (cacti.net).
Również pod postacią niezależnej aplikacji dla systemu Windows, istnieje spora grupa programów realizujących podobne zadania. Przykładem darmowego narzędzia jest Interface Traffic Indicator. To proste narzędzie monitoruje ruch interfejsów w czasie rzeczywistym dla dowolnego urządzenia zarządzanego przez SNMP. Musimy jedynie zdefiniować adres IP urządzenia, nazwę społeczności i numer interfejsu. Przez wciśnięcie przycisku "First Contact" podłączamy się do urządzenia i odczytujemy nazwy dostępnych interfejsów. Określamy także częstotliwość zbierania danych. Możemy kreślić ruch wchodzący/wychodzący oraz utylizację interfejsu. To bardzo pożyteczne narzędzie, gdy potrzebujemy zbadać chwilowo zachodzące zmiany.
Przykładowym obiektem, który może zostać odczytany jest mechanizm zliczający ilość pakietów wysłanych i otrzymywanych przez interfejs w danym węźle. Zarządca może śledzić taką wartość, monitorując obciążenie łącza w danym punkcie sieci. Jak przebiega taki proces?
Platforma zarządzania sieciowego wysyła zapytanie do agenta, następnie agent zwraca odpowiedź. Zapytanie i odpowiedź odnosi się do zmiennych dostępnych w oprogramowaniu agenta. Oprogramowanie zarządzające (lub narządzie z linii komend) odnajduje zmienną w bazach MIB, używając identyfikatora obiektu. Aby utrzymać porządek oraz uprościć zadania agenta, identyfikatory obiektu (Object ID - OID) są zorganizowane hierarchicznie. Odczyt danych jest możliwy po uwierzytelnieniu łańcuchem społeczności (community). Istnieją dwa rodzaje społeczności: read-only oraz read-write. Wiele urządzeń używa społeczności "public" jako domyślnego ustawienia read-only oraz społeczności "private" jako domyślnego łańcucha read-write.
Do sprawdzenia zasady działania SNMP wykorzystamy system Linux z zainstalowanym oprogramowaniem snmp. W przypadku dystrybucji Debian, instalujemy niezbędne oprogramowanie przez wykonanie polecenia: apt-get install snmp. Aby sprawdzić jakie interfejsy są dostępne w danym urządzeniu, wystarczy wykonać polecenie:
router:~# snmpwalk -v 1 -c public 192.168.0.1
SNMPv2-MIB::sysDescr.0 = STRING: router
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.14988.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (188587800) 21 days, 19:51:18.00
SNMPv2-MIB::sysContact.0 = STRING: TEST
SNMPv2-MIB::sysName.0 = STRING: TEST
SNMPv2-MIB::sysLocation.0 = STRING: TEST
SNMPv2-MIB::sysServices.0 = INTEGER: 78
IF-MIB::ifNumber.0 = INTEGER: 2
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifDescr.6 = STRING: ether1
IF-MIB::ifDescr.7 = STRING: ether2
Opcja "-v 1" określa pierwszą wersję protokołu, opcja "-c public" definiuje nazwę społeczności (community), następnie podajemy adres IP sprawdzanego urządzenia. W wyniku wykonania polecenia otrzymamy m.in. listę dostępnych interfejsów (ether1, ether2). Programy pobierające dane, a następnie tworzące wykresy interesuje jeszcze jeden parametr, określany licznikami. W przypadku kreślenia statystyk interfejsu, wykorzystywane są dane przekazywane przez liczniki ifInOctets oraz ifOutOctets:
router:~# snmpwalk -v 1 -c public 192.168.0.1 | grep ifInOctets
IF-MIB::ifInOctets.6 = Counter32: 4229788677
IF-MIB::ifInOctets.7 = Counter32: 2775206305
router:~# snmpwalk -v 1 -c public 192.168.0.1 | grep ifOutOctets
IF-MIB::ifOutOctets.6 = Counter32: 1197908057
IF-MIB::ifOutOctets.7 = Counter32: 2564855731
Do zbierania danych przez SNMP, a następnie ich kreślenia istnieją gotowe mechanizmy i aplikacje. Powszechnie wykorzystywanym oprogramowaniem jest MRTG oraz RRDTool. Konfiguracja MRTG nie jest skomplikowana, dodatkowo istnieją skrypty automatyzujące ten proces. Konfiguracja RRDTool wymaga nieco więcej zaangażowania, ale przeważnie narzędzie to jest wykorzystywane jako element samodzielnie tworzonych oraz ogólnie dostępnych systemów zarządzania. Przykładem jest aplikacja Cacti (cacti.net).
Również pod postacią niezależnej aplikacji dla systemu Windows, istnieje spora grupa programów realizujących podobne zadania. Przykładem darmowego narzędzia jest Interface Traffic Indicator. To proste narzędzie monitoruje ruch interfejsów w czasie rzeczywistym dla dowolnego urządzenia zarządzanego przez SNMP. Musimy jedynie zdefiniować adres IP urządzenia, nazwę społeczności i numer interfejsu. Przez wciśnięcie przycisku "First Contact" podłączamy się do urządzenia i odczytujemy nazwy dostępnych interfejsów. Określamy także częstotliwość zbierania danych. Możemy kreślić ruch wchodzący/wychodzący oraz utylizację interfejsu. To bardzo pożyteczne narzędzie, gdy potrzebujemy zbadać chwilowo zachodzące zmiany.
Komentarze (2)
W pełni zgadzam się z przedmówcą, szkoda że tak mało.
Bardzo dobry artykuł, fajnie by było rozszerzyć temat nieco.
- Skanery WiFi na platformę Android
- Prawo Moore’a zagrożone?
- Bezpieczeństwo WiFi - bezprzewodowe testy penetracyjne
- Wirtualizacja: obsługa SMB na czterech U
- Prawdziwe powody powstania Microsoft Open Technologies
- MDT 2012: Microsoft aktualizuje Deployment Toolkit
- Open source: zmierzch ery GPL? Nie do końca...
- ROVER - prosty sposób na słabość BGP?
- Zaawansowane stacje Wi-Fi Ruckus Wireless
- Rozstanie z Javą nie będzie proste
Reklama
Huawei celuje w rynek biznesowy
Huawei nieustannie rozwija się jako dostawca infrastruktury dla branży telekomunikacyjnej. W tym roku chiński koncern zamierza umocnić swoją pozycję również na rynku rozwiązań Enterprise.
Polecane
Koniec Windows XP początkiem problemów?
Microsoft oficjalnie potwierdził, że za dwa lata definitywnie zakończy się era Windows XP - systemu operacyjnego,...
Spokój i luz administratora
Wymagania wobec pracowników działów IT rosną proporcjonalnie do stopnia rozwoju teleinformatyki. Oczekuje się, że...
