Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

2 Plugins

Overzicht

Plugins bieden de mogelijkheid om de monitoringmogelijkheden van Áú»¢¶Ä²© uit te breiden. Plugins zijn geschreven in de Go-programmeertaal en worden alleen ondersteund door Áú»¢¶Ä²© Agent 2. Plugins bieden een alternatief voor laadbare modules (geschreven in C), en andere methoden om de functionaliteit van Áú»¢¶Ä²© uit te breiden.

De volgende functies zijn specifiek voor agent 2 en zijn plugins:

  • ondersteuning van geplande en flexibele intervallen voor zowel passieve als actieve controles;
  • beheer van taakwachtrij met betrekking tot planning en taakgelijktijdigheid;
  • time-outs op plugin-niveau;
  • compatibiliteitscontrole van Áú»¢¶Ä²© Agent 2 en zijn plugins bij het opstarten.

Sinds Áú»¢¶Ä²© 6.0.0 hoeven plugins niet direct in de agent 2 te worden ge?ntegreerd en kunnen ze als laadmodules worden toegevoegd, waardoor het proces van het maken van aanvullende plugins voor het verzamelen van nieuwe monitoringmetingen eenvoudiger wordt.

Deze pagina vermeldt Áú»¢¶Ä²© native en laadmodules en beschrijft de configuratieprincipes van plugins vanuit het gebruikersperspectief.

Voor instructies en tutorials over het schrijven van je eigen plugins, zie Developer center.

Voor meer informatie over het communicatieproces tussen Áú»¢¶Ä²© Agent 2 en een laadbare plugin, evenals het proces van het verzamelen van metingen, zie Connection diagram.

Plugins configureren

Dit gedeelte biedt gemeenschappelijke configuratieprincipes en beste praktijken voor plugins.

Alle plugins worden geconfigureerd met behulp van het parameterpatroon Plugins.*. Dit kan onderdeel zijn van het Áú»¢¶Ä²© Agent 2 configuratiebestand of het eigen configuratiebestand van een plugin. Als een plugin een apart configuratiebestand gebruikt, moet het pad naar dit bestand worden opgegeven in het Include parameter van het Áú»¢¶Ä²© Agent 2 configuratiebestand.

Een typisch plugin-parameter heeft de volgende structuur:

Plugins.<PluginNaam>.<Parameter>=<Waarde>

Daarnaast zijn er twee specifieke groepen parameters:

  • Plugins.<PluginNaam>.Default.<Parameter>=<Waarde> wordt gebruikt om standaard parameterwaarden te defini?ren.

  • Plugins.<PluginNaam>.<SessionNaam>.<Parameter>=<Waarde> wordt gebruikt om afzonderlijke sets parameters te defini?ren voor verschillende monitoringdoelen via genoemde sessies.

Alle parameterbenamingen moeten voldoen aan de volgende vereisten:

  • Het wordt aanbevolen om de namen van je plugins te kapitaliseren;
  • De parameter moet worden gekapitaliseerd;
  • Speciale tekens zijn niet toegestaan;
  • Nesting is niet beperkt tot een maximumniveau;
  • Het aantal parameters is niet beperkt.

Bijvoorbeeld, om actieve controles uit te voeren zonder Scheduling update-interval direct na het opnieuw starten van de agent alleen voor de Uptime-plugin, stel Plugins.Uptime.System.ForceActiveChecksOnStart=1 in het configuratiebestand in. Op dezelfde manier, om een aangepaste limiet voor gelijktijdige controles voor de CPU-plugin in te stellen, stelt u Plugins.CPU.System.Capacity=N in het configuratiebestand in.

Standaardwaarden

Sinds Áú»¢¶Ä²© 6.4.3 kun je standaardwaarden instellen voor de parameters met betrekking tot de verbinding (URI, gebruikersnaam, wachtwoord, etc.) in het configuratiebestand in het formaat:

Plugins.<PluginNaam>.Default.<Parameter>=<Waarde>

Bijvoorbeeld, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, etc.

Als er geen waarde wordt opgegeven voor een dergelijke parameter in een item sleutel of in de genoemde sessie parameters, zal de plugin de standaardwaarde gebruiken. Als een standaardparameter ook niet is gedefinieerd, worden hardgecodeerde standaardwaarden gebruikt.

Als een item sleutel geen parameters heeft, zal Áú»¢¶Ä²© Agent 2 proberen de metriek te verzamelen met behulp van waarden die zijn gedefinieerd in de sectie met standaardparameters.

Genoemde sessies

Genoemde sessies vertegenwoordigen een extra niveau van plugin parameters en kunnen worden gebruikt om aparte sets authenticatieparameters op te geven voor elk van de te monitoren instanties. Elke genoemde sessie parameter moet de volgende structuur hebben:

Plugins.<PluginNaam>.Sessions.<SessionNaam>.<Parameter>=<Waarde>

Een sessienaam kan worden gebruikt als een connString item sleutel parameter in plaats van het apart specificeren van een URI, gebruikersnaam en/of wachtwoord.

In item sleutels kan de eerste parameter ofwel een connString of een URI zijn. Als de eerste sleutelparameter niet overeenkomt met een sessienaam, wordt deze behandeld als een URI. Merk op dat het insluiten van inloggegevens in een URI niet wordt ondersteund, gebruik in plaats daarvan genoemde sessieparameters.

De lijst met beschikbare parameters voor genoemde sessies hangt af van de plugin.

In Áú»¢¶Ä²© versies 6.4.0-6.4.2, bij het verstrekken van een connString (sessienaam) in sleutelparameters, moeten de item sleutel parameters voor gebruikersnaam en wachtwoord leeg zijn. De waarden worden overgenomen uit de sessieparameters. Als een authenticatieparameter niet is gespecificeerd voor de genoemde sessie, wordt een hardgecodeerde standaardwaarde gebruikt.

Sinds Áú»¢¶Ä²© 6.4.2, is het mogelijk om sessieparameters te overschrijven door nieuwe waarden op te geven in de item sleutel parameters (zie voorbeeld).

Sinds Áú»¢¶Ä²© 6.4.3, als een parameter niet is gedefinieerd voor de genoemde sessie, zal Áú»¢¶Ä²© Agent 2 de waarde gebruiken die is gedefinieerd in de standaard plugin parameter.

Parameterprioriteit

Sinds versie 6.4.3 zoeken Áú»¢¶Ä²© Agent 2 plugins naar verbindingsgerelateerde parameterwaarden in de volgende volgorde:

  1. De eerste parameter van de item sleutel wordt vergeleken met sessienamen. Als er geen overeenkomst wordt gevonden, wordt het behandeld als een daadwerkelijke waarde; in dat geval wordt stap 3 overgeslagen. Als er een overeenkomst wordt gevonden, moet de parameterwaarde (meestal een URI) worden gedefinieerd in de genoemde sessie.
  2. Andere parameters worden overgenomen van de item sleutel als deze zijn gedefinieerd.
  3. Als een item sleutel parameter (bijvoorbeeld wachtwoord) leeg is, zoekt de plugin naar de overeenkomstige parameter van de genoemde sessie.
  4. Als de sessieparameter ook niet is gespecificeerd, wordt de waarde gebruikt die is gedefinieerd in de overeenkomstige standaard parameter.
  5. Als al het andere faalt, zal de plugin de hardgecodeerde standaardwaarde gebruiken.
Voorbeeld 1

Monitoring van twee instanties "MySQL1" en "MySQL2".

Configuratieparameters:

Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
       Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
       Plugins.Mysql.Sessions.MySQL1.Password=unique_password
       Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
       Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
       Plugins.Mysql.Sessions.MySQL2.Password=different_password

Item-sleutels: mysql.ping[MySQL1], mysql.ping[MySQL2]

Voorbeeld 2

Het verstrekken van sommige van de parameters in de item sleutel (ondersteund sinds Áú»¢¶Ä²© 6.4.2).

Configuratieparameters:

Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
       Plugins.PostgreSQL.Sessions.Session1.User=old_username
       Plugins.PostgreSQL.Sessions.Session1.Password=session_password

Item sleutel: pgsql.ping[session1,new_username,,postgres]

Als resultaat van deze configuratie zal de agent verbinding maken met PostgreSQL met behulp van de volgende parameters:

  • URI uit sessieparameter: 192.0.2.234:5432
  • Gebruikersnaam uit de item sleutel: new_username
  • Wachtwoord uit sessieparameter (omdat het is weggelaten in de item sleutel): session_password
  • Naam van de database uit de item sleutel: postgres
Voorbeeld 3

Het verzamelen van een metriek met behulp van standaard configuratieparameters.

Configuratieparameters:

Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
       Plugins.PostgreSQL.Default.User=zabbix
       Plugins.PostgreSQL.Default.Password=password

Item sleutel: pgsql.ping[,,,postgres]

