[comment]: # attributes: notoc

[comment]: # (terms: net.tcp.service, net.tcp.service.perf, net.udp.service, net.udp.service.perf )

[comment]: # (tags: ping, icmpping, icmppingloss )

[comment]: # ({a6162aaf-be4ab03d})
# 2 Prosty check

[comment]: # ({/a6162aaf-be4ab03d})

[comment]: # ({d5cd9560-76023448})
#### 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]

::: noteclassic
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.
:::

[comment]: # ({/d5cd9560-76023448})

[comment]: # ({7e3bae99-f59a5ccc})
#### 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](/manual/vm_monitoring/vmware_keys).

|Klucz pozycji|Opis|
|--|--------|
|[icmpping](#icmpping)|Dostępność hosta za pomocą ping ICMP.|
|[icmppingloss](#icmppingloss)|Procent utraconych pakietów.|
|[icmppingretry](#icmppingretry)|Dostępność hosta za pomocą ping ICMP z ponowieniami.|
|[icmppingsec](#icmppingsec)|Czas odpowiedzi ping ICMP.|
|[net.tcp.service](#nettcpservice)|Sprawdza, czy usługa działa i akceptuje połączenia TCP.|
|[net.tcp.service.perf](#nettcpserviceperf)|Sprawdza wydajność usługi TCP.|
|[net.udp.service](#netudpservice)|Sprawdza, czy usługa działa i odpowiada na żądania UDP.|
|[net.udp.service.perf](#netudpserviceperf)|Sprawdza wydajność usługi UDP.|

[comment]: # ({/7e3bae99-f59a5ccc})

[comment]: # ({99bf7f73-23d7246f})
#### Szczegóły klucza pozycji

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

[comment]: # ({/99bf7f73-23d7246f})

[comment]: # ({d2931b53-7d8dff2e})
##### icmpping\[<target>,<packets>,<interval>,<size>,<timeout>,<options>\] {#icmpping}

<br>
Dostępność hosta za pomocą ping ICMP.<br>
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](#default-values).

Komentarz:

-   Jeśli zostanie zwrócony co najmniej jeden z pakietów zdefiniowanych przez parametr `packets`, pozycja zwraca `1`.
    Jeśli żaden z pakietów nie zostanie zwrócony, pozycja zwraca `0`.

Przykład:

    icmpping[,4] #Jeśli zostanie zwrócony co najmniej jeden z czterech pakietów, pozycja zwraca 1.

[comment]: # ({/d2931b53-7d8dff2e})

[comment]: # ({1976ee61-6cd0f1b1})
##### icmppingloss\[<target>,<packets>,<interval>,<size>,<timeout>,<options>\] {#icmppingloss}

<br>
Procent utraconych pakietów.<br>
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](#default-values).

[comment]: # ({/1976ee61-6cd0f1b1})

[comment]: # ({1f834525-a7b509ca})
##### icmppingretry\[<target>,<retries>,<backoff>,<size>,<timeout>,<options>\] {#icmppingretry}

<br>
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ć.<br>
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](#default-values).

[comment]: # ({/1f834525-a7b509ca})

[comment]: # ({5c6701a7-b5636838})
##### icmppingsec\[<target>,<packets>,<interval>,<size>,<timeout>,<mode>,<options>\] {#icmppingsec}

<br>
Czas odpowiedzi ping ICMP (w sekundach).<br>
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](#default-values).

[comment]: # ({/5c6701a7-b5636838})

[comment]: # ({878d3b27-b0a71170})
##### net.tcp.service[service,<ip>,<port>] {#nettcpservice}

<br>
Sprawdza, czy usługa działa i akceptuje połączenia TCP.<br>
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](/manual/appendix/items/service_check_details));
-   **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.

::: noteimportant
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``
:::

[comment]: # ({/878d3b27-b0a71170})

[comment]: # ({39da67f1-946385b4})
##### net.tcp.service.perf[service,<ip>,<port>] {#nettcpserviceperf}

<br>
Sprawdza wydajność usługi TCP.<br>
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](/manual/appendix/items/service_check_details));
-   **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.

[comment]: # ({/39da67f1-946385b4})

[comment]: # ({5cba2094-2859223a})
##### net.udp.service[service,<ip>,<port>] {#netudpservice}

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

Parametry:

-   **service** - możliwe wartości: *ntp* (zobacz [szczegóły](/manual/appendix/items/service_check_details));
-   **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.

[comment]: # ({/5cba2094-2859223a})

[comment]: # ({bae0ccf0-9cf5922c})
##### net.udp.service.perf[service,<ip>,<port>] {#netudpserviceperf}

<br>
Sprawdza wydajność usługi UDP.<br>
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](/manual/appendix/items/service_check_details));
-   **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.

[comment]: # ({/bae0ccf0-9cf5922c})

[comment]: # ({621c13d4-85612a2b})
::: noteimportant
Do obsługi SourceIP w prostych kontrolach LDAP (np. `net.tcp.service[ldap]`) wymagana jest wersja OpenLDAP 2.6.1 lub nowsza.
:::

[comment]: # ({/621c13d4-85612a2b})

[comment]: # ({a509dbd8-92a6c4ae})
#### 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](/manual/config/items/item#flexible-timeout-support).

[comment]: # ({/a509dbd8-92a6c4ae})

[comment]: # ({25a7290c-b08a4508})
#### Pingi ICMP

Zabbix używa zewnętrznego narzędzia **[fping](https://fping.org/)** do przetwarzania pingów ICMP (**icmpping**, **icmppingloss**, **icmppingretry**, **icmppingsec**).

[comment]: # ({/25a7290c-b08a4508})

[comment]: # ({d8eb34a5-e3dd9826})
##### 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](https://repo.zabbix.com/third-party/2024-10/) 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ł](https://github.com/schweikert/fping/blob/develop/README.md#installation).

[comment]: # ({/d8eb34a5-e3dd9826})

[comment]: # ({0300b22d-9ced6345})
##### Konfiguracja

Określ lokalizację fping w parametrze *[FpingLocation](/manual/concepts/server/server_params#fpinglocation)* pliku konfiguracyjnego serwer/proxy Zabbix
(lub parametr *[Fping6Location](/manual/concepts/server/server_params#fping6location)*, jeśli używasz adresów IPv6).

fping powinien być wykonywalny przez użytkownika, jako który działa serwer/proxy Zabbix, a użytkownik ten powinien mieć wystarczające uprawnienia.

Zobacz także: [Znane problemy](/manual/installation/known_issues#simple-checks) dotyczące przetwarzania prostych kontroli przy użyciu wersji fping poniżej 3.10.

[comment]: # ({/0300b22d-9ced6345})

[comment]: # ({36d94675-3c21487d})
##### Wartości domyślne

Domyślne wartości, limity i opis wartości dla parametrów sprawdzania ICMP:

|Parameter|Unit|Description|Fping's flag|Defaults set by|<|Allowed limits<br>by Zabbix|<|
|--|--|--------|-|--|--|--|--|
| | | | |**fping**|**Zabbix**|**min**|**max**|
|packets|number|Liczba pakietów żądań wysyłanych do celu|-C| |3|1|10000|
|interval|milliseconds|Czas oczekiwania między kolejnymi pakietami wysyłanymi do pojedynczego celu|-p|1000| |20|unlimited|
|size|bytes|Rozmiar pakietu w bajtach<br>56 bajtów na x86, 68 bajtów na x86_64|-b|56 or 68| |24|65507|
|timeout|milliseconds|**fping v3.x** - czas oczekiwania po wysłaniu ostatniego pakietu, zależny od flagi *-C*<br> **fping v4.x** - indywidualny limit czasu dla każdego pakietu|-t|**fping v3.x** - 500<br>**fping v4.x** i nowsze - dziedziczone z flagi *-p*, ale nie więcej niż 2000| |50|unlimited|
|retries|number|Liczba prób pingowania celu, nie licząc pierwszej próby|-r|3|1|0|unlimited|
|backoff factor|number|Współczynnik, przez który czas oczekiwania jest mnożony 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 pozycja *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 sprawdzeń z różnymi kombinacjami opcji.
Zabbix próbuje wykryć minimalną wartość w milisekundach, jaką fping dopuszcza dla *-i*, testując 3 wartości: 0, 1 i 10.
Wartość, która jako pierwsza zakończy się powodzeniem, jest następnie używana dla kolejnych sprawdzeń ICMP.
Proces ten jest wykonywany indywidualnie przez każdy proces [ICMP pinger](/manual/concepts/server#server-process-types-and-threads).

Automatycznie wykryte opcje fping są unieważniane co godzinę i wykrywane ponownie przy następnej próbie wykonania sprawdzenia ICMP.
Ustaw [DebugLevel](/manual/concepts/server/server_params#debuglevel)>=4, aby wyświetlić szczegóły tego procesu w pliku logu serwera lub proxy.

Zabbix zapisuje adresy IP do sprawdzenia przez dowolny z kluczy *icmpping\** do pliku tymczasowego, który następnie jest 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 do pojedynczego pliku będą sprawdzane przez fping równolegle,
więc proces ICMP pinger Zabbixa spędzi stałą ilość czasu, niezależnie od liczby adresów IP w pliku.

[comment]: # ({/36d94675-3c21487d})
