网络流量的 SNMP OID

标签 snmp nagios net-snmp oid mib

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

snmpwalk -v 1 -c public myComputer OID

我得到了两个 OID 的相同结果,这似乎不对。我在想是否还有其他我可以尝试的变量而不是我现在正在使用的变量。

即使您可以指出我在哪里可以找到有关 IF-MIB 的一些信息,它也会很有用,因为我可以使用 snmpwalk 获取所有值,但是我不知道如何解释它们

最佳答案

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

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

以大约 1 分钟的间隔,然后我将这两个值相减,并将它们除以两次执行之间经过的秒数。我将该值与从 iptraf 获得的值进行了比较,它们有点匹配,所以我认为您可以使用这种方式通过 snmp 找到站点的流量。

关于网络流量的 SNMP OID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226688/

相关文章:

python - 我如何从 Ap cisco 获取客户数量并将其保存在变量中?

java - 如何使用 check_jmx4perl 和 nagios 在一个命令中检查堆内存使用情况和 tomcat 版本

ruby - 使用 Puppet list 自动创建 Nagios 主机组

python - 无法更新 python-netsnmpagent 中的表条目

c - 使用 net-snmp C API 设置值时出现问题

net-snmp - snmpget 返回 "No Such Object available on this agent at this OID"

java - 如何初始化 snmp V3 参数以使用 AdventNet 获取 snmpV3 陷阱

open-source - 适用于嵌入式设备的优秀开源 SNMP 代理

SNMP over DTLS 或 SNMPv3

ruby-on-rails - Nagios 和 Rails 监控