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.