Rozdział 12. SNMP

Spis treści

12.1. Zmienne MIB
12.2. Zmienne prywatne
12.3. Plik MIB
12.4. Przykładowe drzewo zmiennych

Moduł LB-489 obsługuje wybrany podzbiór funkcji protokołu SNMP w wersji 1 (SNMPv1). Zaimplementowane funkcje obejmują:

12.1. Zmienne MIB

Moduł LB-489 udostępnia podzbiór standardowych zmiennych MIB wg RFC 1213, które pozwalają na podstawową identyfikację urządzenia:

  • SNMPv2-MIB::sysDescr

  • SNMPv2-MIB::sysObjectID

  • SNMPv2-MIB::sysUpTime

  • SNMPv2-MIB::sysContact

  • SNMPv2-MIB::sysName

  • SNMPv2-MIB::sysLocation

  • SNMPv2-MIB::sysServices

  • IF-MIB::ifNumber

  • IF-MIB::ifTable

12.2. Zmienne prywatne

Prywatne zmienne z LB-489 udostępniane są w gałęzi drzewa o prefiksie

iso.org.dod.internet.private.enterprise.LABEL.LB489

numerycznie:

1.3.6.1.4.1.22925.489

Każdy identyfikator zmiennej określony w poniższej tabeli wymaga poprzedzenia powyższym prefiksem.

Zmienne reprezentujące informacje o wejściach i wynikach pomiarów zgrupowane są w tablice. Tablice są indeksowane w następujący sposób:

IN - indeks określający numer wejścia, z zakresu 1..4,

VAR - indeks określający zmienną dla danego wejścia, z zakresu 1..8 (dla wejść pracujących w trybie innym niż S300, zdefiniowana jest wyłącznie zmienna o indeksie 1; dla wejść pracujących w trybie S300 ilość zdefiniowanych zmiennych zależna jest od typu dołączonego czujnika S300).

zmienna typ wartość
::inputName.IN (.2.1.2.IN) DisplayString Nazwa danego wejścia, dowolnie skonfigurowana przez użytkownika.
::inputMode.IN (.2.1.3.IN) DisplayString Ciąg znaków określający tryb pracy danego wejścia, może przyjmować wartości [off|s300|t|3v|bin|sbin].
::resultUnit.IN.VAR (.3.1.3.IN.VAR) DisplayString Ciąg znaków określający jednostkę miary dla wielkości mierzonej na danym wejściu i dla danej kolejnej zmiennej. Jeżeli wejście jest nieaktywne, wielkość mierzona nie posiada jednostki lub dana zmienna nie istnieje, to zwracany jest pusty ciąg znaków.
::inputDataValueString.IN.VAR (.3.1.4.IN.VAR) DisplayString Ciąg znaków określający wynik pomiaru dla wielkości mierzonej na danym wejściu i dla danej kolejnej zmiennej. Punkt dziesiętny reprezentowany jest za pomocą znaku '.'. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracany jest pusty ciąg znaków.
::inputDataValueInt.IN.VAR (.3.1.5.IN.VAR) INTEGER Wartość numeryczna w postaci zaokrąglonej do najbliższej liczby całkowitej określająca wynik pomiaru dla wielkości mierzonej na danym wejściu i dla danej kolejnej zmiennej. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna 1000000000. Jeżeli na wejściu wykryta została sytuacja awaryjna (np. zwarcie czujnika), to zwracana jest wartość specjalna -1000000000.
::inputDataValueFixed.IN.VAR (.3.1.6.IN.VAR) INTEGER Wartość numeryczna w postaci stałoprzecinkowej określająca wynik pomiaru dla wielkości mierzonej na danym wejściu i dla danej kolejnej zmiennej. Reprezentacja liczby polega na zapisie dziesiętnym liczby po usunięciu kropki po części całkowitej, np. wynik 12.3 reprezentowany jest jako liczba 123, wynik -12.345 jako -12345. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna 1000000000. Jeżeli na wejściu wykryta została sytuacja awaryjna (np. zwarcie czujnika), to zwracana jest wartość specjalna -1000000000.
::inputDataValueFloat.IN.VAR (.3.1.7.IN.VAR) Float Wartość numeryczna w postaci zmiennoprzecinkowej określająca wynik pomiaru dla wielkości mierzonej na danym wejściu i dla danej kolejnej zmiennej. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna NaN.
::s300Type.IN (.4.1.2.IN) DisplayString Typ czujnika S300 na wejściu - tylko dla wejść pracujących w trybie S300. Jeżeli wejście pracuje w innym trybie niż S300 lub na wejściu brak jest dołączonego czujnika S300, zwracany jest pusty ciąg znaków.
::s300SerialNumber.IN (.4.1.3.IN) INTEGER Numer seryjny czujnika S300 na danym wejściu - tylko dla wejść pracujących w trybie S300. Jeżeli wejście pracuje w innym trybie niż S300 lub na wejściu brak jest dołączonego czujnika S300, zwracana jest wartość 0.

