2 Prosty check

Przegląd

Proste testy są zwykle używane do zdalnego monitorowania usług bez użycia agenta.

Należy pamiętać, że agent Zabbix nie jest wymagany do prostych testów. Za przetwarzanie prostych testów odpowiada serwer/proxy Zabbix (nawiązywanie połączeń zewnętrznych itp.).

Przykłady użycia prostych testów:

net.tcp.service[ftp,,155]
net.tcp.service[http]
net.tcp.service.perf[http,,8080]
net.udp.service.perf[ntp]

Pola Nazwa użytkownika i Hasło (ograniczone do 255 znaków) w konfiguracji pozycji prostego testu są używane dla pozycji monitorowania VMware; w pozostałych przypadkach są ignorowane.

Obsługiwane testy

Klucze pozycji są wymienione bez opcjonalnych parametrów i dodatkowych informacji. Kliknij klucz pozycji, aby zobaczyć pełne szczegóły.

Zobacz także klucze pozycji monitorowania VMware.

Klucz pozycji Opis
icmpping Dostępność hosta za pomocą ICMP ping.
icmppingloss Procent utraconych pakietów.
icmppingretry Dostępność hosta za pomocą ICMP ping z ponowieniami.
icmppingsec Czas odpowiedzi ICMP ping.
net.tcp.service Sprawdza, czy usługa jest uruchomiona i akceptuje połączenia TCP.
net.tcp.service.perf Sprawdza wydajność usługi TCP.
net.udp.service Sprawdza, czy usługa jest uruchomiona i odpowiada na żądania UDP.
net.udp.service.perf Sprawdza wydajność usługi UDP.

Szczegóły klucza pozycji

Parametry bez nawiasów ostrych są obowiązkowe. Parametry oznaczone nawiasami ostrymi < > są opcjonalne.

icmpping[<target>,<packets>,<interval>,<size>,<timeout>,<options>]


Dostępność hosta za pomocą ICMP ping.
Zwracana wartość: 0 - ICMP ping nie powiódł się; 1 - ICMP ping zakończył się powodzeniem.

Parametry:

  • target - adres IP hosta lub nazwa DNS;
  • packets - liczba pakietów;
  • interval - czas między kolejnymi pakietami w milisekundach;
  • size - rozmiar pakietu w bajtach;
  • timeout - limit czasu w milisekundach;
  • options - używane do zezwolenia na przekierowanie: jeśli puste (wartość domyślna), odpowiedzi przekierowane są traktowane jako niedostępność hosta docelowego; jeśli ustawione na allow_redirect, odpowiedzi przekierowane są traktowane jako dostępność hosta docelowego.

Zobacz także tabelę wartości domyślnych.

Przykład:

icmpping[,4] #Jeśli zostanie zwrócony co najmniej jeden z czterech pakietów, pozycja zwróci 1.
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>,<options>]


Procent utraconych pakietów.
Zwracana wartość: Float.

Parametry:

  • target - adres IP hosta lub nazwa DNS;
  • packets - liczba pakietów;
  • interval - czas między kolejnymi pakietami w milisekundach;
  • size - rozmiar pakietu w bajtach;
  • timeout - limit czasu w milisekundach;
  • options - używane do zezwolenia na przekierowanie: jeśli puste (wartość domyślna), odpowiedzi przekierowane są traktowane jako niedostępność hosta docelowego; jeśli ustawione na allow_redirect, odpowiedzi przekierowane są traktowane jako dostępność hosta docelowego.

Zobacz także tabelę wartości domyślnych.

icmppingretry[<target>,<retries>,<backoff>,<size>,<timeout>,<options>]


Dostępność hosta za pomocą ICMP ping z ponowieniami. Jeśli pierwszy pakiet zakończy się powodzeniem, dalsze próby są wstrzymywane; jeśli pakiet nie powiedzie się, próby są ponawiane aż do osiągnięcia maksymalnej liczby prób określonej w parametrze retries. Ta pozycja jest przydatna do zmniejszenia liczby pakietów wysyłanych przez sieć.
Wartość zwracana: 0 - ICMP ping nie powiódł się; 1 - ICMP ping zakończył się powodzeniem.

Parametry:

  • target - adres IP lub nazwa DNS hosta;
  • retries - liczba ponowień próby pingowania celu, bez uwzględnienia pierwszej próby (0 lub więcej; domyślnie 1);
  • backoff - wartość, przez którą mnożony jest czas oczekiwania przy każdym kolejnym żądaniu (zakres 1.0-5.0; domyślnie 1.0);
  • size - rozmiar pakietu w bajtach;
  • timeout - limit czasu w milisekundach;
  • options - używane do zezwalania na przekierowanie: jeśli puste (wartość domyślna), odpowiedzi przekierowane są traktowane jako niedostępność hosta docelowego; jeśli ustawione na allow_redirect, odpowiedzi przekierowane są traktowane jako dostępność hosta docelowego.

