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 Zabbix Agent en kan worden gebruikt ter vervanging van 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:
    • triviale controles te bieden die bestaan uit slechts een paar eenvoudige regels code
    • complexe controles te bieden die bestaan uit langlopende scripts en zelfstandige gegevensverzameling met periodieke terugzending van de gegevens
  • een plug-and-play vervanging te zijn voor Zabbix Agent (omdat het alle vorige functionaliteiten ondersteunt)

Agent 2 is geschreven in de programmeertaal Go (waarbij sommige C-code van de oude Zabbix Agent opnieuw wordt gebruikt). Voor het bouwen van Zabbix Agent 2 is een geconfigureerde Go-omgeving met een momenteel ondersteunde Go-versie vereist.

Agent 2 heeft geen ingebouwde ondersteuning voor daemonisering op Linux; het kan worden uitgevoerd als een Windows-service.

Passieve controles werken vergelijkbaar met Zabbix Agent. Actieve controles ondersteunen geplande/flexibele intervallen en controle-gelijktijdigheid binnen één actieve server.

Standaard plant Zabbix Agent 2 de eerste gegevensverzameling voor actieve controles op een conditioneel willekeurig tijdstip binnen het update-interval van het item om pieken in het gebruik van resources te voorkomen. Om actieve controles uit te voeren die geen Scheduling update-intervallen direct na het opnieuw opstarten van de agent, stel de ForceActiveChecksOnStart parameter (op globaal niveau) of Plugins.<Plugin-naam>.System.ForceActiveChecksOnStart (heeft alleen invloed op specifieke plugin-controles) in het configuratiebestand in. De parameter op plugin-niveau, indien ingesteld, zal de globale parameter overschrijven. Het afdwingen van actieve controles bij het opstarten wordt ondersteund sinds Zabbix 6.0.2.

Gelijktijdigheid van controles

Controles van verschillende plugins kunnen gelijktijdig worden uitgevoerd. Het aantal gelijktijdige controles binnen één plugin wordt beperkt door de capaciteitsinstelling van de plugin. Elke plugin kan een hardcoded capaciteitsinstelling hebben (standaard is 100) die kan worden verlaagd met de instelling Plugins.<PluginNaam>.System.Capacity=N in de Plugins-configuratie parameter. De vroegere naam van deze parameter, Plugins.<PluginNaam>.Capacity, wordt nog steeds ondersteund, maar is afgeschaft in Zabbix 6.0.

Zie ook: Richtlijnen voor het ontwikkelen van plugins.

Ondersteunde platforms

Zabbix Agent 2 wordt ondersteund op de volgende platforms:

Installatie

Zabbix Agent 2 is beschikbaar in vooraf gecompileerde Zabbix-pakketten. Om Zabbix Agent 2 vanuit bronnen te compileren, moet je de --enable-agent2 configure-optie opgeven.

Opties

De volgende opdrachtregelparameters kunnen worden gebruikt met Zabbix Agent 2:

Parameter Beschrijving
-c --config <configuratiebestand> Pad naar het configuratiebestand.
Je kunt deze optie gebruiken om een configuratiebestand op te geven dat niet het standaardbestand is.
Op UNIX is de standaard /usr/local/etc/zabbix_agent2.conf of zoals ingesteld door compiletijd 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 gebruikersparameter resultaten terug te geven, moet je het configuratiebestand opgeven (als het niet op de standaardlocatie staat).
-t --test <item key> Test het opgegeven item en stop.
Opmerking: Om ook gebruikersparameter resultaten terug te geven, moet je het configuratiebestand opgeven (als het niet op de standaardlocatie staat).
-h --help Toon helpinformatie en stop.
-v --verbose Toon foutopsporingsinformatie. Gebruik deze optie met de -p en -t opties.
-V --version Toon agentversie en licentie-informatie.
-R --runtime-control <optie> Voer administratieve functies uit. Zie runtime control.

Specifieke voorbeelden van het gebruik van opdrachtregelparameters:

  • toon alle ingebouwde agent-items met waarden
  • test een gebruikersparameter met de sleutel "mysql.ping" die is gedefinieerd in het opgegeven configuratiebestand
zabbix_agent2 --print
       zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Runtime control

Runtime control biedt enkele opties voor externe controle.

Optie Beschrijving
log_level_increase Verhoog het logniveau.
log_level_decrease Verlaag het logniveau.
metrics Lijst met beschikbare metingen.
version Toon de versie van de agent.
userparameter_reload Herlaad waarden van de UserParameter en Include opties uit het huidige configuratiebestand.
help Toon helpinformatie over runtime control.

Voorbeelden:

  • het logniveau verhogen voor agent 2
  • afdrukken van opties voor runtime control
zabbix_agent2 -R log_level_increase
       zabbix_agent2 -R help

Configuratiebestand

De configuratieparameters van agent 2 zijn grotendeels compatibel met die van de Zabbix-agent, met enkele uitzonderingen.

Nieuwe parameters Beschrijving
ControlSocket Het pad naar het runtime controle socket. Agent 2 gebruikt een controle socket 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 meteen actieve checks moet uitvoeren na een herstart of gelijkmatig over de tijd moet verspreiden. Ondersteund sinds Zabbix 6.0.2.
Plugins Plugins kunnen hun eigen parameters hebben, in het formaat Plugins.<Plugin naam>.<Parameter>=<waarde>. Een veel voorkomende pluginparameter is System.Capacity, die het aantal gelijktijdig uitgevoerde checks kan beperken.
StatusPort De poort waarop agent 2 zal luisteren voor HTTP-statusverzoeken en weergave van een lijst van geconfigureerde plugins en enkele interne parameters.
Verwijderde parameters Beschrijving
AllowRoot, User Niet ondersteund omdat het daemoniseren niet wordt ondersteund.
LoadModule, LoadModulePath Laadbare modules worden niet ondersteund.
StartAgents Deze parameter werd gebruikt in de Zabbix-agent om de gelijktijdige uitvoering van passieve checks te vergroten of deze uit te schakelen. In Agent 2 wordt de gelijktijdige uitvoering op plug-inniveau geconfigureerd en kan worden beperkt door een capaciteitsinstelling. Het uitschakelen van passieve checks wordt momenteel niet ondersteund.
HostInterface, HostInterfaceItem Nog niet ondersteund.

Voor meer details zie de configuratiebestandsopties 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.