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

2 Autorregistro de agente activo

Descripción general

Es posible permitir la autorregistro de agentes activos de Zabbix, después de lo cual el server puede comenzar a monitorearlos. De esta manera, se pueden agregar nuevos hosts para su monitoreo sin configurarlos manualmente en el server.

El autorregistro puede ocurrir cuando un agente activo previamente desconocido solicita comprobaciones.

Esta función puede ser muy útil para el monitoreo automático de nuevos nodos en la Nube. Tan pronto como tenga un nuevo nodo en la Nube, Zabbix comenzará automáticamente la recopilación de datos de rendimiento y disponibilidad del host.

El autorregistro de agentes activos también admite el monitoreo de hosts agregados con comprobaciones pasivas. Cuando el agente activo solicita comprobaciones, siempre que tenga definidos los parámetros de configuración ListenIP o ListenPort en el archivo de configuración, estos se envían al server. Si se especifican varias direcciones IP, la primera se envía al server.

El server, al agregar el nuevo host autorregistrado, utiliza la dirección IP y el puerto recibidos para configurar el agent. Si no se recibe ningún valor de dirección IP, se utiliza la que se usó para la conexión entrante. Si no se recibe ningún valor de puerto, se utiliza 10050.

Es posible especificar que el host debe autorregistrarse con un nombre DNS como la interfaz de agent predeterminada.

El autorregistro se vuelve a ejecutar:

  • si cambia la información de metadatos del host:
    • debido a que HostMetadata cambió y el agent se reinició
    • debido a que el valor devuelto por HostMetadataItem cambió
  • para hosts creados manualmente sin metadatos
  • si un host se cambia manualmente para ser monitoreado por otro proxy de Zabbix
  • si el autorregistro para el mismo host proviene de un nuevo proxy de Zabbix

El intervalo de latido del autorregistro de agentes activos para el server y el proxy de Zabbix es de 120 segundos. Por lo tanto, en caso de que se elimine un host descubierto, el autorregistro se volverá a ejecutar en 120 segundos.

Configuración

Especificar el server

Asegúrese de que el server de Zabbix esté identificado en el archivo de configuración del agent - zabbix_agentd.conf:

ServerActive=10.0.0.1

A menos que defina específicamente un Hostname en zabbix_agentd.conf, el server utilizará el nombre de host del sistema donde se encuentra el agent para nombrar el host. El nombre de host del sistema en Linux se puede obtener ejecutando el comando hostname.

Si Hostname se define en la configuración del agent de Zabbix como una lista de hosts separados por comas, se crearán hosts para todos los nombres de host listados.

Reinicie el agent después de realizar cualquier cambio en el archivo de configuración.

Acción para el autoregistro activo del agent

Cuando el server recibe una solicitud de autoregistro de un agent, llama a una acción. Debe configurarse una acción con fuente de evento "Autoregistro" para el autoregistro del agent.

No es necesario configurar el descubrimiento de red para que los agents activos se autoregistren.

En el frontend de Zabbix, vaya a Alertas → Acciones, seleccione Acciones de autoregistro y haga clic en Crear acción:

  • En la pestaña Acción, asigne un nombre a su acción
  • Opcionalmente, especifique condiciones. Puede hacer una coincidencia de subcadena o una coincidencia de expresión regular en las condiciones para el nombre del host/metadatos del host. Si va a utilizar la condición "Metadatos del host", consulte la siguiente sección.
  • En la pestaña Operaciones, agregue las operaciones relevantes, como: 'Agregar host', 'Agregar al grupo de hosts' (por ejemplo, Discovered hosts), 'Vincular templates', etc.

Si es probable que los hosts que se autoregistrarán solo sean compatibles con la monitorización activa (como los hosts que están protegidos por firewall desde su Zabbix server), entonces puede que desee crear un template específico como Template_Linux-active para vincularlo.

Los hosts creados se agregan al grupo Discovered hosts (por defecto, configurable en Administración > General > Otros). Si desea que los hosts se agreguen a otro grupo, agregue una operación Eliminar del grupo de hosts (especificando "Discovered hosts") y también agregue una operación Agregar al grupo de hosts (especificando otro grupo de hosts), porque un host debe pertenecer a un grupo de hosts.

Autoregistro seguro

Es posible un método seguro de autoregistro configurando la autenticación basada en PSK con conexiones cifradas.

El nivel de cifrado se configura globalmente en Administración > General > Autoregistro. Es posible seleccionar sin cifrado, cifrado TLS con autenticación PSK o ambos (de modo que algunos hosts puedan registrarse sin cifrado mientras que otros lo hagan mediante cifrado).

La autenticación por PSK es verificada por el servidor Zabbix antes de añadir un host. Si tiene éxito, el host se añade y las Conexiones desde/hacia el host se establecen solo en 'PSK' con la identidad/clave precompartida igual que en la configuración global de autoregistro.

Para garantizar la seguridad del autoregistro en instalaciones que utilizan proxies, se debe habilitar el cifrado entre el servidor Zabbix y el proxy.

Usar DNS como interfaz predeterminada

Los parámetros de configuración HostInterface y HostInterfaceItem parámetros de configuración permiten especificar un valor personalizado para la interfaz del host durante la autorregistro.

Más específicamente, son útiles si el host debe ser autorregistrado con un nombre DNS como la interfaz de agent predeterminada en lugar de su dirección IP. En ese caso, el nombre DNS debe especificarse o devolverse como el valor de los parámetros HostInterface o HostInterfaceItem. Si el valor de uno de estos parámetros cambia, por ejemplo, de una dirección IP a un nombre DNS o viceversa, la interfaz predeterminada del host autorregistrado se actualizará en consecuencia. Esta actualización se aplica al host existente, no creando uno nuevo. Para enviar el nuevo valor, el agent debe reiniciarse para que vuelva a iniciar el proceso de autorregistro.

