我的最终目标只是查看 Cisco Router 3662 输出的某种数据。数据包括总连接数和使用的带宽。我正在尝试使用 SNMP。我认为我的 snmp 运行正常,但我不知道 snmp 数据去了哪里。我在网上运气不佳。我看到了一篇关于使用 perl get 对象的服务器故障帖子,但我不知道我所拥有的是否有效。
所以我在我的 ubuntu 机器上设置了一个 SNMP 守护进程。代码:
rocommunity public
agentaddress localhost:161
然后在路由器上(xxx.xx.xx.xx == 我的 ubuntu 盒子的 ip 地址)代码:
snmp-server community public RO
snmp-server enable traps bgp
snmp-server host xxx.xx.xx.xx public
我从路由器上获取了一些统计数据:代码:
800 SNMP packets input
0 Bad SNMP version errors
0 Unknown community name
0 Illegal operation for community name supplied
0 Encoding errors
800 Number of requested variables
0 Number of altered variables
0 Get-request PDUs
800 Get-next PDUs
0 Set-request PDUs
0 Input queue packet drops (Maximum queue size 1000)
901 SNMP packets output
0 Too big errors (Maximum packet size 1500)
0 No such name errors
0 Bad values errors
0 General errors
800 Response PDUs
101 Trap PDUs
SNMP logging: enabled
Logging to xxx.xx.xx.xx.161, 0/10, 101 sent, 0 dropped.
所以它必须发送它,它在我的 ubuntu 盒子上的什么位置?
答案1
如果您想从 Linux 机器中检索思科路由器的 SNMP 数据,则不需要 SNMP 守护程序,您需要的是一个可以获取 SNMP 数据并将其绘制成图表的工具。SNMP 数据需要通过某种方式提取。
流行的工具包括 MRTG、Cacti、RRDTool,以及所有较重的网络管理系统,如 Nagios、OpenNMS 和 ZenOSS。
如果你有SNMP软件包安装后,您可以使用类似这样的命令snmpwalk -${SnmpVer} -c${SnmpCommunity} ${systemIp} system
来测试是否可以建立 SNMP 连接。对于您的示例,您可能希望像这样替换变量snmpwalk -2 -cpublic 10.1.1.1 system
。