Rozdział 13. SNMP

Spis treści

13.1. Zmienne MIB
13.2. Zmienne prywatne
13.2.1. Informacje o urządzeniu
13.2.2. Dane z wbudowanych wejść IN1-8
13.2.3. Dane dla modułów podłączonych do portów PORT1-3
13.2.4. Dane z wejść wielowejściowych modułów do łączonych do portów PORT1-3
13.3. Plik MIB
13.4. Przykładowe drzewo zmiennych

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

13.1. Zmienne MIB

Moduł LB-480 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

13.2. Zmienne prywatne

Prywatne zmienne udostępniane są w gałęzi drzewa o prefiksie

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

numerycznie:

PREFIX = 1.3.6.1.4.1.22925.480

Każdy identyfikator zmiennej określony w poniższych tabelach 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-8,

PORT - indeks określający numer modułu/portu, z zakresu 1-3,

VAR - indeks określający zmienną dla danego wejścia, z zakresu 1–8 (ilość zmiennych zależna jest od typu czujnika).

13.2.1. Informacje o urządzeniu

zmienna OID typ
::deviceInfoSerialNumber.0 PREFIX.1.1.0 INTEGER
Numer seryjny urządzenia

13.2.2. Dane z wbudowanych wejść IN1-8

zmienna OID typ
::inputIndex.IN PREFIX.2.1.1.IN INTEGER
Indeks dla danego wejścia, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr wejścia, więc można bezpośrednio używać numeru wejścia do indeksowania kolejnych tablic.
::inputName.IN PREFIX.2.1.2.IN DisplayString
Nazwa danego wejścia, dowolnie skonfigurowana przez użytkownika.
::inputMode.IN PREFIX.2.1.3.IN DisplayString
Ciąg znaków określający tryb pracy danego wejścia, może przyjmować wartości [off|s300|th|pt|bin|ssw|cnt|cs|u|us|i|is].
::inputType.IN PREFIX.2.1.4.IN INTEGER
Typ czujnika S300 na danym wejściu: 0 gdy wejście pracuje w innym trybie niż S300 albo brak jest dołączonego czujnika na wejściu.
::inputSN.IN PREFIX.2.1.5.IN INTEGER
Numer seryjny czujnika S300 na danym wejściu: 0 gdy wejście pracuje w innym trybie niż S300 albo brak jest dołączonego czujnika na wejściu.
::inputVarCnt.IN PREFIX.2.1.6.IN INTEGER
Ilość zmiennych zdefiniowanych dla danego wejścia.
::inputDataInputIndex.IN PREFIX.3.1.1.IN INTEGER
Indeks dla danego wejścia, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr wejścia, więc można bezpośrednio używać numeru wejścia do indeksowania kolejnych tablic.
::inputDataVarIndex.VAR PREFIX.3.1.2.VAR INTEGER
Indeks dla danej zmiennej, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr zmiennej, więc można bezpośrednio używać numeru zmiennej do indeksowania kolejnych tablic.
::inputDataUnit.IN.VAR PREFIX.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 PREFIX.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 PREFIX.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 PREFIX.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 PREFIX.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.
::inputDataValueDecPos.IN.VAR PREFIX.3.1.8.IN.VAR INTEGER
Wartość numeryczna określająca precyzję wyniku - ilość miejsc znaczących po separatorze dziesiętnym. Dla wyniku w postaci stałoprzecinkowej określa pozycję sepraratora dziesiętnego licząc od cyfr najmniej znaczących.
::s300Type.IN PREFIX.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 PREFIX.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.

13.2.3. Dane dla modułów podłączonych do portów PORT1-3

Dla modułów z wieloma wejściami (LB-499-AIN i LB-499-GIN) odczyt danych dostępny jest za pośrednictwem tabel opisanych dalej, w sekcji modułów wielowejściowych.

