3 Agent 2
Przegląd
Zabbix agent 2 to nowa generacja Zabbix agent, napisana w Go (z wykorzystaniem części kodu C ponownie użytego z Zabbix agent). Został zaprojektowany, aby:
- Zmniejszyć liczbę połączeń TCP.
- Zapewnić lepszą współbieżność kontroli.
- Umożliwić łatwe rozszerzanie za pomocą wtyczek, które zapewniają proste kontrole przy minimalnej ilości kodu oraz obsługują złożone kontrole składające się z długotrwale działających skryptów i niezależnego zbierania danych z okresowym raportowaniem.
- Działać jako zamiennik Zabbix agent, obsługując wszystkie wcześniejsze funkcje.
Kontrole pasywne i aktywne
Zabbix agent 2 obsługuje kontrole pasywne i aktywne, podobnie jak Zabbix agent. Dodatkowo, kontrole aktywne Zabbix agent 2 obsługują elastyczne interwały/harmonogramy oraz współbieżność kontroli w ramach jednego aktywnego serwera.
Domyślnie po restarcie Zabbix agent 2 zaplanuje pierwsze pobranie danych dla kontroli aktywnych na warunkowo losowy moment
w ramach interwału aktualizacji pozycji, aby zapobiec skokom wykorzystania zasobów. Aby wykonywać kontrole aktywne, które nie mają
interwału aktualizacji Scheduling update interval bezpośrednio po restarcie agenta,
ustaw parametr ForceActiveChecksOnStart (na poziomie globalnym) lub Plugins.<Plugin name>.System.ForceActiveChecksOnStart (wpływa tylko na kontrole określonej wtyczki)
w pliku konfiguracyjnym. Parametr na poziomie wtyczki, jeśli jest ustawiony, zastąpi parametr globalny.
Współbieżność sprawdzeń
Sprawdzenia z różnych wtyczek mogą być wykonywane współbieżnie. Liczba
współbieżnych sprawdzeń w ramach jednej wtyczki jest ograniczona przez
ustawienie pojemności wtyczki. Każda wtyczka może mieć zakodowane na stałe
ustawienie pojemności (domyślnie 1000), które można obniżyć za pomocą
ustawienia Plugins.<PluginName>.System.Capacity=N w konfiguracyjnym parametrze Plugins.
Obsługiwane platformy
Informacje o obsługiwanych platformach można znaleźć na stronie Wymagania.
Agent 2 w systemach uniksopodobnych
Zabbix agent 2 w systemach uniksopodobnych jest uruchamiany na monitorowanym hoście.
Instalacja
Zabbix agent 2 można zainstalować w systemach opartych na Linuksie, korzystając z jednej z następujących metod:
- Pakiety Zabbix — wybierz komponent Agent 2 (po wybraniu wersji Zabbix, dystrybucji systemu operacyjnego i wersji systemu operacyjnego) i postępuj zgodnie z instrukcjami.
- Źródła Zabbix — pobierz pliki źródłowe i skompiluj agent, konfigurując go z opcją
--enable-agent2.
Możliwości monitorowania Zabbix agent 2 można rozszerzyć za pomocą ładowalnych wtyczek, które są dostępne oddzielnie. Szczegółowe informacje można znaleźć w sekcji Ładowalne wtyczki.
Jeśli zainstalowano jako pakiet
Zabbix agent 2 działa jako proces pierwszoplanowy i polega na zewnętrznym menedżerze usług (np. systemd) w zakresie uruchamiania w tle; Zabbix agent 2 nie ma wbudowanej obsługi demonizacji w systemie Linux.
Agent można uruchomić, wykonując:
systemctl start zabbix-agent2
Aby zatrzymać, uruchomić ponownie lub sprawdzić stan Zabbix agent 2, użyj następujących poleceń:
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
Uruchamianie ręczne
Możesz uruchomić agent Zabbix, lokalizując plik binarny zabbix_agent2 i uruchamiając go bezpośrednio; na przykład:
zabbix_agent2
Agent 2 w systemach Windows
Zabbix agent 2 działa jako samodzielny proces; może jednak również działać jako usługa systemu Windows.
Instalacja
Zabbix agent 2 można zainstalować w systemie Windows, korzystając z jednej z następujących metod:
- Wstępnie skompilowane pliki binarne Zabbix agent - pobierz pakiet instalatora MSI agenta i postępuj zgodnie z instrukcjami na stronie Instalacja agenta Windows z pakietu MSI.
- Źródła Zabbix - pobierz pliki źródłowe i postępuj zgodnie z instrukcjami na stronie Kompilowanie Zabbix agent 2 w systemie Windows.
Możliwości monitorowania Zabbix agent 2 można rozszerzyć za pomocą ładowalnych wtyczek, które są dostępne oddzielnie. Szczegółowe informacje można znaleźć w sekcji Ładowalne wtyczki.
Dodatkowe informacje na temat instalacji Zabbix agent 2 (z archiwum ZIP) jako usługi systemu Windows można znaleźć na stronie Zabbix agent w systemie Microsoft Windows.
Opcje
Następujące parametry wiersza poleceń mogą być używane z Zabbix agent 2:
| Parameter | Description |
|---|---|
| UNIX and Windows agent | |
| -c --config <config-file> | Ścieżka do pliku konfiguracyjnego. Możesz użyć tej opcji, aby wskazać plik konfiguracyjny inny niż domyślny. W systemach UNIX domyślną wartością jest /usr/local/etc/zabbix_agent2.conf lub wartość ustawiona przez zmienne compile-time --sysconfdir lub --prefix W systemie Windows domyślną wartością jest C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf |
| -f --foreground | Uruchom Zabbix agent na pierwszym planie (domyślnie: true). |
| -p --print | Wyświetl znane pozycje i zakończ. Uwaga: Aby zwracać również wyniki parametrów użytkownika, musisz określić plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji). |
| -t --test <item key> | Przetestuj określoną pozycję i zakończ. Uwaga: Aby zwracać również wyniki parametrów użytkownika, musisz określić plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji). |
| -T --test-config | Zweryfikuj plik konfiguracyjny i zakończ. |
| -h --help | Wyświetl informacje pomocy i zakończ. |
| -v --verbose | Wyświetl informacje debugowania. Używaj tej opcji z opcjami -p i -t. |
| -V --version | Wyświetl wersję agent oraz informacje o licencji. |
| -R --runtime-control <option> | Wykonaj funkcje administracyjne. Zobacz runtime control. |
| Windows agent only | |
| -m --multiple-agents | Używaj wielu instancji agent (z opcjami -i, -d, -s, -x). Aby rozróżnić nazwy usług instancji, każda nazwa usługi będzie zawierać wartość Hostname z określonego pliku konfiguracyjnego. |
| -S --startup-type <value> | Ustaw typ uruchamiania usługi Zabbix Windows agent. Dozwolone wartości:automatic - (domyślnie) uruchom usługę automatycznie podczas startu systemu Windows;delayed - opóźnij uruchomienie usługi do momentu zakończenia uruchamiania usług startowanych automatycznie;manual - uruchom usługę ręcznie (przez użytkownika lub aplikację);disabled - wyłącz usługę, aby nie mogła zostać uruchomiona przez użytkownika lub aplikację.Możesz użyć tej opcji razem z opcją -i lub osobno, aby zmodyfikować typ uruchamiania już zainstalowanej usługi. |
| -i --install | Zainstaluj Zabbix Windows agent jako usługę. |
| -d --uninstall | Odinstaluj usługę Zabbix Windows agent. |
| -s --start | Uruchom usługę Zabbix Windows agent. |
| -x --stop | Zatrzymaj usługę Zabbix Windows agent. |
Konkretne przykłady użycia parametrów wiersza poleceń:
- wyświetlenie wszystkich wbudowanych pozycji agent wraz z wartościami
- przetestowanie parametru użytkownika z kluczem "mysql.ping" zdefiniowanym w określonym pliku konfiguracyjnym
- instalacja usługi "Zabbix Agent" dla systemu Windows przy użyciu domyślnej ścieżki do pliku konfiguracyjnego C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
- modyfikacja typu uruchamiania zainstalowanej usługi "Zabbix Agent" dla systemu Windows przy użyciu pliku konfiguracyjnego zabbix_agent2.conf znajdującego się w tym samym folderze co plik wykonywalny agent
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Kontrola w czasie działania
Kontrola w czasie działania udostępnia kilka opcji zdalnego sterowania.
| Opcja | Opis |
|---|---|
| log_level_increase | Zwiększ poziom logowania. |
| log_level_decrease | Zmniejsz poziom logowania. |
| metrics | Wyświetl listę dostępnych metryk. |
| version | Wyświetl wersję agenta. |
| userparameter_reload | Przeładuj wartości opcji UserParameter i Include z bieżącego pliku konfiguracyjnego. |
| help | Wyświetl informacje pomocy dotyczące kontroli w czasie działania. |
Przykłady:
- zwiększenie poziomu logowania dla agenta 2
- wyświetlenie opcji kontroli w czasie działania
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
Plik konfiguracyjny
Parametry konfiguracyjne agent 2 są w większości zgodne z Zabbix agent, z kilkoma wyjątkami.
| Nowe parametry | Opis |
|---|---|
| ControlSocket | Ścieżka do gniazda sterowania w czasie działania. Agent 2 używa gniazda sterowania do poleceń wykonywanych w czasie działania. |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Te parametry są używane do konfiguracji trwałej pamięci na agent 2 dla aktywnych pozycji. |
| ForceActiveChecksOnStart | Określa, czy agent powinien wykonywać aktywne testy natychmiast po restarcie, czy rozłożyć je równomiernie w czasie. |
| Plugins | Wtyczki mogą mieć własne parametry w formacie Plugins.<Plugin name>.<Parameter>=<value>. Wspólnym parametrem wtyczek jest System.Capacity, ustawiający limit testów, które mogą być wykonywane jednocześnie. |
| StatusPort | Port, na którym agent 2 będzie nasłuchiwał żądań statusu HTTP oraz wyświetlał listę skonfigurowanych wtyczek i niektóre parametry wewnętrzne |
| Usunięte parametry | Opis |
| AllowRoot, User | Nieobsługiwane, ponieważ daemonizacja nie jest obsługiwana. |
| LoadModule, LoadModulePath | Ładowalne moduły nie są obsługiwane. |
| StartAgents | Ten parametr był używany w Zabbix agent do zwiększenia współbieżności testów pasywnych lub ich wyłączenia. W Agent 2 współbieżność jest konfigurowana na poziomie wtyczki i może być ograniczona ustawieniem pojemności. |
Aby uzyskać więcej informacji, zobacz opcje pliku konfiguracyjnego dla zabbix_agent2.
Kody wyjścia
Zabbix agent 2 może być również skompilowany ze starszymi wersjami OpenSSL (1.0.1, 1.0.2).
W takim przypadku Zabbix udostępnia muteksy do blokowania w OpenSSL. Jeśli zablokowanie lub odblokowanie muteksu zakończy się niepowodzeniem, w standardowym strumieniu błędów (STDERR) zostanie wyświetlony komunikat o błędzie, a Agent 2 zakończy działanie z kodem wyjścia odpowiednio 2 lub 3.