Sidebar

pl:manual:concepts:sender

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ściowymwynik w bazie danychkomunikat błędu na ekranie
failedfailed
“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:\nfailedstatus:\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ść).