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:
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.
Zabbix Agent 2 wordt ondersteund op de volgende platforms:
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.
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:
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:
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.
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.