12.3. Plik MIB

Definicje zmiennych dla modułu LB-489 dostępne są bezpośrednio z modułu za pośrednictwem protokołu http pod adresem http://lb489.example.net/mib/LABEL-LB489-MIB (link do pliku MIB znajduje się na na głównej stronie z wynikami pomiarów), a także dystrybuowane są w pliku LABEL-LB489-MIB-REVx.txt dostępnym na stronie http://www.label.pl/po/get-lb489.html. Użycie pliku MIB zależnie od używanego oprogramowania SNMP wymagać może zmiany nazwy - zwykle wymagane jest nazwanie go LABEL-LB489-MIB, z ewentualnym opcjonalnym rozszerzeniem używanym w danym NMS.

12.4. Przykładowe drzewo zmiennych

Poniższy wydruk przedstawia drzewo zmiennych udostępnianych przez moduł LB-489, uzyskane za pomocą programu snmpwalk z pakietu Net-SNMP.

Wywołanie (przy założeniu domyślnego SNMP community = public oraz przykładowego adresu modułu lb489.example.net):

snmpwalk -v 1 -c public -m ALL -Of lb489.example.net .

SNMPv2-MIB::sysDescr.0 = STRING: LAB-EL LB-489 #1
SNMPv2-MIB::sysObjectID.0 = OID: LABEL-LB489-MIB::LB489
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (193804) 0:32:18.04
SNMPv2-MIB::sysContact.0 = STRING: mk@label.pl
SNMPv2-MIB::sysName.0 = STRING: lb489-1
SNMPv2-MIB::sysLocation.0 = STRING: test
SNMPv2-MIB::sysServices.0 = INTEGER: 76
IF-MIB::ifNumber.0 = INTEGER: 1
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifDescr.1 = STRING: fec
IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifMtu.1 = INTEGER: 1500
IF-MIB::ifSpeed.1 = Gauge32: 100000000
IF-MIB::ifPhysAddress.1 = STRING: 0:50:c2:56:e1:a2
IF-MIB::ifAdminStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifLastChange.1 = Timeticks: (0) 0:00:00.00
IF-MIB::ifInOctets.1 = Counter32: 1131633
IF-MIB::ifInUcastPkts.1 = Counter32: 7225
IF-MIB::ifInNUcastPkts.1 = Counter32: 730
IF-MIB::ifInDiscards.1 = Counter32: 0
IF-MIB::ifInErrors.1 = Counter32: 0
IF-MIB::ifInUnknownProtos.1 = Counter32: 0
IF-MIB::ifOutOctets.1 = Counter32: 1484184
IF-MIB::ifOutUcastPkts.1 = Counter32: 6018
IF-MIB::ifOutNUcastPkts.1 = Counter32: 0
IF-MIB::ifOutDiscards.1 = Counter32: 0
IF-MIB::ifOutErrors.1 = Counter32: 0
IF-MIB::ifOutQLen.1 = Gauge32: 0
IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero
LABEL-LB489-MIB::deviceInfoSerialNumber.0 = INTEGER: 1
LABEL-LB489-MIB::inputIndex.1 = INTEGER: 1
LABEL-LB489-MIB::inputIndex.2 = INTEGER: 2
LABEL-LB489-MIB::inputIndex.3 = INTEGER: 3
LABEL-LB489-MIB::inputIndex.4 = INTEGER: 4
LABEL-LB489-MIB::inputName.1 = STRING: Input 1
LABEL-LB489-MIB::inputName.2 = STRING: Input 2
LABEL-LB489-MIB::inputName.3 = STRING: Input 3
LABEL-LB489-MIB::inputName.4 = STRING: Input 4
LABEL-LB489-MIB::inputMode.1 = STRING: bin
LABEL-LB489-MIB::inputMode.2 = STRING: s300
LABEL-LB489-MIB::inputMode.3 = STRING: t
LABEL-LB489-MIB::inputMode.4 = STRING: 3v
LABEL-LB489-MIB::resultUnit.1.1 = STRING: 
LABEL-LB489-MIB::resultUnit.1.2 = STRING: 
LABEL-LB489-MIB::resultUnit.1.3 = STRING: 
LABEL-LB489-MIB::resultUnit.1.4 = STRING: 
LABEL-LB489-MIB::resultUnit.1.5 = STRING: 
LABEL-LB489-MIB::resultUnit.1.6 = STRING: 
LABEL-LB489-MIB::resultUnit.1.7 = STRING: 
LABEL-LB489-MIB::resultUnit.1.8 = STRING: 
LABEL-LB489-MIB::resultUnit.2.1 = STRING: %
LABEL-LB489-MIB::resultUnit.2.2 = STRING: deg.C
LABEL-LB489-MIB::resultUnit.2.3 = STRING: hPa
LABEL-LB489-MIB::resultUnit.2.4 = STRING: 
LABEL-LB489-MIB::resultUnit.2.5 = STRING: 
LABEL-LB489-MIB::resultUnit.2.6 = STRING: 
LABEL-LB489-MIB::resultUnit.2.7 = STRING: 
LABEL-LB489-MIB::resultUnit.2.8 = STRING: 
LABEL-LB489-MIB::resultUnit.3.1 = STRING: deg.C
LABEL-LB489-MIB::resultUnit.3.2 = STRING: 
LABEL-LB489-MIB::resultUnit.3.3 = STRING: 
LABEL-LB489-MIB::resultUnit.3.4 = STRING: 
LABEL-LB489-MIB::resultUnit.3.5 = STRING: 
LABEL-LB489-MIB::resultUnit.3.6 = STRING: 
LABEL-LB489-MIB::resultUnit.3.7 = STRING: 
LABEL-LB489-MIB::resultUnit.3.8 = STRING: 
LABEL-LB489-MIB::resultUnit.4.1 = STRING: V
LABEL-LB489-MIB::resultUnit.4.2 = STRING: 
LABEL-LB489-MIB::resultUnit.4.3 = STRING: 
LABEL-LB489-MIB::resultUnit.4.4 = STRING: 
LABEL-LB489-MIB::resultUnit.4.5 = STRING: 
LABEL-LB489-MIB::resultUnit.4.6 = STRING: 
LABEL-LB489-MIB::resultUnit.4.7 = STRING: 
LABEL-LB489-MIB::resultUnit.4.8 = STRING: 
LABEL-LB489-MIB::resultString.1.1 = STRING: ON
LABEL-LB489-MIB::resultString.1.2 = STRING: 
LABEL-LB489-MIB::resultString.1.3 = STRING: 
LABEL-LB489-MIB::resultString.1.4 = STRING: 
LABEL-LB489-MIB::resultString.1.5 = STRING: 
LABEL-LB489-MIB::resultString.1.6 = STRING: 
LABEL-LB489-MIB::resultString.1.7 = STRING: 
LABEL-LB489-MIB::resultString.1.8 = STRING: 
LABEL-LB489-MIB::resultString.2.1 = STRING: 48.8
LABEL-LB489-MIB::resultString.2.2 = STRING: 24.6
LABEL-LB489-MIB::resultString.2.3 = STRING: 1011.0
LABEL-LB489-MIB::resultString.2.4 = STRING: 
LABEL-LB489-MIB::resultString.2.5 = STRING: 
LABEL-LB489-MIB::resultString.2.6 = STRING: 
LABEL-LB489-MIB::resultString.2.7 = STRING: 
LABEL-LB489-MIB::resultString.2.8 = STRING: 
LABEL-LB489-MIB::resultString.3.1 = STRING: 25.7
LABEL-LB489-MIB::resultString.3.2 = STRING: 
LABEL-LB489-MIB::resultString.3.3 = STRING: 
LABEL-LB489-MIB::resultString.3.4 = STRING: 
LABEL-LB489-MIB::resultString.3.5 = STRING: 
LABEL-LB489-MIB::resultString.3.6 = STRING: 
LABEL-LB489-MIB::resultString.3.7 = STRING: 
LABEL-LB489-MIB::resultString.3.8 = STRING: 
LABEL-LB489-MIB::resultString.4.1 = STRING: 2.990
LABEL-LB489-MIB::resultString.4.2 = STRING: 
LABEL-LB489-MIB::resultString.4.3 = STRING: 
LABEL-LB489-MIB::resultString.4.4 = STRING: 
LABEL-LB489-MIB::resultString.4.5 = STRING: 
LABEL-LB489-MIB::resultString.4.6 = STRING: 
LABEL-LB489-MIB::resultString.4.7 = STRING: 
LABEL-LB489-MIB::resultString.4.8 = STRING: 
LABEL-LB489-MIB::resultInteger.1.1 = INTEGER: 1
LABEL-LB489-MIB::resultInteger.1.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.1.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.2.1 = INTEGER: 49
LABEL-LB489-MIB::resultInteger.2.2 = INTEGER: 25
LABEL-LB489-MIB::resultInteger.2.3 = INTEGER: 1011
LABEL-LB489-MIB::resultInteger.2.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.2.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.2.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.2.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.2.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.1 = INTEGER: 26
LABEL-LB489-MIB::resultInteger.3.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.3.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.1 = INTEGER: 2990
LABEL-LB489-MIB::resultInteger.4.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultInteger.4.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.1 = INTEGER: 1
LABEL-LB489-MIB::resultFixed.1.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.1.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.2.1 = INTEGER: 488
LABEL-LB489-MIB::resultFixed.2.2 = INTEGER: 246
LABEL-LB489-MIB::resultFixed.2.3 = INTEGER: 10110
LABEL-LB489-MIB::resultFixed.2.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.2.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.2.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.2.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.2.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.1 = INTEGER: 257
LABEL-LB489-MIB::resultFixed.3.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.3.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.1 = INTEGER: 2990
LABEL-LB489-MIB::resultFixed.4.2 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.3 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.4 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.5 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.6 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.7 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFixed.4.8 = INTEGER: 1000000000
LABEL-LB489-MIB::resultFloat.1.1 = Opaque: Float: 1.000000
LABEL-LB489-MIB::resultFloat.1.2 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.3 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.4 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.5 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.6 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.7 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.1.8 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.2.1 = Opaque: Float: 48.799999
LABEL-LB489-MIB::resultFloat.2.2 = Opaque: Float: 24.600000
LABEL-LB489-MIB::resultFloat.2.3 = Opaque: Float: 1011.000000
LABEL-LB489-MIB::resultFloat.2.4 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.2.5 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.2.6 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.2.7 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.2.8 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.1 = Opaque: Float: 25.700001
LABEL-LB489-MIB::resultFloat.3.2 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.3 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.4 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.5 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.6 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.7 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.3.8 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.1 = Opaque: Float: 2.990000
LABEL-LB489-MIB::resultFloat.4.2 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.3 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.4 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.5 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.6 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.7 = Opaque: Float: nan
LABEL-LB489-MIB::resultFloat.4.8 = Opaque: Float: nan
LABEL-LB489-MIB::s300Index.1 = INTEGER: 1
LABEL-LB489-MIB::s300Index.2 = INTEGER: 2
LABEL-LB489-MIB::s300Index.3 = INTEGER: 3
LABEL-LB489-MIB::s300Index.4 = INTEGER: 4
LABEL-LB489-MIB::s300Type.1 = STRING: 
LABEL-LB489-MIB::s300Type.2 = STRING: LB-715
LABEL-LB489-MIB::s300Type.3 = STRING: 
LABEL-LB489-MIB::s300Type.4 = STRING: 
LABEL-LB489-MIB::s300SerialNumber.1 = INTEGER: 0
LABEL-LB489-MIB::s300SerialNumber.2 = INTEGER: 101
LABEL-LB489-MIB::s300SerialNumber.3 = INTEGER: 0
LABEL-LB489-MIB::s300SerialNumber.4 = INTEGER: 0
End of MIB