Los plugins amplían las capacidades de monitorización del agent 2 de Zabbix. Escritos en el lenguaje de programación Go, proporcionan una alternativa a los módulos cargables (escritos en C) y a otros métodos para ampliar la funcionalidad de Zabbix.
Estas características son específicas del agent 2 y sus plugins:
Todas las métricas soportadas por el agent 2 de Zabbix son recogidas por plugins. Esta página describe los principios de configuración de plugins desde la perspectiva del usuario y enumera tanto los plugins integrados como los cargables proporcionados por Zabbix.
Desde Zabbix 6.0, los plugins ya no necesitan estar integrados en el agent 2. Puede añadirlos como plugins cargables, simplificando así la creación de plugins para nuevas métricas. Para obtener instrucciones sobre cómo crear sus propios plugins, consulte el Centro de desarrollo y el Plugin de ejemplo para el agent 2 de Zabbix.
Esta sección proporciona principios y mejores prácticas de configuración de complementos comunes.
Todos los complementos se configuran usando el parámetro Plugins.*, que puede ser parte del archivo de configuración del agente Zabbix 2 o el archivo de configuración. del propio complemento Si un complemento utiliza un archivo de configuración separado, la ruta a este archivo debe especificarse en el parámetro Include del archivo de configuración del agente 2 de Zabbix.
Un parámetro de complemento típico tiene la siguiente estructura:
Plugins.<PluginName>.<Parameter>=<Value>
Además, existen dos grupos específicos de parámetros:
Plugins.<PluginName>.Default.<Parameter>=<Value> utilizado para definir valores de parámetros predeterminados.
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> se utiliza para definir conjuntos separados de parámetros para diferentes objetivos de monitoreo a través de [sesiones con nombre] (#named-sessions).
Todos los nombres de parámetros deben cumplir los siguientes requisitos:
Por ejemplo, para realizar comprobaciones activas que no tienen Programación intervalo de actualización inmediatamente después de que el agente se reinicie solo para el complemento Uptime, establezca Plugins.Uptime.System.ForceActiveChecksOnStart=1 en el archivo de configuración. De manera similar, para establecer un límite personalizado para comprobaciones simultáneas para el complemento de CPU, establezca Plugins.CPU.System.Capacity=N en el archivo de configuración.
Puede establecer valores predeterminados para los parámetros relacionados con la conexión (URI, nombre de usuario, contraseña, etc.) en el archivo de configuración con el formato:
Complementos.<Nombre del complemento>.Predeterminado.<Parámetro>=<Valor>
Por ejemplo, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, etc.
Si no se proporciona un valor para dicho parámetro en una clave de métrica o en los parámetros de sesión nombrada, el complemento utilizará el valor predeterminado. Si un parámetro predeterminado tampoco está definido, se utilizarán valores predeterminados codificados.
Si una clave de métrica no tiene ningún parámetro, el agente 2 de Zabbix intentará recopilar la métrica utilizando los valores definidos en la sección de parámetros predeterminados.
Las sesiones con nombre representan un nivel adicional de parámetros de complemento y se pueden usar para especificar conjuntos separados de parámetros de autenticación para cada una de las instancias que se monitorean. Cada parámetro de sesión con nombre debe tener la siguiente estructura:
Complementos.<Nombre del complemento>.Sesiones.<Nombre de la sesión>.<Parámetro>=<Valor>
Se puede utilizar un nombre de sesión como parámetro clave de métrica connString en lugar de especificar un URI, un nombre de usuario y/o una contraseña por separado.
En las claves de métricas, el primer parámetro puede ser un connString o un URI. Si el primer parámetro clave no coincide con ningún nombre de sesión, se tratará como un URI. Tenga en cuenta que no se admite el paso de credenciales URI incrustadas en la clave de la métrica; en su lugar, utilice parámetros de sesión con nombre.
La lista de parámetros de sesión con nombre disponibles depende del complemento.
Es posible anular los parámetros de la sesión especificando nuevos valores en los parámetros clave de la métrica (consulte el ejemplo).
Si no se define un parámetro para la sesión nombrada, el agente 2 de Zabbix utilizará el valor definido en el parámetro del complemento predeterminado.
Los complementos del agente 2 Zabbix buscan valores de parámetros relacionados con la conexión en el siguiente orden:

Monitoreo de dos instancias “MySQL1” y “MySQL2”.
Parámetros de configuración:
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=contraseña_única
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=contraseña_diferenteComo resultado de esta configuración, cada nombre de sesión puede usarse como una cadena de conexión en una clave de métrica, por ejemplo, mysql.ping[MySQL1] o mysql .ping[MySQL2].
Proporcionar algunos de los parámetros en la clave de la métrica.
Parámetros de configuración:
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=antiguo_nombre de usuario
Plugins.PostgreSQL.Sessions.Session1.Password=contraseña_sesiónClave de métrica: pgsql.ping[session1,nuevo_nombre_de_usuario,,postgres]
Como resultado de esta configuración, el agente se conectará a PostgreSQL utilizando los siguientes parámetros:
Recopilar una métrica utilizando los parámetros de configuración predeterminados.
Parámetros de configuración:
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=contraseñaClave de métrica: pgsql.ping[,,,postgres]
Como resultado de esta configuración, el agente se conectará a PostgreSQL usando los parámetros:
Algunos complementos admiten la recopilación de métricas de varias instancias simultáneamente. Se pueden monitorizar tanto instancias locales como remotas. Se admiten conexiones TCP y de socket Unix.
Se recomienda configurar los complementos para mantener las conexiones a las instancias en un estado abierto. Los beneficios son la reducción de la congestión de red, la latencia y el uso de CPU y memoria debido al menor número de conexiones. La biblioteca cliente se encarga de esto.
El período de tiempo durante el cual las conexiones no utilizadas deben permanecer abiertas puede determinarse mediante el parámetro Plugins.<PluginName>.KeepAlive. Ejemplo: Plugins.Memcached.KeepAlive
Los plugins integrados de Zabbix agent 2 están disponibles por defecto. Haga clic en el nombre del plugin para ir al repositorio del plugin con información adicional.
| Nombre del plugin | Descripción | Claves de item soportadas | Comentarios |
|---|---|---|---|
| Agent | Métricas del agent de Zabbix que se está utilizando. | agent.hostname, agent.ping, agent.version | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Ceph | Monitorización de Ceph. | ceph.df.details, ceph.osd.stats, ceph.osd.discovery, ceph.osd.dump, ceph.ping, ceph.pool.discovery, ceph.status |
|
| CPU | Monitorización de la CPU del sistema (número de CPUs/núcleos de CPU, CPUs descubiertas, porcentaje de utilización). | system.cpu.discovery, system.cpu.num, system.cpu.util | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Docker | Monitorización de contenedores Docker. | docker.container_info, docker.container_stats, docker.containers, docker.containers.discovery, docker.data_usage, docker.images, docker.images.discovery, docker.info, docker.ping |
Ver también: Parámetros de configuración |
| File | Recopilación de métricas de archivos. | vfs.file.cksum, vfs.file.contents, vfs.file.exists, vfs.file.md5sum, vfs.file.regexp, vfs.file.regmatch, vfs.file.size, vfs.file.time |
Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Kernel | Monitorización del kernel. | kernel.maxfiles, kernel.maxproc | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Log | Monitorización de archivos de log. | log, log.count, logrt, logrt.count | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. Ver también: Parámetros de configuración del plugin (Unix/Windows) |
| Memcached | Monitorización del server Memcached. | memcached.ping, memcached.stats | |
| Modbus | Lectura de datos Modbus. | modbus.get | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| MQTT | Recibe valores publicados de temas MQTT. | mqtt.get | Para configurar una conexión cifrada al broker MQTT, especifique los parámetros TLS en el archivo de configuración del agent como una sesión nombrada o parámetros por defecto. Actualmente los parámetros TLS no pueden pasarse como parámetros de clave de item. |
| MySQL | Monitorización de MySQL y sus 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 |
Para configurar una conexión cifrada a la base de datos, especifique los parámetros TLS en el archivo de configuración del agent como una sesión nombrada o parámetros por defecto. Actualmente los parámetros TLS no pueden pasarse como parámetros de clave de item. |
| NetIf | Monitorización de interfaces de red. | net.if.collisions, net.if.discovery, net.if.in, net.if.out, net.if.total | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Oracle | Monitorización de 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, oracle.version |
Instale el Oracle Instant Client antes de utilizar el plugin. |
| Proc | Porcentaje de utilización de la CPU por proceso. | proc.cpu.util | La clave soportada tiene los mismos parámetros que la clave del agent de Zabbix. |
| Redis | Monitorización del server Redis. | redis.config, redis.info, redis.ping, redis.slowlog.count | Para configurar una conexión cifrada a Redis, especifique los parámetros TLS en el archivo de configuración del agent como una sesión nombrada o parámetros por defecto. Los parámetros TLS no pueden pasarse como parámetros de clave de item. Tenga en cuenta que una configuración TLS incorrecta o no válida puede impedir que Zabbix agent 2 se inicie, por lo que debe verificar los archivos de certificados, permisos y rutas antes de habilitar TLS. |
| Smart | Monitorización S.M.A.R.T. | smart.attribute.discovery, smart.disk.discovery, smart.disk.get | La versión mínima requerida de smartctl es 7.1. Se requieren derechos de acceso sudo/root a smartctl para el usuario que ejecuta Zabbix agent 2. El plugin utiliza sólo los siguientes comandos: /usr/sbin/smartctl -a */usr/sbin/smartctl --scan * /usr/sbin/smartctl -j -V Las claves soportadas sólo pueden utilizarse con Zabbix agent 2 en Linux/Windows, tanto como comprobación pasiva como activa. Ver también: Parámetros de configuración |
| SW | Listado de paquetes instalados. | system.sw.packages, system.sw.packages.get | Las claves soportadas tienen los mismos parámetros que la clave del agent de Zabbix. |
| Swap | Tamaño del espacio swap en bytes/porcentaje. | system.swap.size | La clave soportada tiene los mismos parámetros que la clave del agent de Zabbix. |
| SystemRun | Ejecuta el comando especificado. | system.run | La clave soportada tiene los mismos parámetros que la clave del agent de Zabbix. Ver también: Parámetros de configuración del plugin (Unix/Windows) |
| Systemd | Monitorización de servicios systemd. | systemd.unit.discovery, systemd.unit.get, systemd.unit.info | |
| TCP | Comprobación de disponibilidad de conexión TCP. | net.tcp.port | La clave soportada tiene los mismos parámetros que la clave del agent de Zabbix. |
| UDP | Monitorización de la disponibilidad y el rendimiento de los servicios UDP. | net.udp.service, net.udp.service.perf | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Uname | Recuperación de información sobre el sistema. | system.hostname, system.sw.arch, system.uname | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| Uptime | Recopilación de métricas de tiempo de actividad del sistema. | system.uptime | La clave soportada tiene los mismos parámetros que la clave del agent de Zabbix. |
| VFSDev | Recopilación de métricas VFS. | vfs.dev.discovery, vfs.dev.read, vfs.dev.write | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| WebCertificate | Monitorización de certificados TLS/SSL de sitios web. | web.certificate.get | |
| WebPage | Monitorización de páginas web. | web.page.get, web.page.perf, web.page.regexp | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| ZabbixAsync | Recopilación asíncrona de métricas. | 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 |
Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| ZabbixStats | Métricas internas del server/proxy de Zabbix o número de items retrasados en una cola. | zabbix.stats | Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
| ZabbixSync | Recopilación síncrona de métricas. | 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. |
Las claves soportadas tienen los mismos parámetros que las claves del agent de Zabbix. |
Los plugins cargables de Zabbix agent 2 no están disponibles por defecto y deben instalarse por separado:
apt install zabbix-agent2-plugin-ember-plus) o compilar pluginsAntes de instalar un plugin, por favor revise su archivo README. Puede contener requisitos específicos e instrucciones de instalación.
Haga clic en el nombre del plugin para ir al repositorio del plugin, que contiene el archivo README del plugin con información adicional.
| Nombre del plugin | Descripción | Claves de item soportadas | Comentarios |
|---|---|---|---|
| Ember+ | Monitorización de Ember+. | ember.get | Consulte también Parámetros de configuración del plugin Ember+. |
| MongoDB | Monitorización de servidores y clústeres de MongoDB (base de datos distribuida basada en documentos). | 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 |
Para configurar conexiones cifradas a la base de datos, especifique los parámetros TLS en el archivo de configuración del agent como parámetros de sesión nombrada. Actualmente, los parámetros TLS no pueden pasarse como parámetros de la clave del item. Consulte también Parámetros de configuración del plugin MongoDB. |
| MSSQL | Monitorización de la base de datos 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 | Para configurar la conexión cifrada a la base de datos, especifique los parámetros TLS en el archivo de configuración del agent como parámetros de sesión nombrada o por defecto. Actualmente, los parámetros TLS no pueden pasarse como parámetros de la clave del item. Consulte también Parámetros de configuración del plugin MSSQL. |
| NVIDIA GPU | Monitorización de NVIDIA GPU. | nvml.device.count, nvml.device.decoder.utilization, nvml.device.ecc.mode, nvml.device.encoder.stats.get, nvml.device.encoder.utilization, nvml.device.energy.consumption, nvml.device.errors.memory, nvml.device.errors.register, nvml.device.fan.speed.avg, nvml.device.get, nvml.device.graphics.frequency, nvml.device.memory.bar1.get, nvml.device.memory.fb.get, nvml.device.memory.frequency, nvml.device.pci.utilization, nvml.device.performance.state, nvml.device.power.limit, nvml.device.power.usage, nvml.device.serial, nvml.device.sm.frequency, nvml.device.temperature, nvml.device.utilization, nvml.device.video.frequency, nvml.system.driver.version, nvml.version | Consulte también Parámetros de configuración del plugin NVIDIA GPU. |
| PostgreSQL | Monitorización de PostgreSQL y sus 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.version, pgsql.wal.stat |
Para configurar conexiones cifradas a la base de datos, especifique los parámetros TLS en el archivo de configuración del agent como parámetros de sesión nombrada o por defecto. Actualmente, los parámetros TLS no pueden pasarse como parámetros de la clave del item. Consulte también Parámetros de configuración del plugin PostgreSQL. |
Los plugins cargables, cuando se lanzan con:
- -V --version - imprime la versión del plugin y la información de la licencia;
- -h --help - imprime la información de ayuda.