Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

3 Pu?apki SNMP

Przegl?d

Odbieranie pu?apek SNMP jest przeciwie¨½stwem do pytania urz?dze¨½ SNMP.

W tym przypadku informacje wysy?ane s? z urz?dze¨½ SNMP i s? przechowywane lub "?apane" przez Áú»¢¶Ä²©.

Zwykle pu?apki wysy?ane s? w wyniku zmiany warunk¨®w, a agent ??czy si? do serwera na porcie 162 (w przeciwie¨½stwie do portu 161, po stronie agenta, u?ywanego do zapyta¨½). U?ywanie pu?apek mo?e powodowa? niewielkie problemy podczas zapyta¨½ i mo?e powodowa? utrat? danych.

Odbieranie pu?apek SNMP w Áú»¢¶Ä²© przeznaczone jest do pracy z snmptrapd i jednym z mechanizm¨®w przekazywania pu?apek do Áú»¢¶Ä²© - skrypt perl lub SNMPTT.

Przebieg odbierania pu?apki:

  1. snmptrapd odbiera pu?apk?
  2. snmptrapd przekazuje pu?apk? do SNMPTT lub wo?a odbiornik pu?apki Perl
  3. SNMPTT lub odbiornik pu?apki Perl przetwarza, formatuje i zapisuje pu?apk? do pliku
  4. proces przechwytywania Áú»¢¶Ä²© SNMP (trapper) czyta i przetwarza plik pu?apki
  5. Dla ka?dej pu?apki Áú»¢¶Ä²© szuka wszystkich pozycji "Pu?apka SNMP" z interfejsem hosta zgodnym z otrzymanym adresem pu?apki. Nale?y zauwa?y?, ?e podczas por¨®wnywania u?ywane s? jedynie "IP" lub "DNS" z interfejsu hosta.
  6. Dla ka?dej znalezionej pozycji, pu?apka por¨®wnywana jest z wyra?eniem regularnym w "snmptrap[regex]". Pu?apka jest ustawiana jako warto?? wszystkich zgodnych pozycji. Je?eli nie znaleziono ?adnych pozycji ale istnieje pozycja "snmptrap.fallback", pu?apka jest ustawiana jako jej warto??.
  7. Je?eli pu?apka nie zosta?a ustawiona jako warto?? jakiejkolwiek pozycji, Áú»¢¶Ä²© domy?lnie zaloguje j? jako niedopasowan? pu?apk?. (Jest to skonfigurowane w "Logowanie niedopasowanych pu?apek SNMP" w Administracja ¡ú Og¨®lne ¡ú Inne.)

3.1 Konfiguracja pu?apek SNMP

Konfiguracja ponizszych p¨®l jest specyficzna dla tego typu pozycji:

  • Host musi posiada? interfejs SNMP

W Konfiguracja ¡ú Hosty, w polu Interfejs hosta nale?y ustawi? interfejs SNMP z poprawnym adresem IP lub DNS. ?eby znale?? odpowiednie hosty, adresy ka?dej odebranej pu?apki por¨®wnywane s? do adres¨®w IP lub DNS wszystkich interfejs¨®w SNMP.

  • Konfiguracja pozycji

W polu Klucz nale?y u?y? jednego z kluczy pu?apki SNMP:

Klucz
Opis Zwracana warto?? Komentarze
snmptrap[regex]
Wy?apuje wszystkie pu?apki SNMP z adres¨®w zgodnych z regex Pu?apka SNMP Pozycja ta mo?e by? ustawiona tylko dla interfejs¨®w SNMP.
Pozycja ta jest obs?ugiwana od Áú»¢¶Ä²© 2.0.0.
Uwaga: Pocz?wszy od Áú»¢¶Ä²© 2.0.5, w kluczu tej pozycji obs?ugiwane s? makra u?ytkownika i globalne wyra?enia regularne.
snmptrap.fallback
Wy?apuje wszystkie pu?apki SNMP ze zgodnych adres¨®w, kt¨®re nie zosta?y wy?apane przez ?adne pozycje snmptrap[] dla tego interfejsu Pu?apka SNMP Pozycja ta mo?e by? ustawiona tylko dla interfejs¨®w SNMP.
Pozycja ta jest obs?ugiwana od Áú»¢¶Ä²© 2.0.0.

Dopasowanie wieloliniowych wyra?e¨½ regularnych nie jest jeszcze obs?ugiwane.

?eby przetworzy? znaczniki czasu Typ informacji nale?y ustawi? na 'Log'. Nale?y zauwa?y?, ?e inne formaty takie jak 'Numeryczny' r¨®wnie? s? dozwolone, jednak?e mog? wymaga? w?asnej obs?ugi pu?apki.

