使用chroot运行snmp并没有提供当前值

时间:2012-10-12 07:49:26

标签: linux snmp net-snmp chroot

While I am running snmpd as following (using net-snmp 5.7.2.rc1,ubuntu-12.04)
    [root@manage /root]#snmpd –f -Le
    [root@manage /root]# snmpwalk -c public -v 2c 127.0.0.1 IF-MIB::ifInOctets.1
    It is working fine and answering me values
    Eg. 
    IF-MIB::ifOutOctets.1 = Counter32: 35497924
    IF-MIB::ifOutOctets.1 = Counter32: 35499234
    IF-MIB::ifOutOctets.1 = Counter32: 35503212

    I have done packaging of it and its almost working fine. But the issue is the ‘values’ displaying are constant !! it is not changing since the packaging of it..here the /var/snmp3 is a root folder and I am running it with chroot
    [root@manage /root]#/usr/sbin/chroot /var/snmp3/ /usr/local/bin/snmpd –f -Le
    [root@manage /root]#/usr/sbin/chroot /var/snmp3/ /usr/local/bin/snmpwalk -c public -v 2c -Oqv 127.0.0.1 IF-MIB::ifInOctets.1
    IF-MIB::ifOutOctets.1 = Counter32: 34689322
    IF-MIB::ifOutOctets.1 = Counter32: 34689322
    IF-MIB::ifOutOctets.1 = Counter32: 34689322

任何人都能告诉我我在这里缺少什么依赖吗?为什么它没有给出它的当前价值?请帮我解决一下这个。

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确,但我会尽力给你一个提示。您正在访问的IF-MIB对象是通过索引1的接口发送的八位字节数。您确定在第二次snmpwalk期间发送了一些数据吗? SNMP代理正在响应,所有环境变量(如MIBS和MIBDIRS)似乎都正确导出。我在这里没有看到这个问题。

请通过访问一些肯定会不断变化的数据来验证您的配置,即snmpEngineTime。而不是snmpwalk(此对象是标量),使用多个snmpget请求。我确信数据会改变。

我的第二个想法是系统文件中包含的数据,即接口吞吐量可能需要与新的根目录绑定。使用

mount --bind

选项将/ dev /和/ etc /文件夹绑定到新的根目录(/ var / snmp3 / dev和/ var / snmp3 / etc)。

你可以试试这个(在chrooting之前!):

mount -t proc none /var/snmp3/proc
mount --rbind /sys /var/snmp3/sys
mount --rbind /dev /var/snmp3/dev
chroot /var/snmp3/ /bin/bash