3 Descubrimiento de bajo nivel

Descripción general

El descubrimiento de bajo nivel (LLD) proporciona una forma de crear automáticamente items, triggers y gráficos para distintas entidades en un host. Por ejemplo, Zabbix puede comenzar automáticamente a monitorizar sistemas de archivos o interfaces de red en su máquina, sin necesidad de crear manualmente items para cada sistema de archivos o interfaz de red. LLD también puede crear hosts, por ejemplo, para poblar máquinas virtuales descubiertas en un hipervisor, y reglas de descubrimiento anidadas, lo que permite el descubrimiento multinivel. Además, es posible configurar Zabbix para eliminar automáticamente las entidades innecesarias en función de los resultados reales del descubrimiento realizado periódicamente.

Un usuario puede definir sus propios tipos de descubrimiento, siempre que sigan un protocolo JSON determinado.

La arquitectura general del proceso de descubrimiento es la siguiente.

En primer lugar, un usuario crea una regla de descubrimiento en Recopilación de datos > Templates, en la columna Discovery. Una regla de descubrimiento consta de (1) un item que descubre las entidades necesarias (por ejemplo, sistemas de archivos o interfaces de red) y (2) prototipos de items, triggers y gráficos que deben crearse en función del valor de ese item.

Un item que descubre las entidades necesarias es como un item normal de los que se ven en otras partes: el server solicita a un Zabbix agent (o al tipo que se haya configurado para el item) un valor de ese item, y el agent responde con un valor textual. La diferencia es que el valor con el que responde el agent debe contener una lista de entidades descubiertas en formato JSON. Aunque los detalles de este formato solo son importantes para quienes implementan comprobaciones de descubrimiento personalizadas, es necesario saber que el valor devuelto contiene una lista de pares macro → valor. Por ejemplo, el item "net.if.discovery" podría devolver dos pares: "{#IFNAME}" → "lo" y "{#IFNAME}" → "eth0".

Estas macros se utilizan en nombres, claves y otros campos de prototipo, donde luego se sustituyen por los valores recibidos para crear items, triggers, gráficos o incluso hosts reales para cada entidad descubierta. Consulte la lista completa de opciones para usar macros de LLD.

Cuando el server recibe un valor para un item de descubrimiento, examina los pares macro → valor y, para cada par, genera items, triggers y gráficos reales basados en sus prototipos. En el ejemplo anterior con "net.if.discovery", el server generaría un conjunto de items, triggers y gráficos para la interfaz de loopback "lo", y otro conjunto para la interfaz "eth0".

Tenga en cuenta que desde Zabbix 4.2 ha cambiado el formato del JSON devuelto por las reglas de descubrimiento de bajo nivel. Ya no se espera que el JSON contenga el objeto "data". El descubrimiento de bajo nivel ahora aceptará un JSON normal que contenga un array, para admitir nuevas funciones como el preprocesamiento del valor del item y rutas personalizadas a los valores de macros de descubrimiento de bajo nivel en un documento JSON.

