PIGOSS BSM提供了自动发现拓扑功能,能够发现全网拓扑、指定网段拓扑、路由拓扑,能够自动关联系统已经监控的设备的状态在拓扑图上实时显示。在做全网发现的时候,可以指定网段或起始路由器,并设定全网的snmp配置参数后,系统将对全面进行扫描。网络拓扑发现的主要目的是获取和维护网络节点以及它们之间的连接关系信息,并在此基础上绘制出整个网络拓扑图。网络管理人员在整个网络拓扑图上查看到网络的概况并在此基础上对各个路由器、交换机以及服务器等进行快速故障定位。
功能介绍
按照下图所示,从主页中的拓扑管理,可以进入自动发现拓扑页面,输入相应信息进行拓扑发现。拓扑发现的基本原理是结合ICMP和ARP以及SNMP输出信息等,对指定的网络进行活动设备的检查,得到所有的活动设备,然后通过SNMP取得设备的基本信息,根据基本信息确定设备的类型,再根据设备的类型取得相应设备的详细信息。
SNMP参数配置
因此在进行拓扑发现之前,需要对所发现网络的SNMP信息进行初步设定。一般客户的网络SNMP信息,如端口、团体
名称、版本等都有相应的规则,例如在内网核心路由基本使用的统一的端口和团体名称,而针对外部网络的路由器、交换机等使用另外一套SNMP参数。在PIGOSS自动发现拓扑的SNMP参数配置中,可以设置默认的团体名称和端口,还可以指定特定IP或IP段的团体名称和端口。系统在拓扑发现时,会根据获取到的活动设备IP地址,查找合适的SNMP参数,并用这个参数来尝试发现设备。
拓扑发现
PIGOSS BSM提供了多种拓扑发现的方式,包括全网拓扑、路由拓扑、网段拓扑。路由拓扑仅发现网络中路由器以及他们的连接关系,而网段拓扑可以发现指定网段IP中的活动设备,并建立连接关系。全网拓扑会先进行路由拓扑的发现,然后针对每个路由器发现子网。
拓扑发现原理
PIGOSS BSM采用了多种网络协议对指定网络进行发现,包括SNMP的APR表、路由表、ICMP PING、CDP。
设备发现
先通过指定的路由器获取存在的子网列表,然后通过ICMP Ping或路由器中的ARP信息遍历指定子网中所有的活动设备,并在SNMP参数配置中找到此设备可能的团体名,尝试获取设备的基本信息,并判断出设备的类型(路由器/交换机/防火墙/UPS/主机等),并在此基础上获取设备的详细信息。
通过路由器的ipRouteTable可以获取到此路由器的下一跳地址,以及本路由器的子网列表、每个子网的IP地址范围。然后针对获取到的这些IP进行依次发现,就可以获取到全部的活动设备。为了提高发现速度和效率,一般会先通过ICMP Ping对设备进行初步筛查。
下图是一个真实路由表的输出:
链路发现
对于交换机、路由器设备,链路层拓扑发现的原理是根据交换机的cdp邻居表、端口ifIndex和port对应表、自学习表判断出各交换机的连接关系。具体步骤如下:
- 获取所有路由器的arp表信息
- 获取所有交换机的cdp邻居表、端口的ifIndex和port对应表、自学习表。
- 对交换机的互连关系进行判断,如果某个交换机的某个端口学习到了路由器的mac地址,则认为此端口为上行端口,如果交换机只有一个端口有自学习表项,也认为此端口是上行端口。如果一个交换机的上行端口中没有接其它的交换机则此交换机为根交换机。
- 根据以上获取的信息,可以初步建立设备的连接关系
- 对于Oracle路由器交换机,可以获取cdp表,用以修正之前生成的连接关系
补充和完善
在设备类型比较通用,并且相应SNMP协议和端口开放的情况下,自动发现拓扑的准确度能达到90%。PIGOSS BSM系统还支持手工对拓扑图进行修补,支持把纳入监控的网络设备手工拖拽进入拓扑图,并手工修改其连接关系。
BSM系统还提供自定义拓扑功能,管理员可以自行增加各种管理视图,并以可视化图形的方式展现各种管理视图。每个管理视图都将展现不同资源之间的关系、资源的当前状态和告警报警情况。每个管理视图也可以设置不同的标题和背景图。在自定义拓扑页面能够显示拓扑元素的告警信息和资产信息等数据。