4 Zabbix-agent 2 (UNIX)

Overzicht

Zabbix agent 2 is een nieuwe generatie Zabbix agent en kan worden gebruikt in: plaats van Zabbix-agent.

In deze sectie worden parameters vermeld die worden ondersteund in een Zabbix-agent configuratiebestand (zabbix_agent2.conf). Let daar op:

  • De standaardwaarden weerspiegelen de processtandaarden, niet de waarden in de verzonden configuratiebestanden;
  • Zabbix ondersteunt configuratiebestanden alleen in UTF-8-codering zonder BOM;
  • Opmerkingen die beginnen met "#" worden alleen ondersteund aan het begin van de lijn.

Parameters

Parameter Verplicht Bereik Standaard Beschrijving
Alias nee Stelt een alias in voor een item sleutel. Het kan worden gebruikt om een lange en complexe item sleutel te vervangen door een kortere en eenvoudigere.
Er kunnen meerdere Alias parameters aanwezig zijn. Meerdere parameters met dezelfde Alias sleutel zijn niet toegestaan.
Verschillende Alias sleutels kunnen dezelfde item sleutel verwijzen.
Aliassen kunnen worden gebruikt in HostMetadataItem, maar niet in HostnameItem parameters.

Voorbeelden:

1. Het ophalen van het ID van gebruiker 'zabbix'.
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"\^zabbix:.:([0-9]+)",,,,\1]
Nu kan de verkorte sleutel zabbix.userid worden gebruikt om gegevens op te halen.

2. Het verkrijgen van CPU gebruik met standaard en aangepaste parameters.
Alias=cpu.util:system.cpu.util
Alias=cpu.util[*]:system.cpu.util[*]
Dit maakt gebruik van de sleutel cpu.util mogelijk om de CPU gebruikspercentage te verkrijgen met standaard parameters, evenals het gebruik van cpu.util[all, idle, avg15] om specifieke gegevens over CPU gebruik op te halen.

