7 Parámetros de configuración de los plugins

Consulte los parámetros de configuración para los plugins de Zabbix agent 2:

Principios de configuración de plugins

Esta página describe los principios de configuración de plugins y las mejores prácticas.

Todos los plugins se configuran utilizando el parámetro Plugins.*, que puede formar parte del archivo de configuración del agent Zabbix 2 o de un archivo de configuración propio del plugin. Si un plugin utiliza un archivo de configuración independiente, la ruta a este archivo debe especificarse en el parámetro Include del archivo de configuración del agent Zabbix 2.

Un parámetro típico de plugin 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 por defecto.

  • Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> utilizado para definir conjuntos separados de parámetros para diferentes objetivos de monitorización mediante sesiones nombradas.

Todos los nombres de parámetros deben cumplir los siguientes requisitos:

  • se recomienda escribir en mayúsculas los nombres de los plugins
  • el parámetro debe escribirse en mayúsculas
  • no se permiten caracteres especiales
  • la anidación no está limitada por un nivel máximo
  • el número de parámetros no está limitado

Por ejemplo, para realizar chequeos activos que no tengan el intervalo de actualización Scheduling inmediatamente después del reinicio del agent sólo para el plugin Uptime, establezca Plugins.Uptime.System.ForceActiveChecksOnStart=1 en el archivo de configuración. De forma similar, para establecer un límite personalizado para los chequeos concurrentes para el plugin CPU, establezca Plugins.CPU.System.Capacity=N en el archivo de configuración.

Valores por defecto

Puede establecer valores por defecto 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:

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

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 item o en los parámetros de la sesión nombrada, el plugin utilizará el valor por defecto. Si un parámetro por defecto tampoco está definido, se utilizarán los valores por defecto predefinidos.

Si una clave de item no tiene ningún parámetro, el agent 2 de Zabbix intentará recopilar la métrica utilizando los valores definidos en la sección de parámetros por defecto.

Sesiones nombradas

Las sesiones nombradas representan un nivel adicional de parámetros del plugin y pueden utilizarse para especificar conjuntos separados de parámetros de autenticación para cada una de las instancias que se monitorizan. Cada parámetro de sesión nombrada debe tener la siguiente estructura:

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

Un nombre de sesión puede utilizarse como parámetro de clave de item connString en lugar de especificar una URI, nombre de usuario y/o contraseña por separado.

En las claves de item, el primer parámetro puede ser una connString o una URI. Si el primer parámetro de la clave no coincide con ningún nombre de sesión, se tratará como una URI. Tenga en cuenta que no se admite pasar credenciales URI integradas en la clave del item, utilice en su lugar los parámetros de sesión nombrada.

La lista de parámetros de sesión nombrada disponibles depende del plugin.

Es posible sobrescribir los parámetros de sesión especificando nuevos valores en los parámetros de la clave del item (consulte el ejemplo).

Si un parámetro no está definido para la sesión nombrada, Zabbix agent 2 utilizará el valor definido en el parámetro por defecto del plugin.

Prioridad de los parámetros

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

  1. El primer parámetro de la clave del item 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, una URI) debe estar definido en la sesión nombrada.
  2. Otros parámetros se tomarán de la clave del item si están definidos.
  3. Si un parámetro de la clave del item (por ejemplo, password) está vacío, el plugin buscará el parámetro correspondiente en la sesión nombrada.
  4. Si el parámetro de la sesión tampoco está especificado, se utilizará el valor definido en el parámetro por defecto correspondiente.
  5. Si todo lo anterior falla, el plugin utilizará el valor por defecto codificado.

Ejemplo 1

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

Como resultado de esta configuración, cada nombre de sesión puede utilizarse como connString en una clave de item, por ejemplo, mysql.ping[MySQL1] o mysql.ping[MySQL2].

Ejemplo 2

Proporcionando algunos de los parámetros en la clave del item.

Parámetros de configuración:

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

Clave del item: pgsql.ping[session1,new_username,,postgres]

Como resultado de esta configuración, el agent 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 del item: new_username
  • Contraseña del parámetro de sesión (ya que se omite en la clave del item): session_password
  • Nombre de la base de datos de la clave del item: postgres

Ejemplo 3

Recopilación de una métrica utilizando los parámetros de configuración por defecto.

Parámetros de configuración:

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

Clave del item: pgsql.ping[,,,postgres]

Como resultado de esta configuración, el agent se conectará a PostgreSQL utilizando los siguientes parámetros:

  • URI por defecto: 192.0.2.234:5432
  • Nombre de usuario por defecto: zabbix
  • Contraseña por defecto: password
  • Nombre de la base de datos de la clave del item: postgres

Conexiones

Algunos plugins permiten recopilar métricas de varias instancias simultáneamente. Se pueden monitorizar instancias locales y remotas. Se admiten conexiones TCP y Unix-socket.

Se recomienda configurar los plugins para mantener las conexiones a las instancias en estado abierto. Las ventajas 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 periodo 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