haitianguyan102 发表于 2014-06-20 15:28

SNMP监控无法获取数据

本帖最后由 haitianguyan102 于 2014-06-20 16:05 编辑

简述:一台机器上配置了net-snmp,却无法远程采集数据,日志显示有远程主机的连接记录,网络连接没有问题,防火墙设置没有问题。但在 snmp agent 端执行完全相同的命令却可以获取到数据。


因为要配置监控宝监控,在一台机器(__机器A__)上配置net-snmp,配置如下
    com2sec notConfigUserdefault       ibccdg
    group   notConfigGroup v2c         notConfigUser
    view    systemview    included   .1.3.6.1.2.1.1
    view    systemview    included   .1.3.6.1.2.1.25.1.1
    accessnotConfigGroup ""      any       noauth    exactsystemview none none
    syslocation Unknown (edit /etc/snmp/snmpd.conf)
    syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
    pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
    rouser jkb
其实要求的是使用 SNMPv3,所以前面5行配置应该可以去掉吧。我在该机器上执行
    # snmpwalk-v 3 -l authNoPriv -a MD5 -u user -A password 124.211.X.X:161 sysDescr
    SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64
可以正常得到结果,但监控宝无法取得数据,使用自己手边的Linux机器执行上述相同命令(为了保持一致,上面的命令指定agent 地址时使用的是机器的公网IP),结果却返回
No log handling enabled - turning on stderr logging
snmpwalk: Timeout (Sub-id not found: (top) -> sysDescr)
的错误,监控宝的SNMP诊断工具返回的也是同样的错误。即使将防火墙关闭问题也依旧。SELinux 未启用。另外一台机器(__机器B__)上配置的net-snmp则没有这种问题,甚至我将机器B上的配置文件(/etc/snmp/snmpd.conf 和 /var/net-snmp 下的配置文件)都拷贝过来,确保两台机器使用的是相同的配置(包括用户),问题依旧,在机器A上执行可以获取结果,在其它机器上同样的命令则无法通过SNMP获取机器A数据,返回 "snmpwalk: Timeout (Sub-id not found: (top) -> sysDescr)"的错误,使用 SNMPv2 获取数据则返回的错误信息是 "snmp Timeout: No Response from X.X.X.X"其它信息,机器B上的软件信息是
    -bash-3.2# rpm -qa | grep snmp
    net-snmp-5.3.2.2-17.el5_8.1
    net-snmp-devel-5.3.2.2-17.el5_8.1
    net-snmp-libs-5.3.2.2-17.el5_8.1
    net-snmp-devel-5.3.2.2-17.el5_8.1
    net-snmp-libs-5.3.2.2-17.el5_8.1
    net-snmp-utils-5.3.2.2-17.el5_8.1
    -bash-3.2# ls /var/net-snmp/
    snmpd.conf
    -bash-3.2# ls /var/net-snmp/ -a
    ...snmpd.conf.snmp-exec-cache
    -bash-3.2# cat /etc/redhat-release
    CentOS release 5.6 (Final)
机器A上软件信息是
    # rpm -qa | grep snmp
    net-snmp-libs-5.3.2.2-20.el5
    net-snmp-libs-5.3.2.2-20.el5
    net-snmp-devel-5.3.2.2-20.el5
    net-snmp-utils-5.3.2.2-20.el5
    net-snmp-5.3.2.2-20.el5
    net-snmp-devel-5.3.2.2-20.el5
    # cat /etc/redhat-release
    CentOS release 5.10 (Final)
    #
我使用 snmpd -f -Le 调试,也没看到异常信息,除了
Duplicate IP address detected, some interfaces may not be visible in IP-MIB
我不太清楚这是什么意思,机器A上 eth0 上配置了一个子接口 eth0:1, 所以 eth0 上有两个IP。

Any help would be appreciated !

rdcwayx 发表于 2014-06-24 11:21

加个debug的参数试一下,看看有什么提示。snmpwalk-v 3 -l authNoPriv -a MD5 -u user -A password 124.211.X.X:161 sysDescr -d

rdcwayx 发表于 2014-06-24 11:22

以及看看这篇文章是否有帮助。

http://wiki.jiankongbao.com/doku.php/%E6%96%87%E6%A1%A3:snmp%E8%AF%8A%E6%96%AD

haitianguyan102 发表于 2014-06-24 15:49

回复 3# rdcwayx

谢啦,这篇监控宝的文档都看过好几遍了,在网上搜索到的错误原因也都不适用。
   

action08 发表于 2014-06-25 14:55

snmpwalk可以测试客户端的情况,
snmp自己抓的数据有没有问题啊,比如怎么存放的,怎么读取的呀

haitianguyan102 发表于 2014-07-18 09:40

回复 5# action08


    谢啦,不怎么逛论坛。这个问题我早就放弃了,懒得折腾。主管说是一台不重要的机器,以后重装系统。

action08 发表于 2014-07-18 09:57

嗯,商业平台,没必要在一些小事情上浪费太多的功夫,
页: [1]
查看完整版本: SNMP监控无法获取数据