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:
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.
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:
Alle parameterbenamingen moeten voldoen aan de volgende eisen:
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 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.
Vanaf versie 6.0.18 zoeken Áú»¢¶Ä²©-agent 2-plugins naar waarden van verbindingsgerelateerde parameters in de volgende volgorde:
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]
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:
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:
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
Alle metingen die worden ondersteund door Áú»¢¶Ä²© Agent 2 worden verzameld door middel van plugins.
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 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.
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.