1 Índices dinámicos

Descripción general

Si bien puede encontrar el número de índice requerido (por ejemplo, de un interfaz de red) entre los OID de SNMP, a veces es posible que el número de índice no permanezca igual.

Los números de índice pueden ser dinámicos; pueden cambiar con el tiempo y su métrica puede dejar de funcionar como consecuencia.

Para evitar este escenario, es posible definir un OID que tenga en cuenta la posibilidad de que cambie un número de índice.

Por ejemplo, si necesita recuperar el valor del índice para agregarlo a ifInOctets que corresponde a la interfaz GigabitEthernet0/1 en un dispositivo Cisco, use el siguiente OID:

ifInOctets["index","ifDescr","GigabitEthernet0/1"]
La sintaxis

Se utiliza una sintaxis especial para OID:

<OID de datos>["índice","<OID base de índice>","<cadena para buscar>"]

Parámetro Descripción
OID de datos OID principal a usar para la recuperación de datos en el elemento.
índice Método de procesamiento. Actualmente se admite un método:
índice: busque el índice y agréguelo al OID de datos
OID base del índice Este OID se buscará para obtener el valor de índice correspondiente a la cadena.
cadena para buscar La cadena que se utilizará para una coincidencia exacta con un valor al realizar una búsqueda. Sensible a mayúsculas y minúsculas.

Ejemplo

Obtener el uso de memoria del proceso apache.

Si usa esta sintaxis OID:

HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath", "/usr/sbin/apache2"]

el número de índice se buscará aquí:

...
       HOST-RESOURCES-MIB::hrSWRunPath.5376 = CADENA: "/sbin/getty"
       HOST-RESOURCES-MIB::hrSWRunPath.5377 = CADENA: "/sbin/getty"
       HOST-RESOURCES-MIB::hrSWRunPath.5388 = CADENA: "/usr/sbin/apache2"
       HOST-RESOURCES-MIB::hrSWRunPath.5389 = CADENA: "/sbin/sshd"
       ...

Ahora tenemos el índice, 5388. El índice se agregará al OID de datos para recibir el valor que nos interesa:

HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 KBytes

Almacenamiento en caché de búsqueda de índice

Cuando se solicita un elemento de índice dinámico, Zabbix recupera y almacena en caché toda la tabla SNMP bajo el OID base para el índice, incluso si una coincidencia haya sido encontrada antes. Esto se hace en caso de que otra métrica se refiera al mismo OID base más tarde: Zabbix buscaría el índice en la caché, en lugar de consultando el equipo monitoreado nuevamente. Tenga en cuenta que cada proceso de sondeo utiliza cachés separadas.

En todas las operaciones posteriores de recuperación de valores, solo se tiene en cuenta el índice encontrado. Si no ha cambiado, se solicita valor. Si ha cambiado, la caché se reconstruye: cada sondeador que encuentra un índice modificado recorre el la tabla de índices SNMP nuevamente.