Zabbix Agent 2 is een nieuwe generatie van de Zabbix Agent en kan worden gebruikt ter vervanging van de Zabbix Agent. Zabbix Agent 2 is ontwikkeld om:
Agent 2 is geschreven in de Go-programmeertaal (waarbij enkele C-code van de Zabbix Agent opnieuw wordt gebruikt). Een geconfigureerde Go-omgeving met een momenteel ondersteunde Go-versie is vereist voor het bouwen van Zabbix Agent 2.
Agent 2 heeft geen ingebouwde ondersteuning voor daemonisering op Linux; het kan worden uitgevoerd als een Windows-service.
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.
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.
Zabbix Agent 2 wordt ondersteund op de volgende platforms:
Zabbix Agent 2 is beschikbaar in voorgecompileerde Zabbix-pakketten. Om Zabbix Agent 2 vanuit bronnen te compileren, moet je de --enable-agent2
configure-optie specificeren.
De volgende commandoregelparameters kunnen worden gebruikt met Zabbix Agent 2:
Parameter | Beschrijving |
---|---|
-c --config <configuratie-bestand> | Pad naar het configuratiebestand. Je kunt deze optie gebruiken om een configuratiebestand op te geven dat niet het standaardbestand is. Op UNIX is de standaardinstelling /usr/local/etc/zabbix_agent2.conf of zoals ingesteld door compileer-tijd variabelen --sysconfdir of --prefix |
-f --foreground | Voer Zabbix Agent uit in de voorgrond (standaard: true). |
-p --print | Toon bekende items en stop. Opmerking: Om ook resultaten van gebruikersparameters te retourneren, moet je het configuratiebestand opgeven (als dit zich niet op de standaardlocatie bevindt). |
-t --test <item sleutel> | Test het opgegeven item en stop. Opmerking: Om ook resultaten van gebruikersparameters te retourneren, moet je het configuratiebestand opgeven (als dit zich niet op de standaardlocatie bevindt). |
-h --help | Toon helpinformatie en stop. |
-v --verbose | Toon foutopsporingsinformatie. Gebruik deze optie met de opties -p en -t. |
-V --version | Toon de versie van de agent en licentie-informatie. |
-R --runtime-control <optie> | Voer administratieve functies uit. Zie runtimebeheer. |
Specifieke voorbeelden van het gebruik van commandoregelparameters:
Toon alle ingebouwde agent-items met waarden.
Test een gebruikersparameter met de sleutel "mysql.ping" die is gedefinieerd in het opgegeven configuratiebestand.
shell> zabbix_agent2 --print shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Runtimebeheer biedt enkele opties voor externe controle.
Optie | Beschrijving |
---|---|
log_level_increase | Verhoog het logniveau. |
log_level_decrease | Verlaag het logniveau. |
metrics | Lijst met beschikbare statistieken. |
version | Toon de versie van de agent. |
userparameter_reload | Herlaad waarden van de UserParameter en Include opties uit het huidige configuratiebestand. |
help | Toon informatie over runtimebeheer. |
Voorbeelden:
De configuratieparameters van Agent 2 zijn grotendeels compatibel met Zabbix Agent, met enkele uitzonderingen.
Nieuwe parameters | Beschrijving |
---|---|
ControlSocket | Het pad naar de runtimebeheersocket. Agent 2 gebruikt een beheersocket voor runtime-opdrachten. |
EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Deze parameters worden gebruikt om permanente opslag op Agent 2 te configureren voor actieve items. |
ForceActiveChecksOnStart | Bepaalt of de agent direct na herstart actieve controles moet uitvoeren of gelijkmatig over de tijd moet verspreiden. |
Plugins | Plugins kunnen hun eigen parameters hebben in het formaat Plugins.<Pluginnaam>.<Parameter>=<waarde> . Een veelvoorkomende pluginparameter is System.Capacity, waarmee het aantal controles dat tegelijkertijd kan worden uitgevoerd, kan worden beperkt. |
StatusPort | De poort waarop Agent 2 luistert voor HTTP-statusverzoeken en weergave van een lijst met geconfigureerde plugins en enkele interne parameters |
Verwijderde parameters | Beschrijving |
AllowRoot, User | Niet ondersteund omdat daemonisatie niet wordt ondersteund. |
LoadModule, LoadModulePath | Laadbare modules worden niet ondersteund. |
StartAgents | Deze parameter werd gebruikt in Zabbix Agent om passieve controleconcurrentie te vergroten of uit te schakelen. In Agent 2 wordt de concurrentie op pluginniveau geconfigureerd en kan deze worden beperkt door een capaciteitsinstelling. Het uitschakelen van passieve controles wordt momenteel niet ondersteund. |
HostInterface, HostInterfaceItem | Nog niet ondersteund. |
Voor meer details zie de configuratiebestandopties voor zabbix_agent2.
Vanaf versie 4.4.8 kan Zabbix agent 2 ook worden gecompileerd met oudere OpenSSL-versies (1.0.1, 1.0.2).
In dit geval biedt Zabbix mutexen voor het vergrendelen in OpenSSL. Als een mutex vergrendelen of ontgrendelen mislukt, dan wordt er een foutbericht afgedrukt volgens de standaard foutstroom (STDERR) en Agent 2 worden afgesloten met retourcode 2 of 3, respectievelijk.