![与远程办公室双向带宽测量 snmp](https://linux22.com/image/697041/%E4%B8%8E%E8%BF%9C%E7%A8%8B%E5%8A%9E%E5%85%AC%E5%AE%A4%E5%8F%8C%E5%90%91%E5%B8%A6%E5%AE%BD%E6%B5%8B%E9%87%8F%20snmp.png)
你好
我有一个专用监控系统,连接到所有远程办公室的网络。我们的主/nagios 服务器与所有服务器都有连接。我想获取专用系统和 nagios 服务器之间的双向带宽测量值。应使用 snmp 进行连接。但不要使用 snmp traps 和 NPRE。
推荐使用哪种工具来完成这项工作?我不需要图形输出本身,因为收集到的带宽数据应该发送到 muniin 进行进一步处理和图形输出。提前谢谢您!
答案1
您可以使用nagios 插件其中包含脚本 check_netint。此脚本将使用 SNMP 从路由器 MIB 中存储的数据计算接口的带宽。
答案2
我认为您无法通过 SNMP 轻松获取两台设备之间的带宽使用情况。但是,您可以使用 SNMP 获取 NIC 或网络端口上的总带宽使用情况。
我认为至少在思科设备上没有双向带宽的 OID。但有 tx 和 rx 的 OID。编写一个脚本来检查 snmp 中的这些 oid(您甚至可以调用现有的 nagios 插件),并让脚本将两个值相加,然后输出总数。不确定是否有更简单的方法,除非您的微型计算机有内置的 SNMP 客户端。如果您可以编写脚本,那么编写 nagios 插件就相当简单了,而且有很多关于如何编写的文档。学习如何创建自己的插件是一项强大的技能。
另一种选择可能是在主 nagios 服务器上使用一些网络工具,例如 tcpdump。xxxx 将是远程微型计算机。
tcpdmp -ietho0 host x.x.x.x > file
然后解析所述输出,其中应该有一堆类似的行:
IP 172.17.17.17.ssh > 172.17.17.18.5878: Flags [P.], seq 952944:953232, ack 3521, win 283, length 288
计算每个数据包的大小(长度 288),在插件中返回总数。它不会 100% 准确,因为它将包括 IP/协议标头等。但应该可以满足您的目的。
有用的链接:
https://supportforums.cisco.com/discussion/11018931/need-oid-rxload-and-input-rate http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/8141-calculate-bandwidth-snmp.html
编写插件: