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

3 Agent 2

Overzicht

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:

  • het aantal TCP-verbindingen te verminderen
  • verbeterde gelijktijdigheid van controles te bieden
  • eenvoudig uitbreidbaar te zijn met plugins. Een plugin moet in staat zijn om:
    • eenvoudige controles te bieden die slechts uit een paar eenvoudige regels code bestaan
    • complexe controles te bieden die bestaan uit langlopende scripts en zelfstandige gegevensverzameling met periodieke terugzending van de gegevens
  • een drop-in vervanging te zijn voor de Zabbix Agent (in die zin dat het alle vorige functionaliteit ondersteunt)

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 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.

Ondersteunde platforms

Zabbix Agent 2 wordt ondersteund op de volgende platforms:

Installatie

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.

Opties

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

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:

  • Het logniveau verhogen voor Agent 2.
  • Toon de opties voor runtimebeheer.
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R help

Configuratiebestand

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.

Afsluitcodes

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.