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.

Passieve en actieve controles

Passieve controles werken op dezelfde manier als de Zabbix Agent. Actieve controles ondersteunen geplande/flexibele intervallen en controle gelijktijdigheid binnen één actieve server.

Standaard plant Zabbix Agent 2 na een herstart de eerste gegevensverzameling voor actieve controles op een voorwaardelijk willekeurig tijdstip binnen het update-interval van het item om pieken in het gebruik van bronnen te voorkomen. Om actieve controles uit te voeren die niet onmiddellijk na het herstarten van de agent een Gepland update-interval hebben, stelt u de parameter ForceActiveChecksOnStart (op globaal niveau) of Plugins.<Plugin-naam>.System.ForceActiveChecksOnStart (beïnvloedt alleen specifieke plug-in controles) in het configuratiebestand in. Een op plug-in niveau ingestelde parameter zal de globale parameter overschrijven. Het afdwingen van actieve controles bij het opstarten wordt ondersteund sinds Zabbix 6.0.2.

Controle gelijktijdigheid

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

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.