3. Het uitvoeren van meerdere laag-niveau ontdekking regels voor het verwerken van dezelfde ontdekkingsitems.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
Nu is het mogelijk om meerdere ontdekkingsregels in te stellen met behulp van vfs.fs.discovery met verschillende parameters voor elke regel, bijvoorbeeld vfs.fs.discovery[foo], vfs.fs.discovery[bar], enz.
AllowKey < nee Toestaan uitvoering van die item sleutels die overeenkomen met een patroon. Sleutelpatroon is een wildcard expressie die het "*" teken ondersteunt om elke willekeurige reeks tekens te matchen.
Meerdere regels voor het matchen van sleutels kunnen gedefinieerd worden in combinatie met DenyKey. De parameters worden één voor één verwerkt volgens de volgorde van verschijning.
Deze parameter wordt ondersteund sinds Zabbix 5.0.0.
Zie ook: Beperken van agent controles.
BufferSend < nee 1-3600 5 De tijdinterval in seconden die bepaalt hoe vaak waarden van de buffer naar de Zabbix server worden gestuurd.
Merk op dat als de buffer vol is, de gegevens eerder worden verzonden.
BufferSize < nee 2-65535 100 Maximum aantal waarden in een geheugenbuffer. De agent zal alle verzamelde gegevens naar de Zabbix server of proxy sturen als de buffer vol is.
Deze parameter moet alleen worden gebruikt als de persistente buffer is uitgeschakeld (EnablePersistentBuffer=0).
ControlSocket nee /tmp/agent.sock De besturingssocket, gebruikt om runtime-commando's te verzenden met de '-R' optie.
DebugLevel < nee 0-5 3 Specificeert debug niveau:
0 - basisinformatie over het starten en stoppen van Zabbix processen
1 - kritieke informatie
2 - foutinformatie
3 - waarschuwingen
4 - voor debuggen (produceert veel informatie)
5 - uitgebreid debuggen (produceert nog meer informatie)
DenyKey < nee Weiger uitvoering van die item sleutels die overeenkomen met een patroon. Sleutelpatroon is een wildcard expressie die het "*" teken ondersteunt om elke willekeurige reeks tekens te matchen.
Meerdere regels voor het matchen van sleutels kunnen gedefinieerd worden in combinatie met AllowKey. De parameters worden één voor één verwerkt volgens de volgorde van verschijning.
Deze parameter wordt ondersteund sinds Zabbix 5.0.0.
Zie ook: Beperken van agent controles.
EnablePersistentBuffer < nee 0-1 0 Schakel het gebruik van lokale persistente opslag in voor actieve items.
0 - uitgeschakeld
1 - ingeschakeld
Als persistente opslag is uitgeschakeld, wordt de geheugenbuffer gebruikt.
ForceActiveChecksOnStart < nee 0-1 0 Voer direct na herstart actieve controles uit voor de eerste ontvangen configuratie.
0 - uitgeschakeld
1 - ingeschakeld
Ook beschikbaar als per plug-in configuratie parameter, bijvoorbeeld: Plugins.Uptime.System.ForceActiveChecksOnStart=1
Ondersteund sinds Zabbix 6.0.2.
HostInterface nee 0-255 tekens Optionele parameter die hostinterface definieert.
Hostinterface wordt gebruikt in het autoregistratieproces van de host.
De agent geeft een foutmelding en start niet als de waarde de limiet van 255 tekens overschrijdt.
Als niet gedefinieerd, wordt de waarde verkregen van HostInterfaceItem.
Ondersteund sinds Zabbix 4.4.0.
HostInterfaceItem < nee Optionele parameter die een item definieert dat wordt gebruikt om de hostinterface te verkrijgen.
Hostinterface wordt gebruikt in het autoregistratieproces van de host.
Tijdens een autoregistratieverzoek geeft een agent een waarschuwingsbericht weer als de waarde die wordt geretourneerd door het gespecificeerde item de limiet van 255 tekens overschrijdt.
Het system.run[] item wordt ondersteund ongeacht de waarden van AllowKey/DenyKey.
Deze optie wordt alleen gebruikt wanneer HostInterface niet is gedefinieerd.
Ondersteund sinds Zabbix 4.4.0.
HostMetadata < nee 0-255 tekens Optionele parameter die hostmetadata definieert. Hostmetadata wordt alleen gebruikt in het autoregistratieproces van de host (actieve agent).
Als niet gedefinieerd, wordt de waarde verkregen van HostMetadataItem.
Een agent geeft een foutmelding en start niet als de opgegeven waarde de limiet overschrijdt of geen UTF-8-tekenreeks is.
HostMetadataItem < nee Optionele parameter die een item definieert dat wordt gebruikt om hostmetadata te verkrijgen. Deze optie wordt alleen gebruikt wanneer HostMetadata niet is gedefinieerd.
Ondersteunt UserParameters en aliassen. Ondersteunt system.run[] ongeacht de waarden van AllowKey/DenyKey.
De waarde die wordt geretourneerd door het item moet een UTF-8-tekenreeks zijn, anders wordt deze genegeerd.
De waarde van HostMetadataItem wordt bij elke autoregistratiepoging opgehaald en wordt alleen gebruikt in het autoregistratieproces van de host (actieve agent).
Tijdens een autoregistratieverzoek geeft een agent een waarschuwingsbericht weer als de waarde die wordt geretourneerd door het gespecificeerde item de limiet van 255 tekens overschrijdt.
Ondersteund sinds Zabbix 4.4.0.
Hostname < nee Ingesteld door HostnameItem Lijst van unieke, hoofdlettergevoelige hostnamen gescheiden door komma's.
Vereist voor actieve controles en moet overeenkomen met hostnamen zoals geconfigureerd op de server. Waarde wordt overgenomen van HostnameItem als niet gedefinieerd.
Toegestane tekens: alfanumeriek, '.', ' ', '_' en '-'.
Maximale lengte: 128 tekens per hostnaam, 2048 tekens voor de hele regel.
HostnameItem < nee system.hostname Item gebruikt voor het genereren van Hostname als deze niet is gedefinieerd. Genegeerd als Hostname is gedefinieerd.
Ondersteunt geen UserParameters of aliassen, maar ondersteunt wel system.run[] ongeacht de waarden van AllowKey/DenyKey.
De uitvoerlengte is beperkt tot 512KB.
Include nee U kunt individuele bestanden of alle bestanden in een directory opnemen in het configuratiebestand.
Tijdens de installatie zal Zabbix de include directory aanmaken in /usr/local/etc, tenzij dit is aangepast tijdens het compileren.
Om alleen relevante bestanden in de opgegeven directory op te nemen, wordt het asterisk-wildcardteken ondersteund voor patroonovereenkomst. Bijvoorbeeld: /absoluut/pad/naar/configuratie/bestanden/*.conf.
Sinds Zabbix 6.0.0 kan een pad relatief zijn ten opzichte van de locatie van het zabbix_agent2.conf bestand.
Zie speciale opmerkingen over beperkingen.
ListenIP < nee 0.0.0.0 Lijst met door komma's gescheiden IP-adressen waarop de agent moet luisteren.
Het eerste IP-adres wordt naar de Zabbix-server verzonden als er verbinding mee wordt gemaakt om de lijst met actieve controles op te halen.
ListenPort < nee 1024-32767 10050 De agent zal luisteren op deze poort voor verbindingen van de server.
LogFile < ja, als LogType is ingesteld op file, anders
nee
/tmp/zabbix_agent2.log Naam van het logbestand als LogType is 'file'.
LogFileSize < nee 0-1024 1 Maximale grootte van het logbestand in MB.
0 - schakel automatische logrotatie uit.
Opmerking: Als de limiet voor de grootte van het logbestand wordt bereikt en het draaien van het bestand mislukt om welke reden dan ook, wordt het bestaande logbestand afgekapt en opnieuw gestart.
LogType < nee file Specificeert waar logberichten worden geschreven:
system - syslog,
file - bestand gespecificeerd door de parameter LogFile,
console - standaarduitvoer.
PersistentBufferFile < nee Het bestand waarin Zabbix Agent2 de SQLite-database moet bewaren.
Moet een volledige bestandsnaam zijn.
Deze parameter wordt alleen gebruikt als persistente buffer is ingeschakeld (EnablePersistentBuffer=1).
PersistentBufferPeriod nee 1m-365d 1h De tijdsperiode waarvoor gegevens moeten worden opgeslagen wanneer er geen verbinding is met de server of proxy. Oudere gegevens gaan verloren. Loggegevens worden behouden.
Deze parameter wordt alleen gebruikt als persistente buffer is ingeschakeld (EnablePersistentBuffer=1).
PidFile < nee /tmp/zabbix_agent2.pid Naam van het PID-bestand.
Plugin < nee Sinds Zabbix 6.0.0 hebben de meeste plug-ins hun eigen configuratiebestanden. Het agentconfiguratiebestand bevat hieronder de plug-inparameters.
Plugins.Log.MaxLinesPerSecond nee 1-1000 20 Maximaal aantal nieuwe regels dat de agent per seconde naar de Zabbix-server of proxy zal sturen bij verwerking van actieve controles voor 'log' en 'eventlog'.
De opgegeven waarde zal worden overschreven door de parameter 'maxlines',
die wordt opgegeven in de 'log' of 'eventlog' item key.
Opmerking: Zabbix zal 10 keer meer nieuwe regels verwerken dan ingesteld in MaxLinesPerSecond om de vereiste tekenreeks in logitems te zoeken.
Deze parameter wordt ondersteund sinds 4.4.2 en vervangt MaxLinesPerSecond.
^ Plugins.SystemRun.LogRemoteCommands nee 0 Schakel het loggen van uitgevoerde shell-opdrachten in als waarschuwingen.
0 - uitgeschakeld
1 - ingeschakeld
Opdrachten worden alleen gelogd als ze op afstand worden uitgevoerd. Logboekitems worden niet aangemaakt als system.run[] lokaal wordt gestart door HostMetadataItem, HostInterfaceItem of HostnameItem parameters.
Deze parameter wordt ondersteund sinds 4.4.2 en vervangt LogRemoteCommands.
PluginSocket < nee /tmp/agent.plugin.sock Pad naar Unix-socket voor communicatie met laadbaar plug-ins.
PluginTimeout < nee 1-30 Globale time-out Time-out voor verbindingen met laadbaar plug-ins.
RefreshActiveChecks < nee 60-3600 120 Hoe vaak de lijst met actieve controles wordt vernieuwd, in seconden.
Let op: na een mislukte vernieuwing van actieve controles wordt de volgende vernieuwing na 60 seconden geprobeerd.
Server < ja Lijst met door komma's gescheiden IP-adressen, optioneel in CIDR-notatie, of DNS-namen van Zabbix-servers en Zabbix-proxies.
Inkomende verbindingen worden alleen geaccepteerd vanaf de hier vermelde hosts.
Als IPv6-ondersteuning is ingeschakeld, worden '127.0.0.1', '::ffff:127.0.0.1' gelijk behandeld en '::/0' zal elk IPv4- of IPv6-adres toestaan.
'0.0.0.0/0' kan worden gebruikt om elk IPv4-adres toe te staan.
Voorbeeld: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Spaties zijn toegestaan.
ServerActive < nee Zabbix-server/-proxy-adres of clusterconfiguratie om actieve controles op te halen.
Server/-proxy-adres is IP-adres of DNS-naam en optionele poort gescheiden door een dubbele punt.
Clusterconfiguratie is één of meer serveradressen gescheiden door een puntkomma.
Meerdere Zabbix-servers/clusters en Zabbix-proxies kunnen worden opgegeven, gescheiden door een komma.
Er moet niet meer dan één Zabbix-proxy worden opgegeven vanuit elke Zabbix-server/cluster.
Als Zabbix-proxy is opgegeven, mag de Zabbix-server/cluster voor die proxy niet worden opgegeven.
Meerdere door komma's gescheiden adressen kunnen worden opgegeven om verschillende onafhankelijke Zabbix-servers parallel te gebruiken. Spaties zijn toegestaan.
Als de poort niet is opgegeven, wordt de standaardpoort gebruikt.
IPv6-adressen moeten tussen vierkante haken worden geplaatst als de poort voor die host is opgegeven.
Als de poort niet is opgegeven, zijn vierkante haken voor IPv6-adressen optioneel.
Als deze parameter niet is opgegeven, zijn actieve controles uitgeschakeld.
Voorbeeld voor Zabbix-proxy:
ServerActive=127.0.0.1:10051
Voorbeeld voor meerdere servers:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
Voorbeeld voor hoge beschikbaarheid:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3
Voorbeeld voor hoge beschikbaarheid met twee clusters en één server:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP < nee Bron-IP-adres voor:
- uitgaande verbindingen naar Zabbix-server of Zabbix-proxy;
- maken van verbindingen tijdens het uitvoeren van sommige items (web.page.get, net.tcp.port, etc.).
StatusPort < nee 1024-32767 Indien ingesteld, zal de agent luisteren op deze poort voor HTTP-statusverzoeken (http://localhost:<poort>/status).
Timeout < nee 1-30 3 Besteed niet meer dan Timeout seconden aan verwerking.
TLSAccept < ja, als TLS-certificaat of PSK-parameters zijn gedefinieerd (zelfs voor ongecodeerde verbinding), anders nee Welke inkomende verbindingen te accepteren. Gebruikt voor passieve controles. Meerdere waarden kunnen worden opgegeven, gescheiden door komma:
unencrypted - accepteer verbindingen zonder versleuteling (standaard)
psk - accepteer verbindingen met TLS en een vooraf gedeelde sleutel (PSK)
cert - accepteer verbindingen met TLS en een certificaat
TLSCAFile < nee Volledig pad naar een bestand met de hoogste CA(s) certificaten voor peer certificaatverificatie, gebruikt voor versleutelde communicatie tussen Zabbix-componenten.
TLSCertFile < nee
Volledig pad naar een bestand met het agent-certificaat of certificaatketen, gebruikt voor versleutelde communicatie met Zabbix-componenten.
TLSConnect < ja, als TLS-certificaat of PSK-parameters zijn gedefinieerd (zelfs voor ongecodeerde verbinding), anders nee Hoe de agent verbinding moet maken met Zabbix-server of -proxy. Gebruikt voor actieve controles. Slechts één waarde kan worden opgegeven:
unencrypted - verbinden zonder versleuteling (standaard)
psk - verbinden met behulp van TLS en een vooraf gedeelde sleutel (PSK)
cert - verbinden met behulp van TLS en een certificaat
TLSCRLFile < nee Volledig pad naar een bestand met ingetrokken certificaten. Deze parameter wordt gebruikt voor versleutelde communicatie met Zabbix-componenten.
TLSKeyFile < nee Volledig pad naar een bestand met de privésleutel van de agent die wordt gebruikt voor versleutelde communicatie met Zabbix-componenten.
TLSPSKFile < nee Volledig pad naar een bestand met de pre-shared sleutel van de agent die wordt gebruikt voor versleutelde communicatie met Zabbix-componenten.
TLSPSKIdentity < nee Identiteitsreeks voor pre-shared sleutel, gebruikt voor versleutelde communicatie met Zabbix-server.
TLSServerCertIssuer < nee Toegestane uitgever van server (proxy) certificaat.
TLSServerCertSubject < nee Toegestane onderwerp van server (proxy) certificaat.
UnsafeUserParameters < nee 0,1 0 Sta toe dat alle tekens worden doorgegeven als argumenten voor door de gebruiker gedefinieerde parameters.
De volgende tekens zijn niet toegestaan:
\ ' " ` * ? [ ] { } \~ $ ! & ; ( ) < > | # @
Bovendien zijn nieuwe regel-tekens niet toegestaan.
UserParameter < nee Door de gebruiker gedefinieerde parameter om te bewaken. Er kunnen meerdere door de gebruiker gedefinieerde parameters zijn.
Formaat: UserParameter=<sleutel>,<shell-opdracht>
Merk op dat de shell-opdracht geen lege tekenreeks of EOL mag retourneren.
Shell-opdrachten kunnen relatieve paden hebben, als de parameter UserParameterDir is opgegeven.
Voorbeelden:
UserParameter=system.test,who|wc -l
UserParameter=check_cpu,./custom_script.sh
UserParameterDir < nee Standaard zoekpad voor UserParameter-opdrachten. Als dit wordt gebruikt, zal de agent zijn werkmap wijzigen naar de hier gespecificeerde map voordat hij een opdracht uitvoert. Hierdoor kunnen UserParameter-opdrachten een relatieve ./ voorvoegsel hebben in plaats van een volledig pad.
Er is slechts één invoer toegestaan.
Voorbeeld: UserParameterDir=/opt/myscripts