2 Plugins

Vista general

Els connectors ofereixen una opció per ampliar les capacitats de monitoratge de Zabbix. Els connectors són escrits en llenguatge de programació Go i només són compatibles amb l'agent 2 de Zabbix. Els connectors proporcionen una alternativa als mòduls carregables (escrits en C) i altres mètodes per ampliar la funcionalitat de Zabbix.

Les funcions següents són específiques de l'agent 2 i els seus connectors:

  • suport d'intervals programats i flexibles per a controls passius i actius;
  • gestió de la cua de tasques pel que fa a la planificació i la concurrència de tasques;
  • temps d'espera a nivell de connector;
  • comprovació de compatibilitat de l'agent Zabbix 2 i els seus connectors a l'inici.

Des de Zabbix 6.0.0, els connectors no s'han d'integrar directament a l'agent 2 i es poden afegir com a connectors carregables, facilitant així el procés de creació de connectors addicionals per recollir noves mètriques de monitoratge.

Aquesta pàgina llista els connectors natius i carregables de Zabbix i es descriuen els principis de configuració dels connectors des de la perspectiva de l'usuari.

Per obtindre instruccions i tutorials sobre com escriure els vostres propis connectors, consulteu Centre de desenvolupadors.

Per obtindre més informació sobre el procés de comunicació entre l'agent Zabbix 2 i un connector carregable, així com sobre el procés de recollida de mètriques, veieu Diagrama de connexió.

Configurar plugins

Aquesta secció proporciona principis comuns de configuració de connectors i pràctiques recomanades.

Tots els connectors es configuren mitjançant el paràmetre Plugins.*, que pot formar part de l'agent de Zabbix 2 fitxer de configuració o del fitxer de configuració propi d'un connector /config/zabbix_agent2_plugins). Si un connector empra un fitxer de configuració independent, la ruta d'aquest fitxer s'ha d'especificar al paràmetre Include del fitxer de configuració de l'agent Zabbix 2.

Un paràmetre de connector típic té l'estructura següent:

Plugins.<PluginName>.<Parameter>=<Value>

A més, hi ha dos grups específics de paràmetres:

  • Plugins.<PluginName>.Default.<Parameter>=<Value> emprat per definir valors dels paràmetres per defecte.

  • Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> s'empra per definir conjunts separats de paràmetres per a diferents objectius de monitoratge mitjançant sessions nomenades.

Tots els noms de paràmetre han de complir els requisits següents:

  • es recomana posar en majúscula els noms dels vostres connectors;
  • el paràmetre s'ha de posar en majúscula;
  • No es permeten caràcters especials;
  • la nidificació no és limitada per un nivell màxim;
  • el nombre de paràmetres no és limitat.

Per exemple, per fer comprovacions actives que no tinguin Programació interval d'actualització just després de reiniciar l'agent només per al connector Uptime, establiu Plugins.Uptime.System.ForceActiveChecksOnStart=1 al fitxer de configuració. De la mateixa manera, per establir un límit personalitzat per a comprovacions concurrents per al connector de la CPU, establiu Plugins.CPU.System.Capacity=N al fitxer de configuració.

Sessions nomenades

Les sessions amb nom representen un nivell addicional de paràmetres de connectors i es poden emprar per especificar conjunts separats de paràmetres d'autenticació per a cadascuna de les instàncies que es siguin monitorant. Cada paràmetre de sessió anomenada hauria de tindre l'estructura següent:

Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>

Un nom de sessió es pot emprar com a paràmetre de clau d'element connString en lloc d'especificar un URI, un nom d'usuari i/o un mot de pas per separat.

A les claus d'element, el primer paràmetre pot ser un connString o un URI. Si el primer paràmetre de clau no coincideix amb cap nom de sessió, es tractarà com un URI. Tingueu en compte que no s'admet incrustar credencials en un URI, feu servir paràmetres de sessió amb nom.

La llista de [paràmetres de sessió anomenats] disponibles (/manual/appendix/config/zabbix_agent2_plugins) depèn del connector.

A les versions 6.4.0-6.4.2 de Zabbix, quan es proporciona una connString (nom de sessió) als paràmetres clau, els paràmetres clau de l'element per al nom d'usuari i el mot de pas han de ser buits. Els valors es prendran dels paràmetres de sessió. Si no s'especifica un paràmetre d'autenticació per a la sessió anomenada, s'emprarà un valor predeterminat codificat en cru.

Des de Zabbix 6.4.2, és possible anul·lar els paràmetres de sessió especificant nous valors als paràmetres clau de l'element (veieu exemple).

Des de Zabbix 6.4.3, si no es defineix un paràmetre per a la sessió anomenada, l'agent Zabbix 2 emprarà el valor definit al paràmetre del connector predeterminat.

Prioritat dels paràmetres

