4 Zabbix agent 2 (UNIX)

Przegląd

Zabbix agent 2 to agent nowej generacji, który może być używany zamiast Zabbix agent.

Ta sekcja zawiera listę obsługiwanych parametrów w pliku konfiguracyjnym agenta Zabbix 2 (zabbix_agent2.conf).

Należy zauważyć, że:

  • Domyślne wartości odzwierciedlają domyślne wartości procesu, a nie wartości w dostarczonych plikach konfiguracyjnych;
  • Zabbix obsługuje pliki konfiguracyjne tylko w kodowaniu UTF-8, bez BOM;
  • Komentarze rozpoczynające się od "#" są obsługiwane tylko na początku linii.

Parametry

Parametr Obowiązkowy Zakres Domyślny Opis
Alias nie Ustawia alias dla klucza pozycji. Może być używany do zastępowania długiego i złożonego klucza pozycji krótszym i prostszym.
Może być obecnych wiele parametrów Alias. Niedozwolone są wielokrotne parametry o tym samym kluczu Alias.
Różne klucze Alias mogą odnosić się do tego samego klucza pozycji.
Alias można używać w parametrze HostMetadataItem, ale nie w parametrach HostnameItem.

Przykłady:

1. Pobieranie identyfikatora użytkownika 'zabbix'.
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]
Teraz można użyć skrótu zabbix.userid do pobierania danych.

2. Pobieranie użycia procesora z domyślnymi i niestandardowymi parametrami.
Alias=cpu.util:system.cpu.util
Alias=cpu.util[*]:system.cpu.util[*]
To pozwala użyć klucza cpu.util do pobierania procentowego użycia procesora z domyślnymi parametrami, a także użyć cpu.util[all, idle, avg15] do uzyskania konkretnych danych dotyczących użycia procesora.

