现在的位置: 首页 > IT运维 > 正文

解决Cacti中文版测试snmp及snmp的方法

2010年10月31日 IT运维 ⁄ 共 2061字 暂无评论 ⁄ 被围观 2,384+

 

Cacti中文版是用php语言实现的一个软件,主要功能是用snmp服务获取数据,用rrdtool储存和更新数据,用户查看数据的时候用rrdtool生成图表呈现给用户。

一.测试snmp是否正常

#snmpwalk -c public -v 2c localhost
#snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
IP-MIB::ipAdEntIfIndex.61.xxx.xxx.xxx = INTEGER: 2
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.xxx.xxx.xxx = INTEGER: 3

也可以用snmpd -f -Le 命令查看当前有没有出什么错

FQA:

1、如果磁盘监控不到

请使用Cacti中文版中自带的模板 ucd/net – Get Monitored Partitions ,然后在被监控的机器的snmpd.conf(/etc/snmp/snmpd.conf)中加入disk / (比如我们监视根分区)然后可以用snmpwalk -v 1 -c public 192.168.0.52 dsktable这个命令来检查

2、如果图出不来

1.检查你的主机是不是活的,一定要能测试通过,状态是活的才行,可以用命令来检查是否有输出
2.另外Cacti中文版默认选择的rrdtool的版本是RRDTool 1.1.x 的!—-点击Console->System Utilities->Technical Support->RRDTool Version选择RRDTool 1.2.x,不然有可能出不了图.

3、网卡流量达到100M以上图像有问题?
这与snmp的版本有关,snmp1的数据是32位而snmp2c以上是64位(AS4默认是不支持64位的)。

1.首先要确定你使用的是snmp2c或以上,是否支持64位MIB库.如下如果返回的有几行含有“Counter64:”的话.那么表明是支持的。
#snmpwalk -c public -v 2c localhost IF-MIB::ifHCInOctets
IF-MIB::ifHCInOctets.1 = Counter64: 3174458
IF-MIB::ifHCInOctets.2 = Counter64: 1585772167
IF-MIB::ifHCInOctets.3 = Counter64: 35696997927
IF-MIB::ifHCInOctets.4 = Counter64: 0

2.然后点击Cacti中文版的页面:“Console ->; Create New Graphs ->;Data Query”。你在下面看到“Select a graph type:”的下拉菜单(默认是“In/Out bits”),要取64bits的数据所以将其改为“In/Out bits(64-bit Counters)”,然后选择你要监测的网卡即可。另外,该监测点的“Maximum Value”必须设置为100M以上。

3.设备管理中,选择的主机中的SNMP版本,一定要是2.

二、RedHat AS4的(net-snmp5.2以下不支持)snmp不支持64位计数器的解决方法(本方法由嘻嘻哈哈提供 http://www.haw-haw.org/node/654)

可以下载一个src.rpm再在/usr/src/redhat/SPECS/net-snmp.spec文件的configure下加上一句–enable-mfd-rewrites \\
然后再
#cd /usr/src/redhat/
#rpmbuild -bb SPECS/net-snmp.spec
生成一堆的x86_64.rpm在/usr/src/redhat/RPMS/x86_64下,如果是32位的就在i386下.在安装就行了.

注 :64位计数器是在net-snmp 5.2上新加入的IF-MIB ,它可以转换更多的 MIB 对象 (e.g. ifXTable with 64-bit ifHC* counters). 所有象RHEL4,Centosd4上,如果使用默认的5.2的src包,就算加入了enable-mfd-rewrites其实也是不行的.所以要下载5.2的src包来安装.

下载地址

net-snmp5.2.src.rpm

这个包中默认就加入了enable-mfd-rewrites.下载后,直接用上面方法中的rpmbuild -bb SPECS/net-snmp.spec编译后安装就行.

这个有时还得不到数据,要注意你的snmpd.conf是否配置对了.其中的如下,read选项要是全部.

access notConfigGroup ""      any       noauth    exact all none none

如果不想编译,可以下载在这下载redhat4的rpm直接安装就行了

http://ftp.freshrpms.net/pub/freshrpms/redhat/testing/EL4/net-snmp/

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#