Des de la versió 6.4.3, els plugins de l'agent 2 de Zabbix cerquen els valors de paràmetres relatius a les connexions en l'ordre següent:

  1. El paràmetre clau del primer element es compara amb els noms de sessió. Si no es troba cap coincidència, es tractarà com un valor real; en aquest cas, s'ometrà el pas 3. Si es troba una coincidència, el valor del paràmetre (normalment, un URI) s'ha de definir a la sessió anomenada.
  2. Altres paràmetres es prendran de la clau d'element si està definit.
  3. Si un paràmetre de clau d'element (per exemple, mot de pas) és buit, el plugin cercarà el paràmetre de sessió corresponent.
  4. Si tampoc s'especifica el paràmetre de sessió, s'emprarà el valor definit al paràmetre predeterminat corresponent.
  5. Si tot falla, el plugin emprarà el valor predeterminat codificat en cru.
Exemple 1

Monitoratge de dues instàncies “MySQL1” i “MySQL2”.

Paràmetres de configuració:

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

Com a resultat d'aquesta configuració, cada nom de sessió es pot emprar com a connString a una clau d'element, com ara mysql.ping[MySQL1] o mysql .ping[MySQL2].

Exemple 2

Proporcionant alguns paràmetres a la clau d'element (admès des de Zabbix 6.4.2).

Paràmetres de configuració:

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

Clau d'element: pgsql.ping[session1,new_username,,postgres]

Com a resultat de la configuració, l'agent es connectarà a PostgreSQL emprant els paràmetres següents:

  • Paràmetre URI de la sessió: 192.0.2.234:5432
  • Usuari de la clau d'element: new_username
  • Mot de pas del paràmetre de la sessió (des que s'ha omès a la clau d'element): session_password
  • Nom de la base de dades per la clau d'element: postgres
Exemple 3

Recollint una mètrica emprant els paràmetres de configuració per defecte. Paràmetres de configuració:

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

Clau d'element: pgsql.ping[,,,postgres]

Com a resultat de la configuració, l'agent es connectarà a PostgreSQL emprant els paràmetres següents:

  • URI per defecte: 192.0.2.234:5432
  • Usuari per defecte: zabbix
  • Mot de pas per defecte: password
  • Nom de la base de dades per la clau d'element: postgres
Valors per defecte

Des de Zabbix 6.4.3, podeu establir els valors per defecte per als paràmetres relatius a les connexions (URI, usuari, mot de pas, etc.) a l'arxiu de configuració, en aquest format:

Plugins.<PluginName>.Default.<Parameter>=<Value>

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

Si no es proporciona un valor de cada paràmetre a una clau d'element dels paràmetres de la sessió anomenada, el plugin emprarà el valor per defecte. Si algun paràmetre no s'ha definit, s'empraran els valors en brut.

Si una clau d'element no té paràmetres, l'agent 2 de Zabbix provarà a collir la mètrica emprant valors definits a la secció de paràmetres per defecte.

Connexions

Alguns connectors admeten la recollida de mètriques de diverses instàncies simultàniament. Es poden controlar tant les instàncies locals com les remotes. S'admeten tant les connexions de socket TCP com Unix.

Es recomana configurar connectors per mantindre les connexions d'instància en estat obert. Els avantatges són la reducció de la congestió de la xarxa, la latència i l'ús de la CPU i la memòria a causa de menys connexions. La biblioteca del client s'encarrega d'això.

Es pot determinar quant de temps han de romandre obertes les connexions no emprades mitjançant Plugins.<PluginName>.KeepAlive.
Exemple: Plugins.Memcached.KeepAlive

Plugins

Totes les mètriques admeses per l'agent Zabbix 2 són recollides per els plugins.

Built-in

Els connectors següents per a l'agent Zabbix 2 són disponibles de manera immediata. Feu clic al nom del connector per anar al repositori de connectors amb informació addicional.

Nom del connector Descripció Claus d'elements admeses Comentaris
Agent Mètriques de l'agent Zabbix que s'empra. agent.hostname, agent.ping, agent.version Les claus admeses tenen els mateixos paràmetres que l'agent Zabbix keys.
Ceph Ceph monitoring. ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump,
ceph.ping, ceph.pool.discovery, ceph.status
CPU System CPU monitoring (number of CPUs/CPU cores, discovered CPUs, utilization percentage). system.cpu.discovery, system.cpu.num, system.cpu.util Supported keys have the same parameters as Zabbix agent keys.
Docker Monitoring of 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
See also:
Configuration parameters
File File metrics collection. vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum,
vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time
Supported keys have the same parameters as Zabbix agent keys.
Kernel Kernel monitoring. kernel.maxfiles, kernel.maxproc Supported keys have the same parameters as Zabbix agent keys.
Log Log file monitoring. log, log.count, logrt, logrt.count Supported keys have the same parameters as Zabbix agent keys.