Si los parámetros HostInterface o HostInterfaceItem no están configurados, se utiliza el parámetro listen_dns en su lugar. Este valor se determina realizando una búsqueda inversa de DNS de la dirección IP del agent. Si la resolución inversa de DNS no está configurada correctamente o devuelve un nombre no válido, puede resultar en un autorregistro incorrecto o fallido debido a un valor de interfaz no válido.

Uso de metadatos de host

Cuando el agent envía una solicitud de autorregistro al server, envía su nombre de host. En algunos casos (por ejemplo, nodos de la nube de Amazon) un nombre de host no es suficiente para que el server de Zabbix diferencie los hosts descubiertos. Los metadatos de host pueden usarse opcionalmente para enviar otra información desde un agent al server.

Los metadatos de host se configuran en el archivo de configuración del agent - zabbix_agentd.conf. Hay 2 formas de especificar los metadatos de host en el archivo de configuración:

HostMetadata
       HostMetadataItem

Consulte la descripción de las opciones en el enlace anterior.

El parámetro HostMetadataItem puede devolver hasta 65535 puntos de código UTF-8. Un valor más largo será truncado.

Tenga en cuenta que en MySQL, la longitud máxima efectiva en caracteres será menor si el valor devuelto contiene caracteres multibyte. Por ejemplo, un valor que contenga solo caracteres de 3 bytes se limitará a 21844 caracteres en total, mientras que un valor que contenga solo caracteres de 4 bytes se limitará a 16383 símbolos.

Se produce un intento de autorregistro cada vez que un agent activo envía una solicitud para actualizar las comprobaciones activas al server. El retraso entre solicitudes se especifica en el parámetro RefreshActiveChecks del agent. La primera solicitud se envía inmediatamente después de reiniciar el agent.

Ejemplo 1

Uso de metadatos de host para distinguir entre hosts Linux y Windows.

Supongamos que desea que los hosts se registren automáticamente por el servidor Zabbix. Tiene agentes Zabbix activos (ver sección "Configuración" arriba) en su red. Hay hosts Windows y hosts Linux en su red y tiene disponibles las plantillas "Linux by Zabbix agent" y "Windows by Zabbix agent" en su frontend de Zabbix. Por lo tanto, en el registro del host, le gustaría que la plantilla adecuada de Linux/Windows se aplique al host que se está registrando. Por defecto, sólo el nombre del host se envía al servidor en el registro automático, lo que podría no ser suficiente. Para asegurarse de que la plantilla adecuada se aplique al host, debe utilizar metadatos de host.

Configuración del frontend

Lo primero que hay que hacer es configurar el frontend. Cree 2 acciones. La primera acción:

  • Nombre: Autoregistro de host Linux
  • Condiciones: Los metadatos del host contienen Linux
  • Operaciones: Vincular templates: Linux por Zabbix agent

En este caso puede omitir la operación "Añadir host". Vincular un template a un host requiere añadir primero el host, por lo que el server lo hará automáticamente.

La segunda acción:

  • Nombre: Autoregistro de host Windows
  • Condiciones: Los metadatos del host contienen Windows
  • Operaciones: Vincular templates: Windows por Zabbix agent

Configuración del agent

Ahora necesita configurar los agents. Agregue la siguiente línea a los archivos de configuración del agent:

HostMetadataItem=system.uname

De esta manera, se asegura de que los metadatos del host contengan "Linux" o "Windows" dependiendo del host en el que se esté ejecutando el agent. Un ejemplo de metadatos del host en este caso:

Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
       Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32

No olvide reiniciar el agent después de realizar cualquier cambio en el archivo de configuración.

Ejemplo 2

Paso 1

Uso de metadatos de host para permitir cierta protección básica contra el registro de hosts no deseados.

Configuración del frontend

Cree una acción en el frontend, utilizando algún código secreto difícil de adivinar para evitar hosts no deseados:

  • Nombre: Autoregistration action Linux
  • Condiciones:
    • Tipo de cálculo: AND
    • Condición (A): Host metadata contiene //Linux//
    • Condición (B): Host metadata contiene //21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae//
  • Operaciones:
    • Enviar mensaje a usuarios: Admin por todos los medios
    • Añadir a grupos de hosts: Linux servers
    • Vincular templates: Linux by Zabbix agent

Tenga en cuenta que este método por sí solo no proporciona una protección sólida porque los datos se transmiten en texto plano. Se requiere recargar la caché de configuración para que los cambios tengan efecto inmediato.

Configuración del agent

Agregue la siguiente línea al archivo de configuración del agent:

HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

donde "Linux" es una plataforma y el resto de la cadena es el texto secreto difícil de adivinar.

No olvide reiniciar el agent después de realizar cualquier cambio en el archivo de configuración.

Paso 2

Es posible agregar monitoreo adicional para un host ya registrado.

Configuración del frontend

Actualice la acción en el frontend:

  • Nombre: Autoregistration action Linux
  • Condiciones:
    • Tipo de cálculo: AND
    • Condición (A): Los metadatos del host contienen Linux
    • Condición (B): Los metadatos del host contienen 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
  • Operaciones:
    • Enviar mensaje a los usuarios: Admin a través de todos los medios
    • Añadir a los grupos de hosts: Linux servers
    • Vincular templates: Linux by Zabbix agent
    • Vincular templates: MySQL by Zabbix Agent

Configuración del agent

Actualice la siguiente línea en el archivo de configuración del agent:

HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae

No olvide reiniciar el agent después de realizar cualquier cambio en el archivo de configuración.