?eby monitorowanie pu?apek SNMP dzia?a?o, najpierw musi by? poprawnie ustawione.

3.2 Ustawianie monitorowania pu?apek SNMP

Konfiguracja serwera/proxy Áú»¢¶Ä²©

?eby odczyta? pu?apki, serwer lub proxy Áú»¢¶Ä²© musi by? skonfigurowane tak, by uruchamia? si? proces pu?apki SNMP i musi wiedzie? gdzie jest plik, do kt¨®rego pisze SNMPTT lub odbiornik pu?apki perl. ?eby to zrobi?, nale?y wprowadzi? odpowiednie zmiany w pliku konfiguracyjnym (zabbix_server.conf lub zabbix_proxy.conf):

  1. StartSNMPTrapper=1
  2. SNMPTrapperFile=[PLIK PU?APKI]
Konfiguracja SNMPTT

Po pierwsze, snmptrapd powinno by? skonfigurowane do pracy z SNMPTT.

Dla zwi?kszenia wydajno?ci, SNMPTT powinno by? skonfigurowane jako demon u?ywaj?cy snmptthandler-embedded do przekazywania pu?apek. Zobacz instrukcj? konfiguracji SNMPTT na jego stronie domowej:

Gdy ju? SNMPTT zostanie skonfigurowane do odbierania pu?apek, nale?y je skonfigurowa? do logowania pu?apek:

  1. logowanie pu?apek do pliku pu?apki, kt¨®ry mo?e by? odczytany przez Áú»¢¶Ä²©:
    log_enable = 1
    log_file = [TRAP FILE]
  2. ustawienie formatu daty-czasu:
    date_time_format = %H:%M:%S %Y/%m/%d = [FORMAT DATY CZASU]

Teraz nale?y sformatowa? pu?apki, ?eby Áú»¢¶Ä²© m¨®g? je rozpozna? (edycja snmptt.conf):

  1. Ka?da definicja FORMAT powinna zaczyna? si? od "ZBXTRAP [adres]", gdzie [adres] b?dzie por¨®wnywany do adres¨®w IP i DNS interfejs¨®w SNMP w Áú»¢¶Ä²©. Np.:
    EVENT coldStart .1.3.6.1.6.3.1.1.5.1 "Status Events" Normal
    FORMAT ZBXTRAP $aA Device reinitialized (coldStart)
  2. Wi?cej na temat formatowania pu?apki SNMP mo?na zobaczy? poni?ej.

Nie nale?y u?ywa? nieznanych pu?apek - Áú»¢¶Ä²© nie b?dzie potrafi? ich rozpozna?. Nieznane pu?apki mog? by? obs?u?one poprzez zdefiniowanie zdarzenia og¨®lnego w snmptt.conf:
EVENT general .* "General event" Normal

Konfiguracja odbiornika pu?apki Perl

Wymagania: Perl, Net-SNMP skompilowany z --enable-embedded-perl (domy?lnie wykonywane od Net-SNMP 5.4)

Odbiornik pu?apek Perl (lpatrz misc/snmptrap/zabbix_trap_receiver.pl) mo?e by? u?ywany do bezpo?redniego przekazywania pu?apek z snmptrapd do Áú»¢¶Ä²©. ?eby go skonfigurowa? nale?y:

  • doda? skrypt perl do pliku konfiguracyjnego snmptrapd (snmptrapd.conf), e.g.:
    perl do "[PE?NA ?CIE?KA DO SKRYPTU ODBIORNIKA PERL]";
  • skonfigurowa? odbiornik, np.:
    $SNMPTrapperFile = '[PLIK PU?APKI]';
    $DateTimeFormat = '[FORMAT DATY CZASU]';

Je?eli nazwa skryptu nie jest wpisana w cudzys?owach, snmptrapd nie uruchomi si? i pojawi? si? komunikaty podobne do tych:

Regexp modifiers "/l" and "/a" are mutually exclusive at (eval 2) line 1, at end of line
       Regexp modifier "/l" may not appear twice at (eval 2) line 1, at end of line
Formatowanie pu?apki SNMP

Wszystkie w?asne odbiorniki pu?apek perl i konfiguracje pu?apek SNMPTT musz? formatowa? pu?apk? w nastepuj?cy spos¨®b: [znacznikczasu] [pu?apka, cz??? 1] ZBXTRAP [adres] [pu?apka, cz??? 2], gdzie

  • [znacznikczasu] - znacznik czasu u?ywany doi logowania pozycji
  • ZBXTRAP - nag?¨®wek oznaczaj?cy, ?e w tej linii zaczyna si? nowa pu?apka
  • [adres] - adres IP u?ywany do znalezienia hosta dla tej pu?apki

