Recibir trampas SNMP es lo opuesto a consultar dispositivos habilitados para SNMP.
En este caso, la información se envía desde un dispositivo habilitado para SNMP y se recogidos o "atrapados" por Zabbix.
Por lo general, las trampas se envían ante algún cambio de condición y el agente se conecta al servidor en el puerto 162 (a diferencia del puerto 161 en el agente lado que se utiliza para las consultas). El uso de trampas puede detectar algunos cortos problemas que ocurren en medio del intervalo de consulta y que pueden pasar desapercibidos para el consultar datos.
La recepción de trampas SNMP en Zabbix está diseñada para funcionar con snmptrapd y uno de los mecanismos incorporados para pasar las trampas a Zabbix - ya sea un script Perl o SNMPTT.
El flujo de trabajo de recibir una trampa:
La configuración de los siguientes campos en la interfaz es específica para esto tipo de artículo:
En Configuración → Hosts, en el campo Interfaz de host configure un SNMP interfaz con la dirección IP o DNS correcta. La dirección de cada la trampa recibida se compara con las direcciones IP y DNS de todos los SNMP interfaces para encontrar los hosts correspondientes.
En el campo Clave, use una de las claves de captura SNMP:
Clave | ||
---|---|---|
Descripción | Valor de retorno | Comentarios |
snmptrap[regexp] | ||
Captura todas las trampas SNMP que coinciden con la expresión regular especificada en regexp. Si no se especifica la expresión regular, detecta cualquier trampa. | Trampa SNMP | Este elemento solo se puede configurar para interfaces SNMP. Este elemento es compatible desde Zabbix 2.0.0. Nota: a partir de Zabbix 2.0.5, las macros de usuario y las expresiones regulares globales se admiten en el parámetro de esta clave de elemento. |
snmptrap.fallback | ||
Captura todas las trampas SNMP que no fueron capturadas por ninguno de los elementos snmptrap[] para esa interfaz. | Captura SNMP | Este elemento solo se puede configurar para interfaces SNMP. Este elemento es compatible desde Zabbix 2.0. 0. |
La coincidencia de expresiones regulares de varias líneas no se admite en este momento. tiempo.
Establezca el Tipo de información en 'Registro' para que las marcas de tiempo sean analizado Tenga en cuenta que también se aceptan otros formatos como 'Numérico' pero podría requerir un controlador de trampas personalizado.
Para que funcione la supervisión de trampas SNMP, primero se debe configurado correctamente.
Para leer las trampas, el servidor o proxy Zabbix debe estar configurado para comenzar el proceso de captura de SNMP y apunta al archivo de captura que se está escrito por SNMPTT o un receptor de trampas perl. Para ello, edite el archivo de configuración (zabbix_server.conf o zabbix_proxy.conf):
::: nota de advertencia Si el parámetro systemd PrivateTmp se utiliza, es poco probable que este archivo funcione en /tmp. :::
Al principio, snmptrapd debe configurarse para usar SNMPTT.
Para obtener el mejor rendimiento, SNMPTT debe configurarse como un demonio que usa snmptthandler-embedded para pasarle las trampas. Ver instrucciones para configurar SNMPTT en su página de inicio:
http://snmptt.sourceforge.net/docs/snmptt.shtml
Cuando SNMPTT esté configurado para recibir las trampas, configure snmptt.ini
:
::: nota de advertencia El paquete "net-snmp-perl" se eliminó en RHEL/CentOS 8.0-8.2; agregado nuevamente en RHEL 8.3. Para obtener más información, consulte el conocido problemas. :::
Ahora formatee las trampas para que Zabbix las reconozca (edite snmptt.conf):
No uses trampas desconocidas - Zabbix no podrá para reconocerlos. Las trampas desconocidas se pueden manejar definiendo un general evento en snmptt.conf:
EVENTO general .* "Evento general" Normal
Requisitos: Perl, Net-SNMP compilado con --enable-embedded-perl (hecho por defecto desde Net-SNMP 5.4)
Receptor de trampa Perl (busque misc/snmptrap/zabbix_trap_receiver.pl) se puede usar para pasar trampas al servidor Zabbix directamente desde snmptrapd. A configurarlo:
Si no se cita el nombre del script, snmptrapd se negará a Comience con mensajes similares a estos:
::: nota de advertencia El agente net-snmp no es compatible con AES256 con SNMPv3/USM. :::
Todos los receptores perl trap personalizados y la configuración de trampas SNMPTT deben formatee la trampa de la siguiente manera: [timestamp] [la trampa, parte 1] ZBXTRAP [dirección] [la trampa, parte 2], donde
Tenga en cuenta que "ZBXTRAP" y "[dirección]" se eliminarán del mensaje durante el procesamiento. Si la trampa tiene otro formato, Zabbix podría analizar las trampas inesperadamente.
Ejemplo de trampa:
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 "Eventos de estado" normales localhost - ZBXTRAP 192.168.1.1 Enlace inactivo en la interfaz 2. Estado de administración: 1. Estado operativo: 2
Esto dará como resultado la siguiente trampa para la interfaz SNMP con IP=192.168.1.1:
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 "Eventos de estado" normales localhost - Enlace inactivo en la interfaz 2. Estado de administración: 1.
Zabbix tiene "soporte de archivos grandes" para archivos trampa SNMP. El archivo máximo el tamaño que Zabbix puede leer es 2^63 (8 EiB). Tenga en cuenta que el sistema de archivos puede imponer un límite inferior en el tamaño del archivo.
Zabbix no proporciona ningún sistema de rotación de registros; eso debe manejarse por el usuario La rotación de registros primero debe cambiar el nombre del archivo antiguo y solo luego elimínelo para que no se pierdan trampas:
Debido a la implementación del archivo trampa, Zabbix necesita que el sistema de archivos soportar inodos para diferenciar archivos (la información es adquirida por un llamada stat()).
Este ejemplo usa snmptrapd + SNMPTT para pasar trampas al servidor Zabbix. Configuración:
Esto resulta en:
Este sencillo ejemplo utiliza SNMPTT como trahandle. Para mejor rendimiento en los sistemas de producción, use Perl incorporado para pasar trampas de snmptrapd a SNMPTT o directamente a Zabbix.