Áú»¢¶Ä²©

This is a translation of the original English documentation page. Help us make it better.

14 Plugins

Overzicht

Plugins bieden een optie 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 laadmodules (geschreven in C) en andere methoden om de functionaliteit van Áú»¢¶Ä²© uit te breiden, zoals gebruikersparameters (agent-metrics), externe controles (monitoring zonder agent) en de Áú»¢¶Ä²© agentitem system.run[].

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 respect voor schema en taakconcurrentie;
  • time-outs op het niveau van de plugin;
  • compatibiliteitscontrole van Áú»¢¶Ä²©-agent 2 en zijn plugin bij het opstarten.

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

Deze pagina vermeldt Áú»¢¶Ä²© native en laadbare plugins en beschrijft de principes van pluginconfiguratie vanuit het gebruikersperspectief. Voor instructies over het schrijven van je eigen plugins, zie Richtlijnen voor plug-inontwikkeling. Voor meer informatie over het communicatieproces tussen Áú»¢¶Ä²©-agent 2 en een laadbare plugin, evenals het proces van gegevensverzameling, zie Verbindingsdiagram.

Plugins configureren

Dit gedeelte biedt algemene principes en beste praktijken voor het configureren van plugins.

Alle plugins worden geconfigureerd met behulp van de parameter *Plugins.***, die deel kan uitmaken van het Áú»¢¶Ä²©-agent 2 configuratiebestand of het eigen configuratiebestand van de plugin. Als een plugin een apart configuratiebestand gebruikt, moet het pad naar dit bestand worden gespecificeerd in de Include parameter van het Áú»¢¶Ä²©-agent 2 configuratiebestand.

Een typische parameter voor een plugin heeft de volgende structuur:

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

Daarnaast zijn er twee specifieke groepen parameters:

  • Plugins.<PluginNaam>.Default.<Parameter>=<Waarde> wordt gebruikt voor het defini?ren van standaard parameterwaarden.
  • Plugins.<PluginNaam>.<SessieNaam>.<Parameter>=<Waarde> wordt gebruikt voor het defini?ren van afzonderlijke sets parameters voor verschillende monitoringdoelen via genoemde sessies.

Alle parameterbenamingen moeten voldoen aan de volgende eisen:

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

Sinds Áú»¢¶Ä²© 6.0.18 kunt u standaardwaarden instellen voor de parameters die verband houden met de verbinding (URI, gebruikersnaam, wachtwoord, enz.) 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 voor zo'n parameter wordt opgegeven in een item-sleutel of in de genoemde sessie parameters, zal de plugin de standaardwaarde gebruiken. Als een standaardparameter ook niet is gedefinieerd, worden vaste standaardwaarden gebruikt.

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

Genoemde sessies

Genoemde sessies vertegenwoordigen een extra niveau van pluginparameters en kunnen worden gebruikt om afzonderlijke sets van verificatieparameters op te geven voor elk van de te controleren instanties. Elke genoemde sessieparameter moet de volgende structuur hebben:

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

Een sessienaam kan worden gebruikt als een connString-item sleutelparameter in plaats van afzonderlijk een URI, gebruikersnaam en/of wachtwoord op te geven.

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. Houd er rekening mee dat het insluiten van referenties in een URI niet wordt ondersteund, gebruik in plaats daarvan genoemde sessieparameters.

De lijst met beschikbare genoemde sessieparameters is afhankelijk van de plugin.

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

Vanaf Áú»¢¶Ä²© 6.0.17 is het mogelijk om sessieparameters te overschrijven door nieuwe waarden op te geven in de sleutelparameters van het item (zie voorbeeld).

Vanaf Áú»¢¶Ä²© 6.0.18 gebruikt Áú»¢¶Ä²©-agent 2 de waarde die is gedefinieerd in de standaard pluginparameter als een parameter niet is gedefinieerd voor de genoemde sessie.

Parameterprioriteit

Vanaf versie 6.0.18 zoeken Áú»¢¶Ä²©-agent 2-plugins naar waarden van verbindingsgerelateerde parameters in de volgende volgorde:

  1. De eerste parameter van het 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 uit het item-sleutel als ze zijn gedefinieerd.
  3. Als een item-sleutelparameter (bijvoorbeeld wachtwoord) leeg is, zoekt de plugin naar de overeenkomstige genoemde sessieparameter.
  4. Als de sessieparameter ook niet is gespecificeerd, wordt de waarde gebruikt die is gedefinieerd in de bijbehorende standaardparameter.
  5. Als al het andere faalt, gebruikt de plugin de standaardwaarde die in de code is vastgelegd.
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 opgeven van enkele parameters in de item-sleutel (ondersteund sinds Áú»¢¶Ä²© 6.0.17).

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 gevolg van deze configuratie zal de agent verbinding maken met PostgreSQL met behulp van de volgende parameters:

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

Een metriek verzamelen 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 gevolg 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
  • Database naam van de item-sleutel: postgres
Verbindingen

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

