我正在开发一个脚本,用于监控来自nagios的特定主机上的流量。我已经研究了一些已经制作的脚本,并且已经收集了我需要做的几乎所有信息但是我遇到了识别OID对流量所必需的问题。我想使用IF-MIB::ifOutOctets.1
和IF-MIB::ifInOctets.1
来获取传入和传出的流量,但是当我使用以下行进行测试时:
snmpwalk -v 1 -c public myComputer OID
我对OID都有相同的结果,这似乎不对。如果我可以尝试其他变量而不是我现在使用的那些变量,那我就会徘徊。
即使你能指出我在IF-MIB
找到一些信息的地方也会很有用,因为我可以用snmpwalk
得到所有值,但我不知道如何解释它们
答案 0 :(得分: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
以aprox 1分钟的间隔,然后我减去这两个值并将它们除以执行之间经过的秒数。我将该值与从iptraf获得的值进行了比较,它们有点匹配,所以我认为你可以用这种方式找到一个带有snmp的站点的流量。