This is a translation of the original English documentation page. Help us make it better.

#3 2. ügynök

Overview

Zabbix agent 2 is a new generation of Zabbix agent and may be used in place of Zabbix agent. Zabbix agent 2 has been developed to:

  • reduce the number of TCP connections
  • provide improved concurrency of checks
  • be easily extendible with plugins. A plugin should be able to:
    • provide trivial checks consisting of only a few simple lines of code
    • provide complex checks consisting of long-running scripts and standalone data gathering with periodic sending back of the data
  • be a drop-in replacement for Zabbix agent (in that it supports all the previous functionality)

Agent 2 is written in Go programming language (with some C code of Zabbix agent reused). A configured Go environment with a currently supported Go version is required for building Zabbix agent 2.

Agent 2 does not have built-in daemonization support on Linux; it can be run as a Windows service.

Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.

By default, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item's update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart parameter (global-level) or Plugins.<Plugin name>.System.ForceActiveChecksOnStart (affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.

Check concurrency

Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N setting in the Plugins configuration parameter. Former name of this parameter Plugins.<PluginName>.Capacity is still supported, but has been deprecated in Zabbix 6.0.

See also: Plugin development guidelines.

Passive and active checks

Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.

By default, after a restart, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item's update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart parameter (global-level) or Plugins.<Plugin name>.System.ForceActiveChecksOnStart (affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.

Check concurrency

Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N setting in the Plugins configuration parameter. Former name of this parameter Plugins.<PluginName>.Capacity is still supported, but has been deprecated in Zabbix 6.0.

Támogatott platformok

Az Agent 2 Linux és Windows platformokon támogatott.

Csomagokból történő telepítés esetén az Agent 2 támogatott:

  • RHEL 6, 7, 8
  • SLES 15 SP1+
  • Debian 9, 10
  • Ubuntu 18.04, 20.04

Windows rendszeren az ügynök 2 minden asztali és szerververzión támogatott, amelyre egy naprakész [támogatott Go verzió] (https://go.dev/doc/devel/release#policy) telepíthető.

Telepítés

A Zabbix agent 2 előre összeállított Zabbix csomagokban érhető el. Összeállít A forrásokból származó Zabbix agent 2 esetében meg kell adnia az "--enable-agent2" értéket konfigurálási lehetőség.

Lehetőségek

A következő parancssori paraméterek használhatók a Zabbix ügynök 2-vel:

Paraméter Leírás
-c --config <config-file> A konfigurációs fájl elérési útja.
Ezzel a beállítással megadhat olyan konfigurációs fájlt, amely nem az alapértelmezett.
UNIX rendszeren az alapértelmezett /usr/local /etc/zabbix_agent2.conf vagy a compile-time --sysconfdir vagy --prefix
-f --foreground Futtassa a Zabbix ügynököt az előtérben (alapértelmezett: true).
-p --print Nyomtassa ki az ismert elemeket, és lépjen ki.
Megjegyzés: A felhasználói paraméter eredmények visszaadásához meg kell adni a konfigurációs fájlt (ha az nem az alapértelmezett helyen).
-t --test <item key> Tesztelje meg a megadott elemet és lépjen ki.
Megjegyzés: A felhasználói paraméter eredmények visszaadásához meg kell adnia a konfigurációs fájlt (ha nem az alapértelmezett helyen van).
-h --help Súgóinformációk nyomtatása és kilépés.
-v --verbose Hibakeresési információk nyomtatása. Használja ezt a beállítást a -p és -t paraméterekkel.
-V --version Nyomtatóügynök verziója és licencinformációi.
-R --runtime-control <opció> Adminisztrációs funkciók végrehajtása. Lásd: runtime control.

Konkrét példák a parancssori paraméterek használatára:

  • kinyomtatja az összes beépített ügynök elemet értékekkel
  • tesztelj egy felhasználói paramétert a megadott "mysql.ping" kulccsal konfigurációs fájl
shell> zabbix_agent2 --print
       shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Futásidejű vezérlés

A futásidejű vezérlés néhány lehetőséget biztosít a távvezérléshez.

Lehetőség Leírás
log_level_increase Növelje a naplószintet.
log_level_decrease Csökkentse a naplószintet.
metrics Az elérhető mérőszámok listázása.
verzió Megjelenítési ügynök verziója.
userparameter_reload Töltse be újra a felhasználói paramétereket az aktuális konfigurációs fájlból.
Ne feledje, hogy a UserParameter az egyetlen ügynök konfigurációs beállítás, amely újratöltődik.
help Súgó információ megjelenítése a futásidejű vezérlésről.

Példák:

  • naplózási szint növelése a 2. ügynök számára
  • nyomtatási futási vezérlési lehetőségek
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R help

Konfigurációs fájl

A 2. ügynök konfigurációs paraméterei többnyire kompatibilisek Zabbix ügynök néhány kivétellel.

Új paraméterek Leírás
ControlSocket A futásidejű vezérlési socket elérési útja. A 2. ügynök vezérlőfoglalatot használ a futásidejű parancsokhoz.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Ezek a paraméterek az aktív elemek állandó tárolásának konfigurálására szolgálnak a 2. ügynökön.
ForceActiveChecksOnStart Meghatározza, hogy az ügynöknek az újraindítás után azonnal vagy egyenletesen el kell-e végeznie az aktív ellenőrzéseket. A Zabbix 6.0.2.
Plugins A beépülő moduloknak saját paramétereik lehetnek, a következő formátumban: Plugins.<Plugin name>.<Parameter>=<value>. Gyakori beépülő modul a System.Capacity, amely beállítja az egyidejűleg végrehajtható ellenőrzések korlátját.
StatusPort A 2. port ügynök figyelni fogja a HTTP állapotkérést, valamint a konfigurált bővítmények listájának és néhány belső paraméter megjelenítését
Eldobott paraméterek Leírás
AllowRoot, User Nem támogatott, mert a démonizálás nem támogatott.
LoadModule, LoadModulePath A betölthető modulok nem támogatottak.
StartAgents Ezt a paramétert a Zabbix ügynökben használták a passzív ellenőrzések egyidejűségének növelésére vagy letiltására. Az Agent 2-ben a párhuzamosság beépülő modul szintjén van konfigurálva, és kapacitásbeállítással korlátozható. Míg a passzív ellenőrzések letiltása jelenleg nem támogatott.
HostInterface, HostInterfaceItem Még nem támogatott.

További részletekért lásd a konfigurációs fájl beállításait zabbix_agent2.

Kilépési kódok

A 4.4.8-as verziótól kezdődően a Zabbix agent 2 is lefordítható vele régebbi OpenSSL verziók (1.0.1, 1.0.2).

Ebben az esetben a Zabbix mutexet biztosít az OpenSSL-ben való zároláshoz. Ha egy mutex a zárolás vagy feloldás sikertelen, akkor a rendszer hibaüzenetet nyomtat a szabvány szerint hibafolyam (STDERR) és az Agent 2 2-es vagy 3-as visszatérési kóddal lép ki, illetőleg.