Zobacz także tabelę wartości domyślnych.

icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>,<options>]


Czas odpowiedzi ping ICMP (w sekundach).
Zwracana wartość: Float.

Parametry:

  • target - adres IP lub nazwa DNS hosta;
  • packets - liczba pakietów;
  • interval - czas między kolejnymi pakietami w milisekundach;
  • size - rozmiar pakietu w bajtach;
  • timeout - limit czasu w milisekundach;
  • mode - możliwe wartości: min, max lub avg (domyślnie);
  • options - używane do zezwolenia na przekierowanie: jeśli puste (wartość domyślna), odpowiedzi przekierowane są traktowane jako niedostępność hosta docelowego; jeśli ustawione na allow_redirect, odpowiedzi przekierowane są traktowane jako dostępność hosta docelowego.

Uwagi:

  • Pakiety utracone lub takie, dla których upłynął limit czasu, nie są uwzględniane w obliczeniach;
  • Jeśli host jest niedostępny (osiągnięto limit czasu), pozycja zwróci 0;
  • Jeśli zwracana wartość jest mniejsza niż 0.0001 sekundy, wartość zostanie ustawiona na 0.0001 sekundy;
  • Zobacz także tabelę wartości domyślnych.
net.tcp.service[service,<ip>,<port>]


Sprawdza, czy usługa działa i akceptuje połączenia TCP.
Zwracana wartość: 0 - usługa jest niedostępna; 1 - usługa działa.

Parametry:

  • service - możliwe wartości: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (zobacz szczegóły);
  • ip - adres IP lub nazwa DNS (domyślnie używany jest IP/DNS hosta);
  • port - numer portu (domyślnie używany jest standardowy numer portu usługi).

Uwagi:

  • Należy pamiętać, że dla usługi tcp podanie portu jest obowiązkowe;
  • Te testy mogą powodować dodatkowe komunikaty w plikach dziennika demonów systemowych (zwykle rejestrowane są sesje SMTP i SSH);
  • Sprawdzanie szyfrowanych protokołów (takich jak IMAP na porcie 993 lub POP na porcie 995) nie jest obecnie obsługiwane. Jako obejście należy użyć net.tcp.service[tcp,<ip>,port] do takich testów.

Przykład:

net.tcp.service[ftp,,45] #Ta pozycja może być użyta do testowania dostępności serwera FTP na porcie TCP 45.

Jeśli SELinux działa w trybie enforced, niestandardowe proste testy TCP/UDP mogą być blokowane przez politykę. Aby zweryfikować i zezwolić na nowe połączenie wychodzące, sprawdź odmowy w audycie: używając grep denied /var/log/audit/audit.log

net.tcp.service.perf[service,<ip>,<port>]


Sprawdza wydajność usługi TCP.
Wartość zwracana: Float: 0.000000 - usługa jest niedostępna; seconds - liczba sekund poświęconych na połączenie z usługą.

Parametry:

  • service - możliwe wartości: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (zobacz szczegóły);
  • ip - adres IP lub nazwa DNS (domyślnie używany jest IP/DNS hosta);
  • port - numer portu (domyślnie używany jest standardowy numer portu usługi).

Uwagi:

  • Należy pamiętać, że w przypadku usługi tcp podanie portu jest obowiązkowe;
  • Sprawdzanie szyfrowanych protokołów (takich jak IMAP na porcie 993 lub POP na porcie 995) nie jest obecnie obsługiwane. Jako obejście należy użyć net.tcp.service[tcp,<ip>,port] do takich kontroli.

Przykład:

net.tcp.service.perf[ssh] #Ta pozycja może być użyta do testowania szybkości początkowej odpowiedzi serwera SSH.
net.udp.service[service,<ip>,<port>]


Sprawdza, czy usługa działa i odpowiada na żądania UDP.
Zwracana wartość: 0 - usługa jest niedostępna; 1 - usługa działa.

Parametry:

  • service - możliwe wartości: ntp (zobacz szczegóły);
  • ip - adres IP lub nazwa DNS (domyślnie używany jest IP/DNS hosta);
  • port - numer portu (domyślnie używany jest standardowy numer portu usługi).

Przykład:

net.udp.service[ntp,,45] #Ta pozycja może być użyta do testowania dostępności usługi NTP na porcie UDP 45.
net.udp.service.perf[service,<ip>,<port>]


Sprawdza wydajność usługi UDP.
Zwracana wartość: Float: 0.000000 - usługa jest niedostępna; seconds - liczba sekund oczekiwania na odpowiedź z usługi.

