你好
我有一个专用监控系统,连接到所有远程办公室的网络。我们的主/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
编写插件: