我在Ubuntu上运行c ++应用程序。 我需要通过snmp添加对少量应用程序标量值的支持。 我试图关注snmp-net set tutorials,但它对我没用。
在本教程结束时,我运行:
/usr/local/sbin/snmpd -f -L -d -p 9999
在另一个终端运行:
snmpget -v2c -c tutget localhost:9999 NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0
但我得到: 超时:无响应来自localhost:9999。
然而,运行这个:snmptranslate -Td -M+. -mNET-SNMP-TUTORIAL-MIB -IR nstAgentModuleObject
返回MIB DESC。
在addtional中尝试使用这样的MIB位置运行,返回相同的内容。
snmpget -v2c -c tutget -M+ -mNET-SNMP-TUTORIAL-MIB localhost:9999 NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0
谢谢!!!!!
答案 0 :(得分:2)
调整/etc/init.d/snmpd脚本 所以它运行二进制文件/ usr / local / sbin / snmpd,而不是/ usr / sbin / snmpd。
比我跑: /etc/init.d/snmpd start
现在它有效(没有9999端口)。
答案 1 :(得分:0)
您的snmpget
不知道在哪里寻找您的MIB。在明确包含MIB模块之前,需要将-M + / mib_dir /添加到snmpconf中。
示例:
snmpget -v2c -M + .. / mib / -m + ALL -c tutget localhost:9999
答案 2 :(得分:0)
请尝试
sudo /usr/local/sbin/snmpd -f -L -d -p 9999
您需要root权限才能设置新端口
9999只是一个临时端口,如果您对此不满意,只需尝试此命令
sudo pkill snmpd ; sudo snmpd -LS 0-6 d
在开始新服务之前,您需要先杀死之前的snmpd服务。 我使用了net-tutorial包,所以我不能使用这样的命令
sudo service snmpd stop
sudo service snmpd start
sudo service snmpd restart
但是如果你使用的是ubuntu或类Unix下载包,你可以使用这样的命令