Het wordt aanbevolen om plugins te configureren om verbindingen met instanties in een open toestand te houden. De voordelen hiervan zijn verminderde netwerkcongestie, latentie en CPU- en geheugengebruik door het lagere aantal verbindingen. De clientbibliotheek zorgt hiervoor.

De tijdsperiode gedurende welke ongebruikte verbindingen open moeten blijven, kan worden bepaald door de parameter Plugins.<PluginName>.KeepAlive.
Voorbeeld: Plugins.Memcached.KeepAlive

Plugins

Alle metingen die worden ondersteund door Áú»¢¶Ä²© Agent 2 worden verzameld door middel van plugins.

Built-in

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

Pluginnaam Omschrijving Ondersteunde item-sleutels Opmerkingen
Agent Metingen 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, gebruikspercentage). 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
Bestand Bestandsmetingen. 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.
Logboekbestandmonitoring. log, log.count, logrt, logrt.count Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²©-agent sleutels.

Zie ook:
Plugin configuratieparameters (Unix/Windows)
Monitoring van Memcached-server. memcached.ping, memcached.stats
Leest Modbus-gegevens uit. 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 je de TLS-parameters in het configuratiebestand van de agent als genoemde sessie of standaard parameters. Momenteel kunnen TLS-parameters niet worden doorgegeven als item sleutel parameters.
Monitoring van MySQL en zijn forks. 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 je de TLS-parameters in het configuratiebestand van de agent als genoemde sessie of standaard parameters. Momenteel kunnen TLS-parameters niet worden doorgegeven als item sleutel parameters.

mysql.custom.query item sleutel wordt ondersteund sinds Áú»¢¶Ä²© 6.0.21.
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.
Monitoring van Oracle Database. 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 plug-in gebruikt.
Proces CPU-gebruikspercentage. proc.cpu.util Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²©-agent sleutel.
Monitoring van Redis-server. 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 smartctl-versie is 7.1.

Ondersteunde sleutels kunnen alleen worden gebruikt met Áú»¢¶Ä²©-agent 2 op Linux/Windows, zowel als passieve als actieve check.
Zie ook:
Configuratieparameters
Grootte van de wisselruimte in bytes/percentage. system.swap.size Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²©-agent sleutel.
SysteemRun Voert opgegeven opdracht uit. system.run Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²©-agent sleutel.

Zie ook:
Plugin configuratieparameters (Unix/Windows)
Systemd Monitoring van systemd-services. systemd.unit.discovery, systemd.unit.get, systemd.unit.info
Controleert de beschikbaarheid van TCP-verbindingen. net.tcp.port Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²©-agent sleutel.
Monitoring van de beschikbaarheid en prestaties van UDP-services. net.udp.service, net.udp.service.perf Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²©-agent sleutels.
Verkrijgen van informatie over het systeem. system.hostname, system.sw.arch, system.uname Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²©-agent sleutels.
Metingen van systeem uptime. system.uptime Ondersteunde sleutel heeft dezelfde parameters als Áú»¢¶Ä²©-agent sleutel.
Metingen van VFS. 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
Monitoring van webpagina's. web.page.get, web.page.perf, web.page.regexp Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²©-agent sleutels.
Asynchrone metingen. 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.
Interne metingen van Áú»¢¶Ä²©-server/proxy of aantal vertraagde items in een wachtrij. zabbix.stats Ondersteunde sleutels hebben dezelfde parameters als Áú»¢¶Ä²©-agent sleutels.
Synchronisatie-metingen. 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

Laadbaar plugins, bij lancering met:
- -V --version - print de plugin-versie en licentie-informatie;
- -h --help - print help-informatie.

Klik op de naam van de plugin om naar het plug-in repository te gaan voor aanvullende informatie.

Plugin naam Beschrijving 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
Deze plug-in is laadbaar sinds Áú»¢¶Ä²© 6.0.6 (eerder ingebouwd). Om versleutelde verbindingen met de database te configureren, specificeer je de TLS parameters in het configuratiebestand van de agent als genoemde sessie parameters.
Ondersteund in plug-in versies 1.2.0, 6.0.13 en nieuwer1.
Huidig kunnen TLS parameters niet als item key parameters worden doorgegeven.

Zie ook MongoDB plug-in configuratieparameters.
Monitoring van PostgreSQL en zijn forks. 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
Deze plug-in is laadbaar sinds Áú»¢¶Ä²© 6.0.10 (eerder ingebouwd).

Om versleutelde verbindingen met de database te configureren, specificeer je de TLS parameters in het configuratiebestand van de agent als genoemde sessie of standaard parameters.
Huidig kunnen TLS parameters niet als item key parameters worden doorgegeven.

Zie ook PostgreSQL plug-in configuratieparameters.

Zie ook: Bouwen van laadbaar plugins.

Voetnoten

1 - Sinds Áú»¢¶Ä²© 6.0.13 gebruiken laadbare plugins hetzelfde versienummeringssysteem als Áú»¢¶Ä²© zelf. Hierdoor is de versie van de MongoDB-plugin gewijzigd van 1.2.0 naar 6.0.13 en is de versie van de PostgreSQL-plugin gewijzigd van 1.2.1 naar 6.0.13.