El "Ningún objeto disponible en este agente en este OID" indica que, en lo que se refiere a netsnmpd, no hay un OID correspondiente en su árbol.
No se deje confundir por el éxito de snmptranslate
. Snmptranslate solo opera en los archivos MIB y no requiere acceso a ningún servidor snmp. Entonces, el hecho de que snmptranslate muestre correctamente los datos de su MIB es solo una indicación de que su mib se copió correctamente en $MIBDIRS
o en los directorios enumerados en su archivo .snmp/snmp.conf
(etc.).
Suponiendo que está siguiendo el tutorial, el mib que ha implementado proporciona una sola variable escalar. Las variables escalares reciben un índice (es decir, el sufijo) de .0
.Pruebe a ejecutar cualquiera de los siguientes comandos:
snmpget -v2c -c public MY-MIB-FILE::myVariable.0
O:
snmpwalk -v2c -c public MY-MIB-FILE::myVariable
Este último le dará una lista de todos los MIB deja bajo ese OID, que (en su caso) incluirá la .0
nodo.
Si eso no funciona, vale la pena asegurarse de que su código se está compilando y se está ejecutando correctamente. Para empezar, verifique los detalles al final del paso ./configure
para asegurarse de que el resumen incluya su mib. p.ej. (Resultado de ./configure --with-mib-módulos = ""): nstAgentModuleObject
---------------------------------------------------------
Net-SNMP configuration summary:
---------------------------------------------------------
SNMP Versions Supported: 1 2c 3
Net-SNMP Version: 5.4.1
Building for: linux
snip
Agent MIB code: nstAgentModuleObject default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host
snip
---------------------------------------------------------
En el primer caso, puede ejecutar nm
sobre el ejecutableagent/.libs/libnetsnmpmibs.so
archivo
snmpd y asegúrese de que la función que
init_X()
corresponde a su MIB presente. También vale la pena asegurarse de que la función
init_nstAgentModuleObject()
esté presente. Si está ejecutando
make install
antes de realizar pruebas, vale la pena asegurarse (utilizando
ldd
) de que la biblioteca libnetsnmpmibs.so que está utilizando es la que acaba de crear y que no tiene un problema de ruta.
Puede utilizar el sistema integrado de depuración de mensajes agregando DEBUGMSGTL()
llamadas dentro de su función init_X()
. Para ver los mensajes de depuración, agregue una opción -DALL
en su línea de comando snmpd.
ha intentado ya añadir algunos rastros de su agente? Aquí es donde comienzo. Coloque 'fprintf's' en cada paso de la carga y los controladores de su agente para ver dónde deja de responder. Sin él, tendríamos posibilidades también ... – j4x
Sí, probé el rastro. Todo se ve bien y no hay errores. Veo que el comando se envía y la respuesta "NO dicho objeto" está volviendo, que es el código de error 8. – user195678
Quizás esto sea relevante, adjunto mi archivo MIB en netSnmpExamples porque no tengo un OID de la compañía. Entonces en mi archivo MIB tengo esta sección: xxxsnmp MODULE-IDENTITY ÚLTIMA ACTUALIZACIÓN "201112220000Z" ORGANIZACIÓN "www.xxx.com" CONTACTO-INFORMACIÓN "email: xxx @ xyz.com" DESCRIPCIÓN 'Probando mi MIB' REVISIÓN '201112200000Z' DESCRIPCIÓN 'primer borrador' :: = {5} netSnmpExamples – user195678