3. Wykonywanie wielu zasad wykrywania niskopoziomowego, przetwarzających te same pozycje wykrycia.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
Teraz możliwe jest skonfigurowanie kilku reguł wykrywania za pomocą vfs.fs.discovery z różnymi parametrami dla każdej reguły, np. vfs.fs.discovery[foo], vfs.fs.discovery[bar], itp.
AllowKey nie Zezwalaj na wykonanie tych kluczy pozycji, które pasują do wzorca. Wzorzec klucza to wyrażenie wildcard, które obsługuje znak "*", aby pasował do dowolnej liczby dowolnych znaków.
Można zdefiniować wiele reguł dopasowania kluczy w połączeniu z DenyKey. Parametry są przetwarzane jeden po drugim zgodnie z ich kolejnością pojawiania się.
Ten parametr jest obsługiwany od wersji Zabbix 5.0.0.
Zobacz także: Ograniczenia sprawdzania agenta.
BufferSend nie 1-3600 5 Interwał czasu w sekundach, który określa, jak często wartości są wysyłane z bufora do serwera Zabbix.
Zwróć uwagę, że jeśli bufor jest pełny, dane zostaną wysłane wcześniej.
BufferSize nie 2-65535 100 Maksymalna liczba wartości w buforze pamięci. Agent wyśle wszystkie zebrane dane do serwera Zabbix lub proxy, jeśli bufor jest pełny.
Ten parametr powinien być używany tylko wtedy, gdy bufor trwały jest wyłączony (EnablePersistentBuffer=0).
ControlSocket nie /tmp/agent.sock Gniazdo kontrolne, używane do wysyłania poleceń kontroli działania z opcją '-R'.
DebugLevel nie 0-5 3 Określa poziom debugowania:
0 - podstawowe informacje o uruchamianiu i zatrzymywaniu procesów Zabbix
1 - informacje krytyczne
2 - informacje o błędach
3 - ostrzeżenia
4 - do debugowania (wytwarza dużo informacji)
5 - rozszerzone debugowanie (wytwarza jeszcze więcej informacji)
DenyKey nie Zabrania wykonywania tych kluczy pozycji, które pasują do wzorca. Wzorzec klucza to wyrażenie wildcard, które obsługuje znak "*", aby pasował do dowolnej liczby dowolnych znaków.
Można zdefiniować wiele reguł dopasowania kluczy w połączeniu z AllowKey. Parametry są przetwarzane jeden po drugim zgodnie z ich kolejnością pojawiania się.
Ten parametr jest obsługiwany od wersji Zabbix 5.0.0.
Zobacz także: Ograniczenia sprawdzania agenta.
EnablePersistentBuffer nie 0-1 0 Włącza lokalny trwały bufor dla aktywnych pozycji.
0 - wyłączone
1 - włączone
Jeśli bufor trwały jest wyłączony, będzie używany bufor pamięci.
ForceActiveChecksOnStart nie 0-1 0 Wykonuje aktywne sprawdzanie natychmiast po restarcie dla pierwszej otrzymanej konfiguracji.
0 - wyłączone
1 - włączone
Dostępne również jako parametr konfiguracji pluginu, na przykład: Plugins.Uptime.System.ForceActiveChecksOnStart=1
Obsługiwane od wersji Zabbix 6.0.2.
HostInterface nie 0-255 znaków Parametr opcjonalny, który definiuje interfejs hosta.
Interfejs hosta jest używany w procesie autorejestracji hosta.
Agent zgłosi błąd i nie uruchomi się, jeśli wartość przekroczy limit 255 znaków.
Jeśli nie zdefiniowano, wartość zostanie pobrana z HostInterfaceItem.
Obsługiwane od wersji Zabbix 4.4.0.
HostInterfaceItem nie Parametr opcjonalny, który definiuje pozycję używaną do pobierania interfejsu hosta.
Interfejs hosta jest używany w procesie autorejestracji hosta.
Podczas żądania autorejestracji agent zapisze log poziomu ostrzeżenie, jeśli wartość zwrócona przez określoną pozycję przekroczy limit 255 znaków.
Pozycja system.run[] jest obsługiwana niezależnie od wartości AllowKey/DenyKey.
Ta opcja jest używana tylko w przypadku braku zdefiniowanego HostInterface.
Obsługiwane od wersji Zabbix 4.4.0.
HostMetadata nie 0-255 znaków Parametr opcjonalny, który definiuje metadane hosta. Metadane hosta są używane w procesie autorejestracji hosta.
Agent zgłosi błąd i nie uruchomi się, jeśli określona wartość przekroczy limit lub będzie nieprawidłowym łańcuchem UTF-8.
Jeśli nie zdefiniowano, wartość zostanie pobrana z HostMetadataItem.
HostMetadataItem nie Parametr opcjonalny, który definiuje pozycję używaną do pobierania metadanych hosta. Wartość pozycji metadanych hosta jest pobierana przy każdej próbie autorejestracji dla procesu autorejestracji hosta.
Podczas żądania autorejestracji agent zapisze log poziomu ostrzeżenie, jeśli wartość zwrócona przez określoną pozycję przekroczy limit 255 znaków.
Ta opcja jest używana tylko w przypadku braku zdefiniowanych HostMetadata.
Obsługuje Parametry Użytkownika i aliasy. Obsługuje system.run[] niezależnie od wartości AllowKey/DenyKey.
Zwracana przez pozycję wartość musi być łańcuchem UTF-8, w przeciwnym razie zostanie zignorowana.
Hostname nie Ustawiane przez HostnameItem Lista unikalnych, rozróżniających wielkość liter nazw hostów oddzielonych przecinkami.
Wymagane dla aktywnych sprawdzeń i musi odpowiadać nazwom hostów skonfigurowanym na serwerze. Wartość jest pobierana z HostnameItem, jeśli niezdefiniowana.
Dozwolone znaki: alfanumeryczne, '.', ' ', '_' i '-'.
Maksymalna długość: 128 znaków na nazwę hosta, 2048 znaków dla całej linii.
HostnameItem nie system.hostname Pozycja używana do generowania Hostname, jeśli nie jest zdefiniowany. Ignorowany, jeśli zdefiniowany jest Hostname.
Nie obsługuje Parametrów Użytkownika ani aliasów, ale obsługuje system.run[] niezależnie od wartości AllowKey/DenyKey.
Include nie Możesz dołączyć pojedyncze pliki lub wszystkie pliki z katalogu do pliku konfiguracyjnego.
Podczas instalacji Zabbix utworzy katalog include w /usr/local/etc, chyba że zostanie zmodyfikowany podczas kompilacji.
Aby dołączyć tylko istotne pliki z określonego katalogu, obsługiwany jest znak gwiazdki typu wildcard do dopasowania wzorca. Na przykład: /ścieżka/absolutna/do/plików/konfiguracyjnych/*.conf.
Od wersji Zabbix 6.0.0 ścieżka może być względna w stosunku do lokalizacji pliku zabbix_agent2.conf.
Zobacz specjalne uwagi dotyczące ograniczeń.
ListenIP nie 0.0.0.0 Lista adresów IP oddzielonych przecinkami, na których agent powinien nasłuchiwać.
Pierwszy adres IP jest przesyłany do serwera Zabbix, jeśli się z nim łączy, aby pobrać listę aktywnych sprawdzeń.
ListenPort nie 1024-32767 10050 Agent będzie nasłuchiwał na tym porcie na połączenia z serwera.
LogFile tak, jeśli LogType jest ustawione na file, w przeciwnym razie
nie
/tmp/zabbix_agent2.log Nazwa pliku logu, jeśli LogType to 'file'.
LogFileSize nie 0-1024 1 Maksymalny rozmiar pliku logu w MB.
0 - wyłącza automatyczną rotację logu.
Uwaga: Jeśli limit rozmiaru pliku logu zostanie osiągnięty, a rotacja pliku nie powiedzie się, z jakiegokolwiek powodu, istniejący plik logu zostanie ucięty i rozpocznie się na nowo.
LogType nie file Określa, gdzie zapisywane są komunikaty logu:
system - syslog,
file - plik określony parametrem LogFile,
console - standardowe wyjście.
PersistentBufferFile nie Plik, w którym Zabbix Agent2 powinien przechowywać bazę danych SQLite.
Musi być pełną nazwą pliku.
Ten parametr jest używany tylko wtedy, gdy bufor trwały jest włączony (EnablePersistentBuffer=1).
PersistentBufferPeriod nie 1m-365d 1h Okres czasu, przez który dane powinny być przechowywane, gdy nie ma połączenia z serwerem lub proxy. Starsze dane zostaną utracone. Dane logu zostaną zachowane.
Ten parametr jest używany tylko wtedy, gdy bufor trwały jest włączony (EnablePersistentBuffer=1).
PidFile nie /tmp/zabbix_agent2.pid Nazwa pliku PID.
Plugin nie Od wersji Zabbix 6.0.0 większość pluginów ma swoje własne pliki konfiguracyjne. Plik konfiguracyjny agenta zawiera poniżej wymienione parametry pluginu.
Plugins.Log.MaxLinesPerSecond nie 1-1000 20 Maksymalna liczba nowych linii, które agent będzie wysyłać na sekundę do serwera Zabbix lub proxy podczas przetwarzania aktywnych sprawdzeń 'log' i 'eventlog'.
Podana wartość zostanie zastąpiona przez parametr 'maxlines',
podany w kluczu pozycji 'log' lub 'eventlog'.
Uwaga: Zabbix przetworzy 10 razy więcej nowych linii niż ustawiono w MaxLinesPerSecond w celu wyszukania wymaganego ciągu w pozycjach logu.
Ten parametr jest obsługiwany od wersji 4.4.2 i zastępuje MaxLinesPerSecond.
Plugins.SystemRun.LogRemoteCommands nie 0 Włącza rejestrowanie wykonywanych poleceń powłoki jako log poziomu ostrzeżenie.
0 - wyłączone
1 - włączone
Polecenia będą rejestrowane tylko w przypadku ich zdalnego wykonania. Wpisy logu nie będą tworzone, jeśli system.run[] zostanie uruchomiony lokalnie przez parametry HostMetadataItem, HostInterfaceItem lub HostnameItem.
Ten parametr jest obsługiwany od wersji 4.4.2 i zastępuje LogRemoteCommands.
PluginSocket nie /tmp/agent.plugin.sock Ścieżka do gniazda Unix do komunikacji z pluginami ładowanymi dynamicznie.
PluginTimeout nie 1-30 Globalny limit czasu Limit czasu dla połączeń z pluginami ładowanymi dynamicznie.
RefreshActiveChecks nie 60-3600 120 Jak często lista aktywnych sprawdzeń jest odświeżana, w sekundach.
Uwaga: Po nieudanym odświeżeniu aktywnych sprawdzeń następne odświeżenie zostanie podjęte po 60 sekundach.
Server tak Lista adresów IP oddzielonych przecinkami, opcjonalnie w notacji CIDR, lub nazw DNS serwerów Zabbix i proxy Zabbix.
Połączenia przychodzące będą akceptowane tylko od wymienionych tutaj hostów.
Jeśli obsługa IPv6 jest włączona, to '127.0.0.1', '::ffff:127.0.0.1' są traktowane równoważnie, a '::/0' umożliwia dowolny adres IPv4 lub IPv6.
'0.0.0.0/0' może być używane do zezwolenia na dowolny adres IPv4.
Przykład: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Spacje są dozwolone.
ServerActive nie Adres serwera/proxy Zabbix lub konfiguracja klastra do pobierania aktywnych sprawdzeń.
Adres serwera/proxy to adres IP lub nazwa DNS i opcjonalny port oddzielone dwukropkiem.
Konfiguracja klastra to jeden lub więcej adresów serwera oddzielonych średnikiem.
Można podać wiele serwerów Zabbix/klastrów i proxy Zabbix, oddzielając je przecinkiem.
Należy unikać podawania więcej niż jednego proxy Zabbix z każdego serwera/klastra Zabbix.
Jeśli podano proxy Zabbix, to serwer/klaster Zabbix dla tego proxy nie powinien być podany.
Można podać wiele adresów oddzielonych przecinkiem, aby użyć kilku niezależnych serwerów Zabbix równolegle. Spacje są dozwolone.
Jeśli port nie jest określony, używany jest port domyślny.
Adresy IPv6 muszą być umieszczone w nawiasach kwadratowych, jeśli określono port dla tego hosta.
Jeśli port nie jest określony, nawiasy kwadratowe dla adresów IPv6 są opcjonalne.
Jeśli ten parametr nie jest określony, aktywne sprawdzenia są wyłączone.
Przykład dla proxy Zabbix:
ServerActive=127.0.0.1:10051
Przykład dla wielu serwerów:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
Przykład dla wysokiej dostępności:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3
Przykład dla wysokiej dostępności z dwoma klastrami i jednym serwerem:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP nie Adres IP źródłowy dla:
- wychodzących połączeń do serwera Zabbix lub proxy Zabbix;
- nawiązywania połączeń podczas wykonywania niektórych pozycji (web.page.get, net.tcp.port, itp.)
StatusPort nie 1024-32767 Jeśli ustawiono, agent będzie nasłuchiwał na tym porcie żądania stanu HTTP (http://localhost:<port>/status).
Timeout nie 1-30 3 Nie spędzaj więcej niż Timeout sekund na przetwarzaniu.
TLSAccept tak, jeśli parametry certyfikatu TLS lub PSK są zdefiniowane (nawet dla niezaszyfrowanego połączenia), w przeciwnym razie nie Jakie przyjmować przychodzące połączenia. Używane dla sprawdzeń pasywnych. Można podać wiele wartości, oddzielonych przecinkami:
unencrypted - akceptuj połączenia bez szyfrowania (domyślnie)
psk - akceptuj połączenia z TLS i kluczem współdzielonym (PSK)
cert - akceptuj połączenia z TLS i certyfikatem
TLSCAFile nie Pełna ścieżka do pliku zawierającego certyfikaty najwyższego poziomu CA do weryfikacji certyfikatu pary, używane do zaszyfrowanej komunikacji między komponentami Zabbix.
TLSCertFile nie Pełna ścieżka do pliku zawierającego certyfikat agenta lub łańcuch certyfikatów, używany do zaszyfrowanej komunikacji z komponentami Zabbix.
TLSConnect tak, jeśli parametry certyfikatu TLS lub PSK są zdefiniowane (nawet dla niezaszyfrowanego połączenia), w przeciwnym razie nie Jak agent powinien łączyć się z serwerem Zabbix lub proxy. Używane dla sprawdzeń aktywnych. Można podać tylko jedną wartość:
unencrypted - łącz się bez szyfrowania (domyślnie)
psk - łącz się za pomocą TLS i klucza współdzielonego (PSK)
cert - łącz się za pomocą TLS i certyfikatu
TLSCRLFile nie Pełna ścieżka do pliku zawierającego odwołane certyfikaty. Ten parametr jest używany do zaszyfrowanej komunikacji z komponentami Zabbix.
TLSKeyFile nie Pełna ścieżka do pliku zawierającego prywatny klucz agenta używany do zaszyfrowanej komunikacji z komponentami Zabbix.
TLSPSKFile nie Pełna ścieżka do pliku zawierającego klucz współdzielony agenta używany do zaszyfrowanej komunikacji z komponentami Zabbix.
TLSPSKIdentity nie Ciąg identyfikujący klucz współdzielony, używany do zaszyfrowanej komunikacji z serwerem Zabbix.
TLSServerCertIssuer nie Dozwolony wydawca certyfikatu serwera (proxy).
TLSServerCertSubject nie Dozwolony podmiot certyfikatu serwera (proxy).
UnsafeUserParameters nie 0,1 0 Zezwalaj na przekazywanie wszystkich znaków w argumentach do zdefiniowanych przez parametry użytkownika.
Następujące znaki są niedozwolone:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Dodatkowo niedozwolone są znaki nowej linii.
UserParameter nie Parametr zdefiniowany przez użytkownika do monitorowania. Może być kilka takich parametrów zdefiniowanych przez użytkownika.
Format: UserParameter=<klucz>,<polecenie powłoki>
Uwaga: polecenie powłoki nie może zwracać pustego ciągu ani tylko znak końca linii(EOL).
Polecenia powłoki mogą mieć względne ścieżki, jeśli określono parametr UserParameterDir.
Przykłady:
UserParameter=system.test,who|wc -l
UserParameter=check_cpu,./custom_script.sh
UserParameterDir nie Domyślna ścieżka wyszukiwania poleceń UserParameter. Jeśli używane, agent zmieni swoją bieżącą lokalizację na tę określoną przed wykonaniem polecenia. Dzięki temu polecenia UserParameter mogą mieć względny prefiks ./ zamiast pełnej ścieżki.
Dozwolony jest tylko jeden wpis.
Przykład: UserParameterDir=/opt/myscripts