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:
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ó.
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:
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ó.
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.
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.
Zabbix agent 2 plugins search for connection-related parameter values in the following order:
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]
.
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:
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:
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
Totes les mètriques admeses per l'agent Zabbix 2 són recollides per els plugins.
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. |
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. |
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 |
Els binaris dels plugins precompilats per Windows són disponibles des de Zabbix 6.4.4 i són compatibles amb versions anteriors a la 6.4. 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. |
MSSQL | Monitoratge de la base 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 | Aquest plugin s'admet des de Zabbix 6.4.12. Els binaris de plugins precompilats per a Windows són disponibles des de Zabbix 6.4.13 i són compatibles amb la versió 6.4.12. Per configurar la connexió xifrada a la base de dades, feu-hi constar els paràmetres a l'arxiu de configuració de l'agent als paràmetres sessió anomenada o per defecte. Actualment, Els paràmetes TLS no es poden pas passar com a paràmetres clau d'element. Veieu també els paràmetres de configuració del plugin d'MSSQL. |
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 |
Els binaris de plugins precompilats per a Windows són disponibles des de Zabbix 6.4.4 i són compatibles amb versions anteriors a la 6.4. 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 plugins carregables.