network-protocols - snmpv3 - snmp trap
Preguntas básicas sobre SNMP (3)
¿Los agentes almacenan su estado en el propio dispositivo?
Depende del dispositivo y la aplicación; algunos dispositivos lo almacenan localmente, otros usan un agente proxy.
Si hay una trampa en un agente, ¿puede hacer una encuesta en el mismo OID para obtener la misma información?
Sí, pero por lo general es mejor incluir información en la trampa para que la estación de administración no tenga que hacer varios "viajes de ida y vuelta" al dispositivo. Si atrapa un cambio de valor de atributo, por ejemplo, es una buena práctica enviar el valor antiguo y el nuevo en la captura.
Sin usar un archivo mib, ¿hay alguna forma de consultar toda la información de un dispositivo a la vez? Si no, y está escribiendo su propio administrador personalizado, ¿tiene que conocer la estructura de lo que informa por adelantado?
Generalmente no ... la primitiva Get-next de SNMP está diseñada para tal caso.
Si está configurando un agente para informar, ¿suele haber una manera de controlar la frecuencia con la que envía una trampa? ¿O suele enviar una trampa tan a menudo como se cumple alguna condición?
Sí, depende del agente cuándo enviar trampas.
Si está desarrollando su propio agente, le sugiero que consulte Net-SNMP. Incluso si elige utilizar otro producto, el código Net-SNMP está muy bien diseñado e implementado. Además, tiene muchos extras para ayudar a desarrollar y probar agentes (y sistemas de gestión).
Estoy aprendiendo sobre SNMP y escribiendo algunas aplicaciones usándolo. Tengo algunas preguntas básicas sobre el protocolo:
- ¿Los agentes almacenan su estado en el propio dispositivo?
- Si hay una trampa en un agente, ¿puede hacer una encuesta en el mismo OID para obtener la misma información?
- Sin usar un archivo mib, ¿hay alguna forma de consultar toda la información de un dispositivo a la vez? Si no, y está escribiendo su propio administrador personalizado, ¿tiene que conocer la estructura de lo que informa por adelantado?
- Si está configurando un agente para informar, ¿suele haber una manera de controlar la frecuencia con la que envía una trampa? ¿O suele enviar una trampa tan a menudo como se cumple alguna condición?
¿Los agentes almacenan su estado en el propio dispositivo?
En el escenario más común, el agente SNMP se está ejecutando en el dispositivo que supervisa. En este caso, el agente no tiene otra opción y cualquier información de estado debe almacenarse en el dispositivo. El agente SNMP simplemente lee o establece esta información.
Si hay una trampa en un agente, ¿puede hacer una encuesta en el mismo OID para obtener la misma información?
Creo que deberías poder hacer eso, por ejemplo SNMPv2 trap IF-MIB :: linkDown contiene tres varbinds: IF-MIB :: ifIndex, IF-MIB :: ifAdminStatus y IF-MIB :: ifOperStatus. En este caso particular, el índice ifIndex especifica la fila en la tabla ifTable y se pueden sondear otros dos.
Sin usar un archivo mib, ¿hay alguna forma de consultar toda la información de un dispositivo a la vez?
Sí, use snmp-walk
del paquete net-snmp o cualquier otra herramienta snmp que pueda usar get-next para sondear los datos.
Si no, y está escribiendo su propio administrador personalizado, ¿tiene que conocer la estructura de lo que informa por adelantado?
Es necesario que sepa qué contiene la MIB del dispositivo; sin esa información, solo obtiene OID y valor numéricos, lo que no tiene sentido ni para los desarrolladores ni para los usuarios. En el caso de MIB más complicados, debe conocer muchos detalles sobre el dispositivo administrado. El archivo MIB casi nunca contiene suficiente información.
¿Los agentes almacenan su estado en el propio dispositivo?
Puede almacenar datos dentro o fuera del dispositivo. Ambos son posibles y ambos están hechos. El problema con un agente que almacena información de estado (en caché) sobre un dispositivo remoto es que el sistema de administración nunca sabe realmente si los datos (en caché) en el agente están aceptablemente actualizados. Si no puede contar con ello, deberá usar el administrador para activar una sincronización o para sondear el estado del dispositivo remoto y / o el enlace de comunicación entre el agente y el dispositivo remoto. Una vez que entras en ese juego, a menudo es mejor poner un subagente en el dispositivo remoto y usar los protocolos SNMP estándar para obtener la información.
Si hay una trampa en un agente, ¿puede hacer una encuesta en el mismo OID para obtener la misma información?
La mayoría de las MIB bien diseñadas realmente ponen el objeto MIB modificado en la trampa. De esa manera, su administrador de SNMP no tiene que sondear al agente solo para estar seguro.
Dicho esto, la trampa en la Entidad-MIB no tiene ninguna variable de estado. Sin embargo, esa MIB se utiliza para describir el inventario físico, como estantes, tarjetas y puertos, y la captura se lanza solo si la configuración física cambia. En este caso, se espera que su Administrador de SNMP vuelva a recorrer la Entidad-MIB para obtener la nueva configuración física completa.
Sin usar un archivo mib, ¿hay alguna forma de consultar toda la información de un dispositivo a la vez?
Sí. Rueda tu propia MIB personalizada y pon lo que quieras en ella. Podría poner toda la configuración de su dispositivo en un objeto MIB. La desventaja de esto es que tendrá que escribir un analizador en su Administrador de SNMP para analizar la estructura, y si la estructura cambia, necesitará averiguar el significado de la diferencia entre el valor actual y el valor anterior . Es decir, reinventará algunos SNMP MIB. Sin embargo, para MIB muy pequeños, esto podría valer la pena hacerlo.
Probablemente esté mejor usando SNMP GET-BULK, o simplemente haciendo un recorrido MIB llamando sucesivamente a SNMP-GET-NEXT hasta que no se devuelvan más objetos.
Si no, y está escribiendo su propio administrador personalizado, ¿tiene que conocer la estructura de lo que informa por adelantado?
Si desea que su "administrador personalizado" sea simple, deberá conocer la estructura desde el principio. Si desea flexibilidad, necesitará un lenguaje de descripción de la estructura con el que codificar su estructura, y su administrador deberá poder decodificar esto a partir de los datos del agente y poblar el administrador, y tomar los datos del administrador y codificarlos. este formato para enviarlo a los agentes. es decir, reinventará SNMP / SMI, CMIP / CMISE, CIM y muchos otros sistemas y protocolos de administración que ya se han implementado.
Si está configurando un agente para informar, ¿suele haber una manera de controlar la frecuencia con la que envía una trampa? ¿O suele enviar una trampa tan a menudo como se cumple alguna condición?
Esta es una buena pregunta, porque a menudo hay una trampa que congestiona su red precisamente cuando más la necesita. Eso hace que sea difícil predecir la cantidad de red a suministrar.
Usa las trampas con criterio. Por ejemplo, la Entity-MIB solo tiene una trampa y vale la pena usarla porque informa sobre los cambios en la estructura física. Las interfaces-MIB tienen potencialmente muchas trampas por puerto. Para esta MIB, es mejor habilitar las trampas para la interfaz vinculada a un puerto físico, y no para las interfaces apiladas en la parte superior de las interfaces de capa inferior. Para una red grande, a menudo es mejor usar una combinación de sondeo más trampas para equipos físicos e interfaces físicas. De esa manera, puede predecir qué parte de su red se utilizará para el tráfico de administración, ya sea durante el funcionamiento normal o durante un desastre de la red.
Algunos MIB estándar especifican con qué frecuencia o cuándo se puede lanzar una trampa. Si estás de acuerdo con eso, entonces úsalo. Siempre puede hacer rodar su propia MIB empresarial con objetos de configuración de MIB que le permiten a su administrador controlar determinadas trampas.