Parametry:

  • service - możliwe wartości: ntp (zobacz szczegóły);
  • ip - adres IP lub nazwa DNS (domyślnie używany jest IP/DNS hosta);
  • port - numer portu (domyślnie używany jest standardowy numer portu usługi).

Przykład:

net.udp.service.perf[ntp] #Ta pozycja może być użyta do testowania czasu odpowiedzi usługi NTP.

Do obsługi SourceIP w prostych kontrolach LDAP (np. net.tcp.service[ldap]) wymagana jest wersja OpenLDAP 2.6.1 lub nowsza.

Przetwarzanie limitu czasu

Elastyczne limity czasu pozycji, mimo że są obsługiwane dla prostych testów, nie mają zastosowania do pozycji icmpping* i VMware. Zobacz Obsługa elastycznych limitów czasu.

Pingi ICMP

Zabbix używa zewnętrznego narzędzia fping do przetwarzania pingów ICMP (icmpping, icmppingloss, icmppingretry, icmppingsec).

Instalacja

fping nie jest dołączony do Zabbix i musi zostać zainstalowany osobno:

  • Różne platformy oparte na Uniksie mają pakiet fping w swoich domyślnych repozytoriach, ale nie jest on preinstalowany. W takim przypadku można użyć menedżera pakietów do zainstalowania fping.

  • Zabbix udostępnia pakiety fping dla RHEL i jego pochodnych. Należy pamiętać, że pakiety te są dostarczane bez oficjalnego wsparcia.

  • fping można również skompilować ze źródeł.

Konfiguracja

Określ lokalizację fping w parametrze FpingLocation pliku konfiguracyjnego serwera/proxy Zabbix (lub parametrze Fping6Location w przypadku używania adresów IPv6).

fping powinien być wykonywalny dla użytkownika, z uprawnieniami którego działa serwer/proxy Zabbix, a użytkownik ten powinien mieć wystarczające uprawnienia.

Zobacz także: Znane problemy dotyczące przetwarzania prostych testów z wersjami fping poniżej 3.10.

Wartości domyślne

Wartości domyślne, limity i opis wartości parametrów sprawdzania ICMP:

Parametr Jednostka Opis Flaga fping Wartości domyślne ustawiane przez Dozwolone limity
przez Zabbix
fping Zabbix min max
packets liczba Liczba pakietów żądania wysyłanych do celu -C 3 1 10000
interval milisekundy Czas oczekiwania między kolejnymi pakietami wysyłanymi do pojedynczego celu -p 1000 20 bez ograniczeń
size bajty Rozmiar pakietu w bajtach
56 bajtów na x86, 68 bajtów na x86_64
-b 56 lub 68 24 65507
timeout milisekundy fping v3.x - limit czasu oczekiwania po wysłaniu ostatniego pakietu, zależny od flagi -C
fping v4.x - indywidualny limit czasu dla każdego pakietu
-t fping v3.x - 500
fping v4.x i nowsze - dziedziczone z flagi -p, ale nie więcej niż 2000
50 bez ograniczeń
retries liczba Liczba prób pingowania celu, nie licząc pierwszej próby -r 3 1 0 bez ograniczeń
backoff factor liczba Liczba, przez którą mnożony jest czas oczekiwania przy każdym kolejnym żądaniu -B 1.5 1.0 1.0 5.0

Wartości domyślne mogą się nieznacznie różnić w zależności od platformy i wersji.

Dodatkowo Zabbix używa opcji fping -i interval ms (nie należy mylić z parametrem pozycji interval wymienionym w tabeli powyżej, który odpowiada opcji fping -p) oraz -S source IP address (lub -I w starszych wersjach fping). Opcje te są wykrywane automatycznie przez uruchamianie testów z różnymi kombinacjami opcji. Zabbix próbuje wykryć minimalną wartość w milisekundach, której fping pozwala użyć z opcją -i, testując 3 wartości: 0, 1 i 10. Wartość, która jako pierwsza zakończy się powodzeniem, jest następnie używana w kolejnych testach ICMP. Proces ten jest wykonywany indywidualnie przez każdy proces ICMP pinger.

Automatycznie wykryte opcje fping są unieważniane co godzinę i wykrywane ponownie przy następnej próbie wykonania testu ICMP. Ustaw DebugLevel>=4, aby wyświetlić szczegóły tego procesu w pliku dziennika serwera lub proxy.

Zabbix zapisuje adresy IP do sprawdzenia przez dowolny z kluczy icmpping* do pliku tymczasowego, który jest następnie przekazywany do fping. Jeśli pozycje mają różne parametry klucza, do jednego pliku zapisywane są tylko te z identycznymi parametrami klucza. Wszystkie adresy IP zapisane w jednym pliku będą sprawdzane przez fping równolegle, więc proces Zabbix ICMP pinger poświęci stałą ilość czasu niezależnie od liczby adresów IP w pliku.