Als resultaat van deze configuratie zal de agent verbinding maken met PostgreSQL met behulp van de volgende parameters:

  • Standaard URI: 192.0.2.234:5432
  • Standaard gebruikersnaam: zabbix
  • Standaard wachtwoord: password
  • Naam van de database uit de item sleutel: postgres
Verbindingen

Sommige plugins ondersteunen het verzamelen van metingen van meerdere instanties tegelijkertijd. Zowel lokale als externe instanties kunnen worden bewaakt. TCP- en Unix-socket-verbindingen worden ondersteund.

Het wordt aanbevolen om plugins zo te configureren dat verbindingen met instanties in een open toestand worden gehouden. Dit heeft voordelen zoals verminderde netwerkcongestie, latentie, en CPU- en geheugengebruik als gevolg van het lagere aantal verbindingen. De clientbibliotheek zorgt hiervoor.

De tijdsperiode waarvoor ongebruikte verbindingen open moeten blijven, kan worden bepaald met de parameter Plugins.<PluginName>.KeepAlive. Bijvoorbeeld: Plugins.Memcached.KeepAlive

Plugins

Alle metrieken die worden ondersteund door Áú»¢¶Ä²© agent 2 worden verzameld door plugins.

Ingebouwde

De volgende plugins voor Áú»¢¶Ä²© Agent 2 zijn direct beschikbaar. Klik op de naam van de plugin om naar de pluginrepository te gaan voor aanvullende informatie.

Plugin naam Omschrijving Ondersteunde item sleutels Opmerkingen
Agent Metrieken van de gebruikte Áú»¢¶Ä²© agent. agent.hostname, agent.ping, agent.version Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Ceph-monitoring. ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump,
ceph.ping, ceph.pool.discovery, ceph.status
Systeem CPU-monitoring (aantal CPU's/CPU-kernen, ontdekte CPU's, gebruik in procenten). system.cpu.discovery, system.cpu.num, system.cpu.util Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Monitoring van Docker-containers. docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery,
docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping
Zie ook:
Configuratieparameters
File Verzameling van bestandsmetrieken. vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum,
vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time
Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Kernel-monitoring. kernel.maxfiles, kernel.maxproc Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Monitoring van logbestanden. log, log.count, logrt, logrt.count Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.

Zie ook:
Plugin configuratieparameters (Unix/Windows)
Memcached server-monitoring. memcached.ping, memcached.stats
Leest Modbus-gegevens. modbus.get Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Ontvangt gepubliceerde waarden van MQTT-onderwerpen. mqtt.get Om een versleutelde verbinding met de MQTT-broker te configureren, specificeer de TLS-parameters in het agent-configuratiebestand als benoemde sessie of standaard parameters. Op dit moment kunnen TLS-parameters niet worden doorgegeven als parameters voor item sleutels.
Monitoring van MySQL en zijn afsplitsingen. mysql.custom.query, mysql.db.discovery, mysql.db.size, mysql.get_status_variables,
mysql.ping, mysql.replication.discovery, mysql.replication.get_slave_status, mysql.version
Om een versleutelde verbinding met de database te configureren, specificeer de TLS-parameters in het agent-configuratiebestand als benoemde sessie of standaard parameters. Op dit moment kunnen TLS-parameters niet worden doorgegeven als parameters voor item sleutels.

De item sleutel mysql.custom.query wordt ondersteund sinds Áú»¢¶Ä²© 6.4.6.
Monitoring van netwerkinterfaces. net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Oracle Database monitoring. oracle.diskgroups.stats, oracle.diskgroups.discovery, oracle.archive.info, oracle.archive.discovery,
oracle.cdb.info, oracle.custom.query, oracle.datafiles.stats, oracle.db.discovery,
oracle.fra.stats, oracle.instance.info, oracle.pdb.info, oracle.pdb.discovery,
oracle.pga.stats, oracle.ping, oracle.proc.stats, oracle.redolog.info,
oracle.sga.stats, oracle.sessions.stats, oracle.sys.metrics, oracle.sys.params,
oracle.ts.stats, oracle.ts.discovery, oracle.user.info
Installeer de voordat je de plugin gebruikt.
Proces CPU-gebruik in procenten. proc.cpu.util Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²© agent sleutel.
Redis server-monitoring. redis.config, redis.info, redis.ping, redis.slowlog.count
S.M.A.R.T. monitoring. smart.attribute.discovery, smart.disk.discovery, smart.disk.get Sudo/root toegangsrechten voor smartctl zijn vereist voor de gebruiker die Áú»¢¶Ä²© Agent 2 uitvoert. De minimale vereiste versie van smartctl is 7.1.

