Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

2 Complementos

Descripción general

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:

  • Intervalos programados y flexibles tanto para comprobaciones pasivas como activas
  • Gestión de la cola de tareas con respecto a la programación y concurrencia de tareas
  • Tiempos de espera a nivel de plugin
  • Comprobación de compatibilidad del agent 2 de Zabbix y sus plugins al inicio

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.

Configuración de complementos

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:

  • se recomienda escribir en mayúscula los nombres de sus complementos;
  • el parámetro debe estar en mayúscula;
  • los caracteres especiales no están permitidos;
  • el anidamiento no está limitado por un nivel máximo;
  • el número de parámetros no está limitado.

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.

Valores predeterminados

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.

Sesiones nombradas

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.

Prioridad del parámetro

Los complementos del agente 2 Zabbix buscan valores de parámetros relacionados con la conexión en el siguiente orden:

  1. El primer parámetro clave de la métrica se compara con los nombres de las sesiones. Si no se encuentra ninguna coincidencia, se trata como un valor real; en este caso, se omitirá el paso 3. Si se encuentra una coincidencia, el valor del parámetro (normalmente, un URI) debe definirse en la sesión nombrada.
  2. Otros parámetros se tomarán de la clave de la métrica, si están definidos.
  3. Si un parámetro clave de métrica (por ejemplo, contraseña) está vacío, el complemento buscará el parámetro de sesión con nombre correspondiente.
  4. Si tampoco se especifica el parámetro de sesión, se utilizará el valor definido en el parámetro predeterminado correspondiente.
  5. Si todo lo demás falla, el complemento utilizará el valor predeterminado codificado.
Ejemplo 1

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_diferente

Como 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].

Ejemplo 2

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ón

Clave 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:

  • URI del parámetro de sesión: 192.0.2.234:5432
  • Nombre de usuario de la clave de la métrica: nuevo_nombre_de_usuario
  • Contraseña del parámetro de sesión (ya que se omite en la clave de la métrica): contraseña_sesión
  • Nombre de la base de datos de la clave de la métrica: postgres
Ejemplo 3

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ña

Clave de métrica: pgsql.ping[,,,postgres]

Como resultado de esta configuración, el agente se conectará a PostgreSQL usando los parámetros:

  • URI predeterminado: 192.0.2.234:5432
  • Nombre de usuario predeterminado: zabbix
  • Contraseña predeterminada: contraseña
  • Nombre de la base de datos de la clave de la métrica: postgres
Conexiones

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

Plugins integrados

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.

Plugins cargables

Los plugins cargables de Zabbix agent 2 no están disponibles por defecto y deben instalarse por separado:

Antes 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.