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.

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 (1000 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N setting in the Plugins configuration parameter.

Ondersteunde platforms

Zabbix Agent 2 wordt ondersteund op de volgende platforms:

Agent 2 on UNIX-like systems

Zabbix agent 2 on UNIX-like systems is run on the host being monitored.

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.

If installed as package

Zabbix agent 2 runs as a foreground process and relies on an external service manager (e.g., systemd) for background execution; Zabbix agent 2 does not have built-in daemonization support on Linux.

The agent can be started by executing:

systemctl start zabbix-agent2

To stop, restart, or check the status of Zabbix agent 2, use the following commands:

systemctl stop zabbix-agent2
       systemctl restart zabbix-agent2
       systemctl status zabbix-agent2
Start up manually

You can start Zabbix agent by locating the zabbix_agent2 binary and running it directly; for example:

zabbix_agent2

Agent 2 on Windows systems

Zabbix agent 2 runs as a standalone process; however, it can also be run as a Windows service.

Installation

Zabbix agent 2 can be installed on Windows using one of the following methods:

Zabbix agent 2 monitoring capabilities can be extended with plugins. While built-in plugins are available out-of-the-box, loadable plugins on Windows must be installed separately. For more information, see Zabbix agent 2 loadable plugins.

See the Zabbix agent on Microsoft Windows page for additional details on installing Zabbix agent 2 (from a ZIP archive) as a Windows service.

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.