zmienna OID typ
::portIndex.PORT PREFIX.5.1.1.PORT INTEGER
Indeks dla danego portu, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr portu, więc można bezpośrednio używać numeru portu do indeksowania kolejnych tablic.
::portName.PORT PREFIX.5.1.2.PORT DisplayString
Nazwa danego modułu, dowolnie skonfigurowana przez użytkownika.
::portType.PORT PREFIX.5.1.3.PORT INTEGER
Wartość numeryczna określająca typ modułu.
::portStatus.PORT PREFIX.5.1.4.PORT INTEGER
Wartość numeryczna określająca status modułu.
::portSN.PORT PREFIX.5.1.5.PORT INTEGER
Numer seryjny modułu, jeśli jest znany.
::portVarCnt.PORT PREFIX.5.1.6.PORT INTEGER
Ilość zmiennych zdefiniowanych dla danego modułu.
::portDataPortIndex.PORT PREFIX.6.1.1.PORT INTEGER
Indeks dla danego portu, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr portu, więc można bezpośrednio używać numeru portu do indeksowania kolejnych tablic.
::portDataVarIndex.VAR PREFIX.6.1.2.VAR INTEGER
Indeks dla danej zmiennej, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr zmiennej, więc można bezpośrednio używać numeru zmiennej do indeksowania kolejnych tablic.
::portDataUnit.PORT.VAR PREFIX.6.1.3.PORT.VAR DisplayString
Ciąg znaków określający jednostkę miary dla danej zmiennej.
::portDataValueString.PORT.VAR PREFIX.6.1.4.PORT.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 '.'.
::portDataValueInt.PORT.VAR PREFIX.6.1.5.PORT.VAR INTEGER
Wartość numeryczna w postaci zaokrąglonej do najbliższej liczby całkowitej określająca wynik pomiaru dla danej 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.
::portDataValueFixed.PORT.VAR PREFIX.6.1.6.PORT.VAR INTEGER
Wartość numeryczna w postaci stałoprzecinkowej określająca wynik pomiaru dla danej 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.
::portDataValueFloat.PORT.VAR PREFIX.6.1.7.PORT.VAR Float
Wartość numeryczna w postaci zmiennoprzecinkowej określająca wynik pomiaru dla danej zmiennej. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna NaN.
::portDataValueDecPos.PORT.VAR PREFIX.6.1.8.PORT.VAR INTEGER
Wartość numeryczna określająca precyzję wyniku - ilość miejsc znaczących po separatorze dziesiętnym. Dla wyniku w postaci stałoprzecinkowej określa pozycję sepraratora dziesiętnego licząc od cyfr najmniej znaczących.

13.2.4. Dane z wejść wielowejściowych modułów do łączonych do portów PORT1-3

Dotyczy modułów z wieloma wejściami: LB-499-AIN i LB-499-GIN.

zmienna OID typ
::ainDataPortIndex.PORT PREFIX.8.1.1.PORT INTEGER
Indeks dla danego portu, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr portu, więc można bezpośrednio używać numeru portu do indeksowania kolejnych tablic.
::ainDataInputIndex.IN PREFIX.8.1.2.IN INTEGER
Indeks dla danego wejścia, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr wejścia, więc można bezpośrednio używać numeru wejścia do indeksowania kolejnych tablic.
::ainDataVarIndex.VAR PREFIX.8.1.3.VAR INTEGER
Indeks dla danej zmiennej, służący do indeksowania kolejnych tablic. Obowiązuje bezpośrednie mapowanie: indeks = nr zmiennej, więc można bezpośrednio używać numeru zmiennej do indeksowania kolejnych tablic.
::ainDataUnit.PORT.IN.VAR PREFIX.8.1.4.PORT.IN.VAR DisplayString
Ciąg znaków określający jednostkę miary dla danej zmiennej.
::ainDataValueString.PORT.IN.VAR PREFIX.8.1.5.PORT.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 '.'.
::ainDataValueInt.PORT.IN.VAR PREFIX.8.1.6.PORT.IN.VAR INTEGER
Wartość numeryczna w postaci zaokrąglonej do najbliższej liczby całkowitej określająca wynik pomiaru dla danej 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.
::ainDataValueFixed.PORT.IN.VAR PREFIX.8.1.7.PORT.IN.VAR INTEGER
Wartość numeryczna w postaci stałoprzecinkowej określająca wynik pomiaru dla danej 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.
::ainDataValueFloat.PORT.IN.VAR PREFIX.8.1.8.PORT.IN.VAR Float
Wartość numeryczna w postaci zmiennoprzecinkowej określająca wynik pomiaru dla danej zmiennej. Jeżeli wejście jest nieaktywne lub dana zmienna nie istnieje, to zwracana jest wartość specjalna NaN.
::ainDataValueDecPos.PORT.IN.VAR PREFIX.8.1.9.PORT.IN.VAR INTEGER
Wartość numeryczna określająca precyzję wyniku - ilość miejsc znaczących po separatorze dziesiętnym. Dla wyniku w postaci stałoprzecinkowej określa pozycję sepraratora dziesiętnego licząc od cyfr najmniej znaczących.

13.3. Plik MIB

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

13.4. Przykładowe drzewo zmiennych

Poniższy wydruk przedstawia drzewo zmiennych udostępnianych przez moduł LB-480, 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 lb480.example.net):

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

SNMPv2-MIB::sysDescr.0 = STRING: LAB-EL LB-480 #1
SNMPv2-MIB::sysObjectID.0 = OID: LABEL-LB480-MIB::LB480
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (193804) 0:32:18.04
SNMPv2-MIB::sysContact.0 = STRING: mk@label.pl
SNMPv2-MIB::sysName.0 = STRING: lb480-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-LB480-MIB::deviceInfoSerialNumber.0 = INTEGER: 1
...
End of MIB