3 Agent 2
Przegląd
Zabbix agent 2 to nowa generacja Zabbix agent, napisana w Go (z wykorzystaniem części kodu w 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.
Wszystkie metryki w Zabbix agent 2 są zbierane przez wtyczki.
Te funkcje są specyficzne dla wtyczek:
- Zaplanowane i elastyczne interwały zarówno dla kontroli pasywnych, jak i aktywnych
- Zarządzanie kolejką zadań z uwzględnieniem harmonogramu i współbieżności zadań
- Limity czasu na poziomie wtyczki
- Sprawdzanie zgodności Zabbix agent 2 i jego wtyczek podczas uruchamiania
Istnieją dwa typy wtyczek:
Możesz także tworzyć własne wtyczki.
Wtyczki utworzone samodzielnie nie muszą być wbudowane w agent 2. Można je dodać jako ładowalne wtyczki, upraszczając w ten sposób tworzenie wtyczek dla nowych metryk.
Ładowalne wtyczki można dodawać w czasie działania bez ponownej kompilacji Zabbix agent 2.
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 Budowanie 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źć na stronie Ł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 Zabbix agent 2 w większości odpowiadają parametrom Zabbix agent, z kilkoma wyjątkami:
| Parametry | Opis | |
|---|---|---|
| Parametry konfiguracyjne specyficzne dla Zabbix agent 2 | ||
| ControlSocket | Ścieżka do gniazda sterowania w czasie działania. Zabbix agent 2 używa gniazda sterowania do poleceń wykonywanych w czasie działania. | |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Parametry te służą do konfiguracji trwałego magazynu w Zabbix agent 2 dla aktywnych pozycji. | |
| ForceActiveChecksOnStart | Określa, czy agent powinien wykonywać aktywne sprawdzenia 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 sprawdzeń, które mogą być wykonywane jednocześnie. |
|
| StatusPort | Port, na którym Zabbix agent 2 będzie nasłuchiwał żądań statusu HTTP oraz wyświetlał listę skonfigurowanych wtyczek i niektórych parametrów wewnętrznych. | |
| Parametry konfiguracyjne specyficzne dla Zabbix agent, nieobsługiwane przez Zabbix agent 2 | ||
| AllowRoot, User |
Nieobsługiwane w Zabbix agent 2, ponieważ nie obsługuje on demonizacji. | |
| EnableRemoteCommands | Przestarzałe; zamiast tego w obu agentach używane są parametry AllowKey i DenyKey. |
|
| ListenBacklog | Używany w Zabbix agent do definiowania maksymalnej liczby oczekujących połączeń w kolejce TCP. Nieobsługiwany w Zabbix agent 2. | |
| LoadModule, LoadModulePath |
Moduły ładowalne nie są obsługiwane w Zabbix agent 2. | |
| MaxLinesPerSecond, LogRemoteCommands |
W Zabbix agent 2 zamiast nich używane są Plugins.Log.MaxLinesPerSecond oraz Plugins.SystemRun.LogRemoteCommands. |
|
| StartAgents | Ten parametr jest używany w Zabbix agent do zwiększenia współbieżności sprawdzeń pasywnych lub ich wyłączenia. W Zabbix agent 2 współbieżność jest konfigurowana na poziomie wtyczki i może być ograniczona ustawieniem pojemności. Sprawdzenia pasywne są wyłączone w Zabbix Agent 2, jeśli parametr Server nie jest określony. |
|
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.