Ondersteunde sleutels kunnen alleen worden gebruikt met Áú»¢¶Ä²© Agent 2 op Linux/Windows, zowel als passieve als actieve check.
Zie ook:
Configuratieparameters
Lijst van ge?nstalleerde pakketten. system.sw.packages, system.sw.packages.get De ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutel.
Swapruimte grootte in bytes/procent. system.swap.size Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²© agent sleutel.
SystemRun Voert een opgegeven opdracht uit. system.run Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²© agent [sleutel].(/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2)

Zie ook:
Plugin configuratieparameters (Unix/Windows)
Monitoring van systemd-services. systemd.unit.discovery, systemd.unit.get, systemd.unit.info
Controleer beschikbaarheid van TCP-verbindingen. net.tcp.port Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²© agent [sleutel].
Monitoring van beschikbaarheid en prestaties van UDP-services. net.udp.service, net.udp.service.perf Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent sleutels.
Ophalen van informatie over het systeem. system.hostname, system.sw.arch, system.uname Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].(/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2)
Verzameling metrieken voor systeem-uptime. system.uptime Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²© agent [sleutel].
Verzameling VFS-metrieken. vfs.dev.discovery, vfs.dev.read, vfs.dev.write Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].
Monitoring van TLS/SSL-websitecertificaten. web.certificate.get
Webpagina monitoring. web.page.get, web.page.perf, web.page.regexp Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].
Asynchrone metrieken verzameling. net.tcp.listen, net.udp.listen, sensor, system.boottime, system.cpu.intr, system.cpu.load,
system.cpu.switches, system.hw.cpu, system.hw.macaddr, system.localtime, system.sw.os,
system.swap.in, system.swap.out, vfs.fs.discovery
Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].
Áú»¢¶Ä²© server/proxy interne metrieken of het aantal vertraagde items in een wachtrij. zabbix.stats Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].
Synchrone metrieken verzameling. net.dns, net.dns.record, net.tcp.service, net.tcp.service.perf, proc.mem,
proc.num, system.hw.chassis, system.hw.devices, system.sw.packages,
system.users.num, vfs.dir.count, vfs.dir.size, vfs.fs.get, vfs.fs.inode,
vfs.fs.size, vm.memory.size.
Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²© agent [sleutels].
Laadbaar

Laadbare plugins, wanneer gestart met:
- -V --version - pluginversie en licentie-informatie weergeven;
- -h --help - helpinformatie weergeven.

Klik op de naam van de plugin om naar de pluginrepository te gaan voor aanvullende informatie.

Plugin naam Omschrijving Ondersteunde sleutels Opmerkingen
Monitoring van MongoDB-servers en -clusters (documentgebaseerde, gedistribueerde database). mongodb.collection.stats, mongodb.collections.discovery, mongodb.collections.usage, mongodb.connpool.stats,
mongodb.db.stats, mongodb.db.discovery, mongodb.jumbo_chunks.count, mongodb.oplog.stats,
mongodb.ping, mongodb.rs.config, mongodb.rs.status, mongodb.server.status,
mongodb.sh.discovery
Om versleutelde verbindingen met de database te configureren, specificeert u de TLS-parameters in het configuratiebestand van de agent als genoemde sessie parameters.
Huidig kunnen TLS-parameters niet worden doorgegeven als sleutelparameters.

Zie ook MongoDB plugin configuratieparameters.
Monitoring van PostgreSQL en zijn vertakkingen. pgsql.autovacuum.count, pgsql.archive, pgsql.bgwriter, pgsql.cache.hit, pgsql.connections,
pgsql.custom.query, pgsql.dbstat, pgsql.dbstat.sum, pgsql.db.age, pgsql.db.bloating_tables,
pgsql.db.discovery, pgsql.db.size, pgsql.locks, pgsql.oldest.xid, pgsql.ping, pgsql.queries,
pgsql.replication.count, pgsql.replication.process, pgsql.replication.process.discovery, pgsql.replication.recovery_role, pgsql.replication.status,
pgsql.replication_lag.b, pgsql.replication_lag.sec, pgsql.uptime, pgsql.wal.stat
Om versleutelde verbindingen met de database te configureren, specificeert u de TLS-parameters in het configuratiebestand van de agent als genoemde sessie of standaard parameters.
Huidig kunnen TLS-parameters niet worden doorgegeven als sleutelparameters.

Zie ook PostgreSQL plugin configuratieparameters.

Zie ook: Laadbare plugins bouwen.