Nale?y zauwa?y?, ?e "ZBXTRAP" i "[adres]" zostan? wyci?te podczas przetwarzania komunikatu. Je?eli pu?apka sformatowana jest w inny spos¨®b, Áú»¢¶Ä²© mo?e przetworzy? pu?apki w spos¨®b nieoczekiwany.

Przyk?adowa pu?apka:
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events" localhost - ZBXTRAP 192.168.1.1 Link down on interface 2. Admin state: 1. Operational state: 2
Spowoduje to przekazanie nast?puj?cej pu?apki dla interfejsu SNMP: IP=192.168.1.1:
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events" localhost - Link down on interface 2. Admin state: 1.

3.3 Wymagania systemowe

Rotacja log¨®w

Áú»¢¶Ä²© nie udost?pnia ?adnego systemu rotowania log¨®w - powinno to by? obs?u?one przez u?ytkownika. ?eby nie utraci? ?adnej pu?apki, rotacja log¨®w powinna najpierw zmieni? nazwy starego pliku a dopiero p¨®?niej go skasowa?:

  1. Áú»¢¶Ä²© otwiera plik pu?apki na ostatniej znanej pozycji i przechodzi do kroku 3
  2. Áú»¢¶Ä²© sprawdza, czy aktualnie otwarty plik zosta? zrotowany, por¨®wnuj?c numer inode do zdefiniowanego numeru inode pliku pu?apki. Je?eli nie ma ?adnego otwartego pliku, Áú»¢¶Ä²© czy?ci ostatni? lokalizacj? i wraca do kroku 1.
  3. Áú»¢¶Ä²© czyta dane z aktualnie otwartego pliku i ustawia now? lokalizacj?.
  4. Nowe dane s? przetwarzane. Je?eli to by? plik zrotowany, plik jest zamykany i nast?puje powr¨®t do kroku 2.
  5. Je?eli nie ma wi?cej danych, Áú»¢¶Ä²© czeka 1 sekund? i przechodzi do kroku 2.
System plik¨®w

Z powodu metody implementacji pliku pu?apki, Áú»¢¶Ä²© do rozr¨®?niania plik¨®w wymaga systemu, kt¨®ry obs?uguje identyfikatory w?z?¨®w (inode) (informacja pobierana jest przez wywo?anie stat()).

3.4 Przyk?ad ustawienia

Przyk?ad ten wykorzystuje snmptrapd + SNMPTT do przekazania pu?apki do serwera Áú»¢¶Ä²©. Ustawienia:

  1. zabbix_server.conf - konfiguracja Áú»¢¶Ä²©, uruchamiaj?ca proces pu?apki SNMP i ustawiaj?ca plik pu?apki:
    StartSNMPTrapper=1
    SNMPTrapperFile=/tmp/my_zabbix_traps.tmp
  2. snmptrapd.conf - dodanie SNMPTT jako obs?uga pu?apki:
    traphandle default snmptt
  3. snmptt.ini - konfiguracja pliku wyj?ciowego i formatu czasu:
    log_file = /tmp/my_zabbix_traps.tmp
    date_time_format = %H:%M:%S %Y/%m/%d
  4. snmptt.conf - definicja domy?lnego formatu czasu:
    EVENT general .* "General event" Normal
    FORMAT ZBXTRAP $aA $ar
  5. Utworzenie pozycji SNMP TEST:
    Host's SNMP interface IP: 127.0.0.1
    Key: snmptrap["General"]
    Log time format: hh:mm:ss yyyy/MM/dd

Co daje w efekcie:

  1. Komenda u?yta do wys?ania pu?apki:
    snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "teststring000"
  2. Otrzymana pu?apka:
    15:48:18 2011/07/26 .1.3.6.1.6.3.1.1.5.3.0.33 Normal "General event" localhost - ZBXTRAP 127.0.0.1 127.0.0.1
  3. Warto?? dla pozycji TEST:
    15:48:18 2011/07/26 .1.3.6.1.6.3.1.1.5.3.0.33 Normal "General event" localhost - 127.0.0.1

Przyk?ad ten wykorzystuje SNMPTT jako traphandle. Dla zwi?kszenia wydajno?ci przekazywania pu?apek, z snmptrapd do SNMPTT lub bezpo?rednio do Áú»¢¶Ä²©, w systemach produkcyjnych, nale?y u?y? wbudowanego Perla.

3.5 Zobacz r¨®wnie?