2 Prosty check
Przegląd
Proste sprawdzenia są zwykle używane do zdalnych sprawdzeń usług bez użycia agenta.
Należy pamiętać, że agent Zabbix nie jest potrzebny do prostych sprawdzeń. Serwer/proxy Zabbix odpowiada za przetwarzanie prostych sprawdzeń (nawiązywanie połączeń zewnętrznych itp.).
Przykłady użycia prostych sprawdzeń:
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 sprawdzenia są używane dla pozycji monitorowania VMware; w pozostałych przypadkach są ignorowane.
Obsługiwane sprawdzenia
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ą ping ICMP. |
| icmppingloss | Procent utraconych pakietów. |
| icmppingretry | Dostępność hosta za pomocą ping ICMP z ponawianiem prób. |
| icmppingsec | Czas odpowiedzi ping ICMP. |
| net.tcp.service | Sprawdza, czy usługa działa i akceptuje połączenia TCP. |
| net.tcp.service.perf | Sprawdza wydajność usługi TCP. |
| net.udp.service | Sprawdza, czy usługa działa 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ą ping ICMP.
Wartość zwracana: 0 - ping ICMP nie powiódł się; 1 - ping ICMP powiódł się.
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 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.
Komentarz:
- Jeśli zostanie zwrócony co najmniej jeden z pakietów zdefiniowanych parametrem
packets, pozycja zwraca1. Jeśli nie zostanie zwrócony żaden z pakietów, pozycja zwraca0.
Przykład:
icmpping[,4] #Jeśli zostanie zwrócony co najmniej jeden z czterech pakietów, pozycja zwraca 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
Zabbix nie będzie przetwarzać prostego sprawdzenia dłużej niż przez liczbę sekund Timeout zdefiniowaną w formularzu konfiguracji pozycji.
W przypadku pozycji VMware items Zabbix nie będzie przetwarzać prostego sprawdzenia dłużej niż przez liczbę sekund Timeout zdefiniowaną w pliku konfiguracyjnym Zabbix serwer lub proxy. W przypadku pozycji icmpping* wartości limitu czasu i liczby ponowień są określane bezpośrednio w kluczu pozycji i nie są zależne od globalnego parametru Timeout. Upewnij się, że wartości te są odpowiednio skonfigurowane w kluczu pozycji. Należy pamiętać, że dla pozycji icmpping* stosowany jest na sztywno ustawiony maksymalny możliwy limit czasu wynoszący 600 sekund (od Zabbix 7.4.6).
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.