See also:
Plugin configuration parameters (Unix/Windows)
Memcached Memcached server monitoring. memcached.ping, memcached.stats
Modbus Reads Modbus data. modbus.get Supported keys have the same parameters as Zabbix agent keys.
MQTT Receives published values of MQTT topics. mqtt.get To configure encrypted connection to the MQTT broker, specify the TLS parameters in the agent configuration file as named session or default parameters. Currently, TLS parameters cannot be passed as item key parameters.
MSSQL Monitoratge de bases de dades MSSQL. mssql.availability.group.get, mssql.custom.query, mssql.db.get, mssql.job.status.get, mssql.last.backup.get, mssql.local.db.get, mssql.mirroring.get, mssql.nonlocal.db.get, mssql.perfcounter.get, mssql.ping, mssql.quorum.get, mssql.quorum.member.get, mssql.replica.get, mssql.version Per configurar la connexió xifrada a la base de dades, especifiqueu els paràmetres TLS a l'arxiu de configuració de l'agent com a paràmetres de sessió anomenada o per defecte. Actualment, els paràmetres TLS no es poden pas passar com a paràmetres d'elemtn clau.
Aquest plugin és suportat des de Zabbix 6.4.12.
MySQL Monitoring of MySQL and its forks. mysql.db.discovery, mysql.db.size, mysql.get_status_variables,
mysql.ping, mysql.replication.discovery, mysql.replication.get_slave_status, mysql.version
To configure encrypted connection to the database, specify the TLS parameters in the agent configuration file as named session or default parameters. Currently, TLS parameters cannot be passed as item key parameters.
NetIf Monitoring of network interfaces. net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total Supported keys have the same parameters as Zabbix agent keys.
Oracle 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.version
oracle.sga.stats, oracle.sessions.stats, oracle.sys.metrics, oracle.sys.params,
oracle.ts.stats, oracle.ts.discovery, oracle.user.info
Install the Oracle Instant Client before using the plugin.
Proc Process CPU utilization percentage. proc.cpu.util Supported key has the same parameters as Zabbix agent key.
Redis Redis server monitoring. redis.config, redis.info, redis.ping, redis.slowlog.count
Smart S.M.A.R.T. monitoring. smart.attribute.discovery, smart.disk.discovery, smart.disk.get Sudo/root access rights to smartctl are required for the user executing Zabbix agent 2. The minimum required smartctl version is 7.1.

Supported keys can be used with Zabbix agent 2 only on Linux/Windows, both as a passive and active check.
See also:
Configuration parameters
SW Listing of installed packages. system.sw.packages, system.sw.packages.get The supported keys have the same parameters as Zabbix agent key.
Swap Swap space size in bytes/percentage. system.swap.size Supported key has the same parameters as Zabbix agent key.
SystemRun Runs specified command. system.run Supported key has the same parameters as Zabbix agent key.

See also:
Plugin configuration parameters (Unix/Windows)
Systemd Monitoring of systemd services. systemd.unit.discovery, systemd.unit.get, systemd.unit.info
TCP TCP connection availability check. net.tcp.port Supported key has the same parameters as Zabbix agent key.
UDP Monitoring of the UDP services availability and performance. net.udp.service, net.udp.service.perf Supported keys have the same parameters as Zabbix agent keys.
Uname Retrieval of information about the system. system.hostname, system.sw.arch, system.uname Supported keys have the same parameters as Zabbix agent keys.
Uptime System uptime metrics collection. system.uptime Supported key has the same parameters as Zabbix agent key.
VFSDev VFS metrics collection. vfs.dev.discovery, vfs.dev.read, vfs.dev.write Supported keys have the same parameters as Zabbix agent keys.
WebCertificate Monitoring of TLS/SSL website certificates. web.certificate.get
WebPage Web page monitoring. web.page.get, web.page.perf, web.page.regexp Supported keys have the same parameters as Zabbix agent keys.
ZabbixAsync Asynchronous metrics collection. 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
Supported keys have the same parameters as Zabbix agent keys.
ZabbixStats Zabbix server/proxy internal metrics or number of delayed items in a queue. zabbix.stats Supported keys have the same parameters as Zabbix agent keys.
ZabbixSync Synchronous metrics collection. 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.
Supported keys have the same parameters as Zabbix agent keys.
Carregable

Connectors carregables, quan s'inicien amb:
- -V --version - imprimeix la versió del connector i la informació de la llicència;
- -h --help - imprimeix informació d'ajuda.

Feu clic al nom del connector per anar al repositori de connectors amb informació addicional.

Nom del connector Descripció Claus d'elements admesos Comentaris
MongoDB Monitoratge de servidors i clústers MongoDB (document base de dades distribuïda basada en -). 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, mongodb.version
Per configurar connexions xifrades per la base de dades, especifiqueu els paràmetres TLS al fitxer de configuració de l'agent com a paràmetres de sessió anomenada.
Actualment, els paràmetres TLS no es poden passar com a paràmetres clau d'element.

Veieu també Configuració del connector MongoDB paràmetres.
PostgreSQL Monitoratge de PostgreSQL i les seves bifurcacions. pgsql.autovacuum.count, pgsql.archive, pgsql.bgwriter, pgsql.cache.hit, pgsql.connections,
pgsql.custom.query, pgsql.dbstat, pgsql.dbstat.sum, pgsql.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.version, pgsql.wal.stat
Per configurar connexions xifrades a la base de dades, especifiqueu els paràmetres TLS al fitxer de configuració de l'agent com a paràmetres sessió anomenada o per defecte.
Actualment, TLS els paràmetres no es poden passar com a paràmetres clau d'element.

Veieu també Paràmetres de configuració del connector PostgreSQL.

Veieu també: Creació de connectors carregables.