Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

6 Sender (Wysyłanie)

Przegląd

Zabbix sender jest narzędziem linii poleceń, które można użyć do wysyłania danych o wydajności, do przetworzenia w serwerze Zabbix.

Narzędzie to jest zwykle używane w długo działających skryptach użytkownika, do okresowego wysyłania danych dostępności i wydajności.

Wysyłanie jednej wartości

Przykład wysyłania jednej wartości do serwera Zabbix z użyciem Zabbix sender:

shell> zabbix_sender -z zabbix -s "Linux DB3" -k db.connections -o 43

gdzie:

  • z - host serwera Zabbix (można również użyć adresu IP)
  • s - techniczna nazwa monitorowanego hosta (zarejestrowana w interfejsie użytkownika Zabbix)
  • k - klucz pozycji
  • o - wartość do wysłania

Jeżeli obiekty mają spacje, to należy je otoczyć podwójnymi cudzysłowami.

Proces przechwytywania Zabbix nie rozwinie makr uzytych w kluczach pozycji podczas sprawdzania istnienia kluczy pozycji dla docelowego hosta.

Więcej informacji można zobaczyć w podręczniku man Zabbix sender.

Na Windows Zabbix sender uruchamia się podobnie:

zabbix_sender.exe [opcje]

Od wersji Zabbix 1.8.4, poprawiono scenariusze wysyłania zabbix_sender tak, by przekazane do niego w podobnym czasie wartości wysyłać do serwera w trakcie jednego połączenia. Wartość, która jest oddalona od poprzedniej nie więcej niż o 0.2 sekundy może być umieszczona w tym samym zbiorze, jednakże maksymalny okres kolejkowania wynosi nadal 1 sekundę.

Wysyłanie wielu wartości

Możliwe jest określenie pliku wejściowego zawierającego wartości do wysłania do serwera Zabbix. Prawidłowy format pliku można zobaczyć w opcji --input-file w podręczniku man Zabbix sender.

Wartości bez znaczników czasu

Jeżeli nie ma potrzeby określania znaczników czasu dla każdej wartości, to zawartość pliku wejściowego może wyglądać tak:

"Linux DB1" db.ping 1
       "Linux DB3" db.ping 0
       "Zabbix server" db.status 0
       "Zabbix server" db.error "Linux DB3 down"
Wartości ze znacznikami czasu

Możliwe jest określenie znaczników czasu dla każdej wartości do wysłania. W tym przypadku należy użyć opcji --with-timestamps. Poniżej przykładowa zawartość pliku wejściowego ze znacznikami czasu:

"Linux DB1" db.ping 1429533600 1
       "Linux DB3" db.ping 1429533602 0
       "Zabbix server" db.status 1429533603 0
       "Zabbix server" db.error 1429533603 "Linux DB3 down"

Jeżeli docelowa pozycja jest powiązana z wyzwalaczami, wszystkie znaczniki czasu w pliku wejściowym muszą być posortowane rosnąco, w przeciwnym razie obliczenia zdarzeń mogą być niewłaściwe.

Znaczniki określone w pliku wejściowym zostaną skorygowane z uwzględnieniem czasu serwera. Na przykład, jeżeli określono znacznik "10:30:50", bieżący czas na maszynie wysyłającej to "10:40:03", a bieżący czas na serwerze Zabbix to "10:40:05", wtedy wartości pozycji zostaną zapisane w bazie danych ze znacznikiem czasu "10:30:52".

Podobnie, jeżeli wartość najpierw zostanie wysłana do proxy Zabbix, a następnie do serwera Zabbix, znacznik czasu najpierw zostanie dopasowany do czasu proxy Zabbix, a następnie do czasu serwera Zabbix.

Cudzysłowy w pliku wejściowym

Podręcznik man Zabbix sender w sekcji --input-file zawiera reguły dotyczące poprawnego formatowania wpisów w pliku wejściowym. Poniżej przykłady zapisanych w bazie danych wartości dla różnych metod zapisu cudzysłowów:

wartość w pliku wejściowym wynik w bazie danych komunikat błędu na ekranie
failed failed
"status: failed" status: failed
"status: \"failed\"" status: "failed"
"C:\\" C:
C:
C:
"C:\" Warning: [line 1] 'Key value' required
"C:\My Documents" C:\My Documents
status:\nfailed status:\nfailed
"status:\tfailed" status:\tfailed
"status:\nfailed" status:
failed
"status:\nfailed\n" status:
failed
"\nstatus:\nfailed"
status:
failed
"\n\n"
Przykład komunikatów wyjściowych

Poniżej przykład dla wysyłania 300 wartości z pliku wejściowego:

# zabbix_sender -z 127.0.0.1 -i /tmp/trapper.txt 
       Info from server: "Processed 250 Failed 0 Total 250 Seconds spent 0.002668"
       Info from server: "Processed 50 Failed 0 Total 50 Seconds spent 0.000540"
       sent: 300; skipped: 0; total: 300

Zabbix sender skończy pracę jeżeli w określonym pliku konfiguracyjnym obecny jest nieprawidłowy parametr (niezgodny ze składnią parametr=wartość).