Las claves de descubrimiento integradas se han actualizado para devolver un array de filas LLD en la raíz del documento JSON. Zabbix extraerá automáticamente una macro y un valor si un campo del array utiliza la sintaxis {#MACRO} como clave. Cualquier nueva comprobación de descubrimiento nativa utilizará la nueva sintaxis sin los elementos "data". Al procesar primero un valor de descubrimiento de bajo nivel, se localiza la raíz (array en $. o $.data).

Aunque el elemento "data" se ha eliminado de todos los items nativos relacionados con el descubrimiento, por compatibilidad con versiones anteriores Zabbix seguirá aceptando la notación JSON con un elemento "data", aunque se desaconseja su uso. Si el JSON contiene un objeto con un único elemento array "data", entonces extraerá automáticamente el contenido del elemento mediante JSONPath $.data. El descubrimiento de bajo nivel ahora acepta macros LLD opcionales definidas por el usuario con una ruta personalizada especificada con sintaxis JSONPath.

Como resultado de los cambios anteriores, los agents más recientes ya no podrán funcionar con un server Zabbix más antiguo.

Véase también: Entidades descubiertas

Configuración del descubrimiento de bajo nivel

Vamos a ilustrar el descubrimiento de bajo nivel basándonos en un ejemplo de descubrimiento de sistemas de archivos.

Para configurar el descubrimiento, haga lo siguiente:

  • Vaya a: Recopilación de datos > Templates o Hosts.
  • Haga clic en Descubrimiento en la fila de la template/host correspondiente.

  • Haga clic en Crear regla de descubrimiento en la esquina superior derecha de la pantalla.
  • Complete el formulario de la regla de descubrimiento con los detalles requeridos.

Regla de descubrimiento

El formulario de la regla de descubrimiento contiene cinco pestañas que representan, de izquierda a derecha, el flujo de datos durante el descubrimiento:

  • Regla de descubrimiento - especifica, principalmente, el item integrado o script personalizado para recuperar los datos de descubrimiento.
  • Preprocesamiento - aplica cierto preprocesamiento a los datos descubiertos.
  • Macros LLD - permite extraer algunos valores de macros para usarlos en items, triggers, etc. descubiertos.
  • Filtros - permite filtrar los valores descubiertos.
  • Sobrescrituras - permite modificar items, triggers, gráficos o prototipos de host al aplicarse a objetos descubiertos específicos.

La pestaña Regla de descubrimiento contiene la clave del item que se utilizará para el descubrimiento (así como algunos atributos generales de la regla de descubrimiento):

Todos los campos de entrada obligatorios están marcados con un asterisco rojo.

Parámetro Descripción
Nombre Nombre de la regla de descubrimiento.
Tipo El tipo de comprobación para realizar el descubrimiento.
En este ejemplo estamos usando un tipo de item Zabbix agent.
La regla de descubrimiento también puede ser un item dependiente, dependiendo de un item normal. No puede depender de otra regla de descubrimiento. Para un item dependiente, seleccione el tipo correspondiente (Item dependiente) y especifique el item maestro en el campo 'Master item'. El item maestro debe existir.
Clave Introduzca la clave del item de descubrimiento (hasta 2048 caracteres).
Por ejemplo, puede usar la clave de item integrada "vfs.fs.discovery" para devolver una cadena JSON con la lista de sistemas de archivos presentes en el equipo, sus tipos y opciones de montaje.
Tenga en cuenta que otra opción para el descubrimiento de sistemas de archivos es usar resultados de descubrimiento mediante la clave de agent "vfs.fs.get" (consulte el ejemplo).
Intervalo de actualización Este campo especifica con qué frecuencia Zabbix realiza el descubrimiento. Al principio, cuando solo está configurando el descubrimiento del sistema de archivos, puede que desee establecer un intervalo pequeño, pero una vez que sepa que funciona puede configurarlo en 30 minutos o más, porque los sistemas de archivos normalmente no cambian con mucha frecuencia.
Se admiten sufijos de tiempo, por ejemplo, 30s, 1m, 2h, 1d.
Se admiten macros de usuario.
Nota: El intervalo de actualización solo puede establecerse en '0' si existen intervalos personalizados con un valor distinto de cero. Si se establece en '0' y existe un intervalo personalizado (flexible o programado) con un valor distinto de cero, el item será consultado durante la duración del intervalo personalizado.
Las nuevas reglas de descubrimiento se comprobarán dentro de los 60 segundos posteriores a su creación, a menos que tengan Programación o Intervalo de actualización flexible y el Intervalo de actualización esté establecido en 0.
Tenga en cuenta que, para una regla de descubrimiento existente, el descubrimiento puede realizarse inmediatamente pulsando el botón Ejecutar ahora.
Intervalos personalizados Puede crear reglas personalizadas para comprobar el item:
Flexible - crea una excepción al Intervalo de actualización (intervalo con una frecuencia diferente)
Programación - crea una programación de sondeo personalizada.
Para obtener información detallada, consulte Intervalos personalizados.
Timeout Establezca el timeout de la comprobación de descubrimiento. Seleccione la opción de timeout:
Global - se utiliza el timeout global/del proxy (mostrado en el campo Timeout atenuado);
Sobrescribir - se utiliza un timeout personalizado (establecido en el campo Timeout; rango permitido: 1 - 600s). Se admiten sufijos de tiempo, por ejemplo, 30s, 1m, y macros de usuario.
Al hacer clic en el enlace Timeouts puede configurar los timeouts del proxy o los timeouts globales (si no se utiliza un proxy). Tenga en cuenta que el enlace Timeouts solo es visible para usuarios del tipo Super admin con permisos para las secciones del frontend Administración > General o Administración > Proxies.
Eliminar recursos perdidos Especifique cuánto tiempo debe pasar para que la entidad descubierta se elimine una vez que su estado de descubrimiento pase a ser "Ya no descubierto":
Nunca - no se eliminará;
Inmediatamente - se eliminará inmediatamente;
Después - se eliminará después del período de tiempo especificado. El valor debe ser mayor que el valor de Deshabilitar recursos perdidos.
Se admiten sufijos de tiempo, por ejemplo, 2h, 1d.
Se admiten macros de usuario.
Nota: No se recomienda usar "Inmediatamente", ya que una edición incorrecta del filtro podría provocar que la entidad se elimine junto con todos los datos históricos.
Tenga en cuenta que los recursos deshabilitados manualmente no serán eliminados por el descubrimiento de bajo nivel.
Deshabilitar recursos perdidos Especifique cuánto tiempo debe pasar para que la entidad descubierta se deshabilite una vez que su estado de descubrimiento pase a ser "Ya no descubierto":
Nunca - no se deshabilitará;
Inmediatamente - se deshabilitará inmediatamente;
Después - se deshabilitará después del período de tiempo especificado. El valor debe ser mayor que el intervalo de actualización de la regla de descubrimiento.
Tenga en cuenta que los recursos deshabilitados automáticamente volverán a habilitarse si son redescubiertos por el descubrimiento de bajo nivel. Los recursos deshabilitados manualmente no volverán a habilitarse si son redescubiertos.
Este campo no se muestra si Eliminar recursos perdidos está establecido en "Inmediatamente".
Se admiten sufijos de tiempo, por ejemplo, 2h, 1d.
Se admiten macros de usuario.
Descripción Introduzca una descripción.
Habilitado Si está marcado, la regla se procesará.

No se conserva el historial de la regla de descubrimiento.

Preprocesamiento

La pestaña Preprocesamiento permite definir reglas de transformación para aplicar al resultado del descubrimiento. En este paso es posible realizar una o varias transformaciones. Las transformaciones se ejecutan en el orden en que se definen. Todo el preprocesamiento lo realiza Zabbix server.

Vea también:

Type
Transformación Descripción
Text
Expresión regular Haga coincidir el valor recibido con la expresión regular <pattern> y sustituya el valor por el <output> extraído. La expresión regular admite la extracción de un máximo de 10 grupos capturados con la secuencia \N.
Parámetros:
pattern - expresión regular
output - plantilla de formato de salida. Una secuencia de escape \N (donde N=1…9) se sustituye por el N.º grupo coincidente. Una secuencia de escape \0 se sustituye por el texto coincidente.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Reemplazar Busque la cadena de búsqueda y sustitúyala por otra (o por nada). Se reemplazarán todas las apariciones de la cadena de búsqueda.
Parámetros:
search string - la cadena que se debe buscar y reemplazar, distingue entre mayúsculas y minúsculas (obligatorio)
replacement - la cadena con la que se reemplazará la cadena de búsqueda. La cadena de reemplazo también puede estar vacía, lo que permite eliminar efectivamente la cadena de búsqueda cuando se encuentre.
Es posible usar secuencias de escape para buscar o reemplazar saltos de línea, retorno de carro, tabulaciones y espacios "\n \r \t \s"; la barra invertida puede escaparse como "\\" y las secuencias de escape pueden escaparse como "\\n". El escape de saltos de línea, retorno de carro y tabulaciones se realiza automáticamente durante el descubrimiento de bajo nivel.
Structured data
JSONPath Extraiga un valor o fragmento de datos JSON usando la funcionalidad JSONPath.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
XML XPath Extraiga un valor o fragmento de datos XML usando la funcionalidad XPath.
Para que esta opción funcione, Zabbix server debe compilarse con soporte para libxml.
Ejemplos:
number(/document/item/value) extraerá 10 de <document><item><value>10</value></item></document>
number(/document/item/@attribute) extraerá 10 de <document><item attribute="10"></item></document>
/document/item extraerá <item><value>10</value></item> de <document><item><value>10</value></item></document>
Tenga en cuenta que los espacios de nombres no son compatibles.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
CSV a JSON Convierta datos de archivos CSV al formato JSON.
Para más información, consulte: Preprocesamiento de CSV a JSON.
XML a JSON Convierta datos en formato XML a JSON.
Para más información, consulte: Reglas de serialización.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
SNMP
Valor de recorrido SNMP Extraiga el valor por el nombre OID/MIB especificado y aplique opciones de formato:
Sin cambios - devuelve Hex-STRING como cadena hexadecimal sin escape (nota: las sugerencias de visualización siguen aplicándose);
UTF-8 desde Hex-STRING - convierte Hex-STRING en una cadena UTF-8;
MAC desde Hex-STRING - convierte Hex-STRING en una cadena de dirección MAC (en la que ' ' se reemplazará por ':');
Integer from BITS - convierte los primeros 8 bytes de una cadena de bits expresada como una secuencia de caracteres hexadecimales (por ejemplo, "1A 2B 3C 4D") en un entero sin signo de 64 bits. En cadenas de bits de más de 8 bytes, los bytes siguientes se ignorarán.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Recorrido SNMP a JSON Convierta valores SNMP a JSON. Especifique un nombre de campo en el JSON y la ruta OID SNMP correspondiente. Los valores de los campos se rellenarán con los valores de la ruta OID SNMP especificada.
Puede usar este paso de preprocesamiento para el descubrimiento de OID SNMP.
Están disponibles opciones de formato de valores similares a las del paso Valor de recorrido SNMP.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Valor SNMP get Aplique opciones de formato al valor obtenido por SNMP get:
UTF-8 desde Hex-STRING - convierte Hex-STRING en una cadena UTF-8;
MAC desde Hex-STRING - convierte Hex-STRING en una cadena de dirección MAC (en la que ' ' se reemplazará por ':');
Integer from BITS - convierte los primeros 8 bytes de una cadena de bits expresada como una secuencia de caracteres hexadecimales (por ejemplo, "1A 2B 3C 4D") en un entero sin signo de 64 bits. En cadenas de bits de más de 8 bytes, los bytes siguientes se ignorarán.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Custom scripts
JavaScript Introduzca código JavaScript en el editor modal que se abre al hacer clic en el campo de parámetro o en el icono de lápiz junto a él.
Tenga en cuenta que la longitud disponible de JavaScript depende de la base de datos utilizada.
Para más información, consulte: Preprocesamiento con Javascript
Validation
No coincide con la expresión regular Especifique una expresión regular con la que un valor no debe coincidir.
Por ejemplo: Error:(.*?)\.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Comprobar error en JSON Compruebe si hay un mensaje de error a nivel de aplicación ubicado en JSONPath. Detenga el procesamiento si se encuentra correctamente y el mensaje no está vacío; de lo contrario, continúe el procesamiento con el valor que existía antes de este paso de preprocesamiento. Tenga en cuenta que estos errores de servicios externos se muestran al usuario tal como están, sin añadir información del paso de preprocesamiento.
Por ejemplo: $.errors. Si se recibe un JSON como {"errors":"e1"}, no se ejecutará el siguiente paso de preprocesamiento.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Comprobar error en XML Compruebe si hay un mensaje de error a nivel de aplicación ubicado en XPath. Detenga el procesamiento si se encuentra correctamente y el mensaje no está vacío; de lo contrario, continúe el procesamiento con el valor que existía antes de este paso de preprocesamiento. Tenga en cuenta que estos errores de servicios externos se muestran al usuario tal como están, sin añadir información del paso de preprocesamiento.
No se informará de ningún error en caso de que falle el análisis de un XML no válido.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Coincide con la expresión regular Especifique una expresión regular con la que un valor debe coincidir.
Si marca la casilla Custom on fail, es posible especificar opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Throttling
Descartar sin cambios con latido Descarta un valor si no ha cambiado dentro del período de tiempo definido (en segundos).
Se admiten valores enteros positivos para especificar los segundos (mínimo: 1 segundo). En este campo se pueden usar sufijos de tiempo (por ejemplo, 30s, 1m, 2h, 1d). En este campo se pueden usar macros de usuario y macros de descubrimiento de bajo nivel.
Solo se puede especificar una opción de limitación para un item de descubrimiento.
Por ejemplo: 1m. Si se pasa dos veces un texto idéntico a esta regla dentro de 60 segundos, se descartará.
Nota: Cambiar los prototipos de item no restablece la limitación. La limitación solo se restablece cuando se cambian los pasos de preprocesamiento.
Prometheus
Prometheus a JSON Convierta las métricas de Prometheus requeridas a JSON.
Consulte Comprobaciones de Prometheus para más detalles.

Tenga en cuenta que si la regla de descubrimiento se ha aplicado al host mediante un template, el contenido de esta pestaña será de solo lectura.

Macros personalizadas

La pestaña Macros LLD permite especificar macros de bajo nivel de descubrimiento personalizadas.

Las macros personalizadas son útiles en los casos en que el JSON devuelto no tiene las macros requeridas ya definidas. Así, por ejemplo:

  • La clave nativa vfs.fs.discovery para el descubrimiento de sistemas de archivos devuelve un JSON con algunas macros LLD predefinidas como {#FSNAME}, {#FSTYPE}. Estas macros pueden utilizarse directamente en los prototipos de item, trigger (ver secciones posteriores de la página); no es necesario definir macros personalizadas;
  • El item de agent vfs.fs.get también devuelve un JSON con datos de sistemas de archivos, pero sin ninguna macro LLD predefinida. En este caso puede definir las macros usted mismo y asignarlas a los valores del JSON utilizando JSONPath:

Los valores extraídos pueden utilizarse en los items, triggers, etc. descubiertos. Tenga en cuenta que los valores se extraerán del resultado del descubrimiento y de cualquier paso de preprocesamiento realizado hasta el momento.

Parámetro Descripción
Macro LLD Nombre de la macro de bajo nivel de descubrimiento, utilizando la siguiente sintaxis: {#MACRO}.
JSONPath Ruta que se utiliza para extraer el valor de la macro LLD de una fila LLD, utilizando la sintaxis JSONPath.
Los valores extraídos del JSON devuelto se utilizan para sustituir las macros LLD en los campos de los prototipos de item, trigger, etc.
JSONPath puede especificarse utilizando la notación de puntos o la notación de corchetes. Debe utilizarse la notación de corchetes en caso de caracteres especiales y Unicode, como $['unicode + special chars #1']['unicode + special chars #2'].

Por ejemplo, $.foo extraerá "bar" y "baz" de este JSON: [{"foo":"bar"}, {"foo":"baz"}]
Tenga en cuenta que $.foo también extraerá "bar" y "baz" de este JSON: {"data":[{"foo":"bar"}, {"foo":"baz"}]} porque un único objeto "data" se procesa automáticamente (por compatibilidad hacia atrás con la implementación de bajo nivel de descubrimiento en Zabbix versiones anteriores a la 4.2).

Filtro

Se puede utilizar un filtro para generar items, triggers y gráficos reales sólo para las entidades que coincidan con los criterios. La pestaña Filtros contiene las definiciones de filtro de la regla de descubrimiento que permiten filtrar los valores de descubrimiento:

Parámetro Descripción
Tipo de cálculo Las siguientes opciones para calcular los filtros están disponibles:
Y - todos los filtros deben cumplirse;
O - basta con que se cumpla un filtro;
Y/O - utiliza Y con diferentes nombres de macro y O con el mismo nombre de macro;
Expresión personalizada - ofrece la posibilidad de definir un cálculo personalizado de los filtros. La fórmula debe incluir todos los filtros de la lista. Limitado a 255 símbolos.
Filtros Los siguientes operadores de condición de filtro están disponibles: coincide, no coincide, existe, no existe.
Los operadores coincide y no coincide esperan una expresión regular compatible con Perl (PCRE). Por ejemplo, si sólo le interesan los sistemas de archivos C:, D: y E:, puede poner {#FSNAME} en "Macro" y la expresión regular "\C|\D|\E" en el campo de texto "Expresión regular". También es posible filtrar por tipos de sistema de archivos utilizando la macro {#FSTYPE} (por ejemplo, "\ext|\reiserfs") y por tipos de unidad (sólo compatible con el agent de Windows) utilizando la macro {#FSDRIVETYPE} (por ejemplo, "fixed").
Puede introducir una expresión regular o hacer referencia a una expresión regular global en el campo "Expresión regular".
Para probar una expresión regular puede utilizar "grep -E", por ejemplo: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E '
ext|^reiserfs' || echo "SKIP: $f"; done````

Los operadores existe y no existe permiten filtrar entidades en función de la presencia o ausencia de la macro LLD especificada en la respuesta.
Tenga en cuenta que si falta una macro del filtro en la respuesta, la entidad encontrada será ignorada, a menos que se especifique una condición "no existe" para esta macro.

Se mostrará una advertencia si la ausencia de una macro afecta al resultado de la expresión. Por ejemplo, si falta {#B} en:
{#A} coincide 1 y {#B} coincide 2 - mostrará una advertencia
{#A} coincide 1 o {#B} coincide 2 - sin advertencia

Un error o una errata en la expresión regular utilizada en la regla LLD (por ejemplo, una expresión regular incorrecta en "Sistemas de archivos para descubrimiento") puede provocar la eliminación de miles de elementos de configuración, valores históricos y eventos de muchos hosts.

La base de datos de Zabbix en MySQL debe crearse como sensible a mayúsculas y minúsculas si se desean descubrir correctamente los nombres de sistemas de archivos que sólo difieren en mayúsculas y minúsculas.

Sobrescritura

La pestaña Sobrescrituras permite establecer reglas para modificar la lista de prototipos de item, trigger, gráfico, host y descubrimiento, o sus atributos, para los objetos descubiertos que cumplan los criterios especificados.

Las sobrescrituras (si las hay) se muestran en una lista reordenable mediante arrastrar y soltar, y se ejecutan en el orden en que están definidas. Para configurar los detalles de una nueva sobrescritura, haga clic en en el bloque Sobrescrituras. Para editar una sobrescritura existente, haga clic en el nombre de la sobrescritura. Se abrirá una ventana emergente que permitirá editar los detalles de la regla de sobrescritura.

Todos los parámetros obligatorios están marcados con asteriscos rojos.

Parameter Description
Name Un nombre de sobrescritura único (por regla LLD).
If filter matches Define si deben procesarse las siguientes sobrescrituras cuando se cumplan las condiciones del filtro:
Continue overrides: se procesarán las sobrescrituras posteriores.
Stop processing: se ejecutarán las operaciones de las sobrescrituras anteriores (si las hay) y de esta sobrescritura; las sobrescrituras posteriores se ignorarán para las filas LLD coincidentes.
Filters Determina a qué entidades descubiertas debe aplicarse la sobrescritura. Los filtros de sobrescritura se procesan después de los filtros de la regla de descubrimiento y tienen la misma funcionalidad.
Operations Las operaciones de sobrescritura se muestran con estos detalles:
Condition: un tipo de objeto y una condición que debe cumplirse para el nombre del objeto; por ejemplo: El prototipo de trigger no es igual a Disk space is low (used > 50%).
Actions: se muestran enlaces para editar y eliminar una operación.

Configuración de una operación

Para configurar los detalles de una nueva operación, haga clic en en el bloque Operaciones. Para editar una operación existente, haga clic en junto a la operación. Se abrirá una ventana emergente en la que podrá editar los detalles de la operación.

Parameter Description
Object Hay disponibles cinco tipos de objetos:
Prototipo de item
Prototipo de trigger
Prototipo de gráfico
Prototipo de host
Prototipo de descubrimiento
Condition Permite filtrar las entidades a las que debe aplicarse la operación.
Operator Operadores admitidos:
equals: aplicar a este prototipo
does not equal: aplicar a todos los prototipos excepto a este
contains: aplicar si el nombre del prototipo contiene esta cadena
does not contain: aplicar si el nombre del prototipo no contiene esta cadena
matches: aplicar si el nombre del prototipo coincide con la expresión regular
does not match: aplicar si el nombre del prototipo no coincide con la expresión regular
Pattern Una expresión regular o una cadena que buscar.
Object: Item prototype
Create enabled Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de item:
Yes: el item se añadirá en estado habilitado.
No: el item se añadirá a una entidad descubierta, pero en estado deshabilitado.
Discover Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de item:
Yes: el item se añadirá.
No: el item no se añadirá.
Update interval Cuando la casilla está marcada, aparecerán dos opciones que permiten establecer un intervalo diferente para el item:
Delay: intervalo de actualización del item. Se admiten macros de usuario y sufijos de tiempo (por ejemplo, 30s, 1m, 2h, 1d). Debe establecerse en 0 si se usa Custom interval.
Custom interval: haga clic en para especificar intervalos flexibles/programados. Para información detallada, consulte Intervalos personalizados.
History Cuando la casilla está marcada, aparecerán los botones que permiten establecer un período de almacenamiento del historial diferente para el item:
Do not store: si se selecciona, el historial no se almacenará.
Store up to: si se selecciona, aparecerá a la derecha un campo de entrada para especificar el período de almacenamiento. Se admiten macros de usuario y macros LLD.
Trends Cuando la casilla está marcada, aparecerán los botones que permiten establecer un período de almacenamiento de tendencias diferente para el item:
Do not store: si se selecciona, las tendencias no se almacenarán.
Store up to: si se selecciona, aparecerá a la derecha un campo de entrada para especificar el período de almacenamiento. Se admiten macros de usuario y macros LLD.
Tags Cuando la casilla está marcada, aparecerá un nuevo bloque que permitirá especificar pares etiqueta-valor.
Estas etiquetas se añadirán a las etiquetas especificadas en el prototipo de item, incluso si los nombres de las etiquetas coinciden.
Object: Trigger prototype
Create enabled Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de trigger:
Yes: el trigger se añadirá en estado habilitado.
No: el trigger se añadirá a una entidad descubierta, pero en estado deshabilitado.
Discover Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de trigger:
Yes: el trigger se añadirá.
No: el trigger no se añadirá.
Severity Cuando la casilla está marcada, aparecerán los botones de severidad del trigger, lo que permitirá modificar la severidad del trigger.
Tags Cuando la casilla está marcada, aparecerá un nuevo bloque que permitirá especificar pares etiqueta-valor.
Estas etiquetas se añadirán a las etiquetas especificadas en el prototipo de trigger, incluso si los nombres de las etiquetas coinciden.
Object: Graph prototype
Discover Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de gráfico:
Yes: el gráfico se añadirá.
No: el gráfico no se añadirá.
Object: Host prototype
Create enabled Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de host:
Yes: el host se creará en estado habilitado.
No: el host se creará en estado deshabilitado.
Discover Cuando la casilla está marcada, aparecerán los botones que permiten sobrescribir la configuración original del prototipo de host:
Yes: el host será descubierto.
No: el host no será descubierto.
Link templates Cuando la casilla está marcada, aparecerá un campo de entrada para especificar templates. Empiece a escribir el nombre del template o haga clic en Select junto al campo y seleccione templates de la lista en una ventana emergente.
Los templates de esta sobrescritura se añaden a todos los templates ya vinculados al prototipo de host.
Tags Cuando la casilla está marcada, aparecerá un nuevo bloque que permitirá especificar pares etiqueta-valor.
Estas etiquetas se añadirán a las etiquetas especificadas en el prototipo de host, incluso si los nombres de las etiquetas coinciden.
Host inventory Cuando la casilla está marcada, aparecerán los botones que permiten seleccionar un modo de inventario diferente para el prototipo de host:
Disabled: no rellenar el inventario del host
Manual: proporcionar los detalles manualmente
Automated: rellenar automáticamente los datos del inventario del host en función de las métricas recopiladas.

Botones del formulario

Los botones en la parte inferior del formulario permiten realizar varias operaciones.

Agregar una regla de descubrimiento. Este botón solo está disponible para nuevas reglas de descubrimiento.
Actualizar las propiedades de una regla de descubrimiento. Este botón solo está disponible para reglas de descubrimiento existentes.
Crear otra regla de descubrimiento basada en las propiedades de la regla de descubrimiento actual.
Realizar el descubrimiento basado en la regla de descubrimiento inmediatamente. La regla de descubrimiento ya debe existir. Consulte más detalles.
Nota que al realizar el descubrimiento inmediatamente, la caché de configuración no se actualiza, por lo que el resultado no reflejará los cambios más recientes en la configuración de la regla de descubrimiento.
Probar la configuración de la regla de descubrimiento. Utilice este botón para verificar la configuración (como la conectividad y la corrección de los parámetros) sin aplicar permanentemente ningún cambio.
Eliminar la regla de descubrimiento.
Cancelar la edición de las propiedades de la regla de descubrimiento.

Entidades descubiertas

Las siguientes capturas de pantalla ilustran cómo se ven los items, triggers y gráficos descubiertos en la configuración del host. Las entidades descubiertas están precedidas por un enlace naranja a la regla de descubrimiento de la que provienen.

Tenga en cuenta que las entidades descubiertas no se crearán en caso de que ya existan entidades con los mismos criterios de unicidad, por ejemplo, un item con la misma clave o un gráfico con el mismo nombre. En este caso, se muestra un mensaje de error en el frontend indicando que la regla de descubrimiento de bajo nivel no pudo crear ciertas entidades. Sin embargo, la propia regla de descubrimiento no se volverá no soportada porque alguna entidad no pudo ser creada y tuvo que ser omitida. La regla de descubrimiento continuará creando/actualizando otras entidades.

Si una entidad descubierta (host, sistema de archivos, interfaz, etc.) deja de ser descubierta (o ya no pasa el filtro), las entidades que se crearon en base a ella pueden ser deshabilitadas automáticamente y eventualmente eliminadas.

Los recursos perdidos pueden ser deshabilitados automáticamente en función del valor del parámetro Deshabilitar recursos perdidos. Esto afecta a hosts, items y triggers perdidos.

Los recursos perdidos pueden ser eliminados automáticamente en función del valor del parámetro Eliminar recursos perdidos. Esto afecta a hosts, grupos de hosts, items, triggers y gráficos perdidos.

Cuando las entidades descubiertas pasan a ser 'Ya no descubiertas', se muestra un indicador de tiempo de vida en la lista de entidades. Mueva el puntero del ratón sobre él y se mostrará un mensaje que indica los detalles de su estado.

Si las entidades fueron marcadas para su eliminación, pero no se eliminaron en el momento esperado (regla de descubrimiento deshabilitada o host del item), se eliminarán la próxima vez que se procese la regla de descubrimiento.

Las entidades que contienen otras entidades, que están marcadas para su eliminación, no se actualizarán si se modifican a nivel de la regla de descubrimiento. Por ejemplo, los triggers basados en LLD no se actualizarán si contienen items que están marcados para su eliminación.

Otros tipos de descubrimiento

Más detalles y procedimientos sobre otros tipos de descubrimiento listos para usar están disponibles en las siguientes secciones:

Para más detalles sobre el formato JSON para items de descubrimiento y un ejemplo de cómo implementar su propio descubridor de sistemas de archivos como un script Perl, consulte creación de reglas LLD personalizadas.