网络设备主动告警系统之snmp告警实现.docVIP

网络设备主动告警系统之snmp告警实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络设备主动告警系统之snmp告警实现

网络设备主动告警系统之snmp告警实现 一般主动告警系统的告警信息采集主要有5种方法: 1. 在告警服务器ping各种设备, 判断设备是否存活与掉包率 2. 接收设备发过来的系统日志(syslog), 并通过相应的规则库(正则表达式)匹配判断是否需要告警 3. 接收设备发过来的snmp Trap信息, 进行判断告警 4. 提取网管系统的告警信息 5. 通过snmp协议, 取回相应oid的值, 进行判断告警 什么是snmp: Simple Network Management Protocol (SNMP)提供了一些简单的操作, 允许你更容易的监控与管理网络设备, 例如路由器,交换机,服务器,打印机等等. 通过snmp你可以监控很多信息, 例如端口流量, 路由器里面的温度, cpu使用率等等. 学习snmp其实并不是特别简单, 请通过别的资料学习更多的方面, 特别是mib,oid之类的概念. 推荐学习Essential SNMP, 2nd Edition这本书. 如何收集数据: 如果安装了NET-SNMP, 可以从/获取NET-SNMP的RPM包以及源代码。下载 解压后 su - cd ucd-snmp-4.2.3 ./configure --prefix=/usr -- 缺省是/usr/local make clean all make install snmpget target public system.sysDescr.0 应该可以看到一个关于系统的简短描述,类似这样: system.sysDescr.0 = Sun SNMP Agent, Ultra-60 上述命令中的public可以理解为SNMP agent的口令,术语叫做community string。 许多网络设备、操作系统都用public做为缺省community string,潜在带来安全 问题。应该修改这个缺省community string。 上述命令还可以写成: snmpget target public ...0 system.sysDescr.0只是...0的另一种表述方式,最终还是要转 换成数字形式的OID(对象标识符)。 snmpget返回一个值, 类型可以是数值或者字符串等, 还有一个snmpwalk的操作, 大概就是返回一个数组的结果. 本系统使用java语言实现, 在网上下载了一个开源的snmp实现, 假设有以下工具类: public class Poller { public Poller( String host, String community, int version ) throws IOException { // } public String get( String oid ) throws IOException { // return null; } public MapString, String walk( String base, int startIndex, int indexCount ) { // return null; } public void close() { } public static void main( String[] args ) { Poller poller = new Poller(); // 该ip对应的设备是cisco-6509 // 1. cpu告警 String cpuStr = poller.get( ...1.5.9 ); // cisco-6509的CPU使用率 long cpu = Long.parseLong( valueStr ); if ( cpu 85 ) { System.out.println( 告警! cisco-6509的CPU使用率超过85% ) ; } // 2. 板卡告警 String statusStr = poller.get( .4.1.9.a.1.10.1 ); // cisco-6509的第一个板卡状态 long status

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档