网络流量的SNMP OID

3

我正在编写一个脚本,将从Nagios监控特定主机的流量。我已经研究了一些已经制作好的脚本,并且已经收集到了几乎所有需要的信息,但是我在识别流量所需的OID时遇到了问题。我想使用IF-MIB :: ifOutOctets.1IF-MIB :: ifInOctets.1来获取传入和传出的流量,但是当我用以下行进行测试时:

snmpwalk -v 1 -c public myComputer OID

我得到的两个OID的结果都是一样的,这似乎不正确。我在想是否有其他变量可以尝试,而不是我现在正在使用的那些。
如果您能指出我可以在哪里找到关于IF-MIB的信息,甚至只是提供一些信息,那将非常有用,因为我可以使用snmpwalk获取所有值,但我不知道如何解释它们。

为什么不访问http://munin-monitoring.org/wiki/HowToContactNagios? - hovanessyan
我有点被迫使用SNMP,因为我必须监视的站点上有守护程序,而且我不能安装任何其他东西。但是我找到了一些解释“IF-MiB”的东西:http://net-snmp.sourceforge.net/tutorial/tutorial-5/toolkit/mfd/if-mib/index.html - primero
另一个很好的信息来源是Apress出版的Rytis Sileika所著的《Pro Python系统管理》。 - primero
1个回答

6

好的,我找到了答案,经过一些搜索。这些值相等是因为我没有询问正确的接口(我在询问环回)。有这个命令snmpwalk -v 1 -c public hostname 1.3.6.1.2.1.31.1.1.1列出了许多OID,从那里你可以看到“IF-MIB ::ifName”代表接口。如果你执行IF-MIB::ifInOctets.x,其中x对应你感兴趣的接口,你可以找到一个字节值。我不确定它的意义或者如何生成,但我测试了两次这个命令:

date ; snmpwalk -v 1 -c public myComputer ifOutOctets.x 

大约每1分钟执行一次,然后我减去两个值,并将它们除以执行之间经过的秒数。我将该值与从iptraf获得的值进行比较,它们有点匹配,因此我认为您可以使用此方法来查找具有snmp的站点的流量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接