广西大学行健文理学院 钟晓鸣
在疫情防控期间,许多高校为了解决工作和学习不便的问题,开始大规模的将传统学习、办公转为了线上模式。这一转变在有效促进高校信息化的同时也为网络管理带来了不少的压力,例如:在疫情防控期间,高校用户通过VPN获取校内信息和资源的行为迅速激增,VPN设备受限于性能和用户授权许可数等指标,是否能满足疫情下用户对网络的支撑需求,需要网络管理人员时刻掌握设备性能情况。因此,对校园网络设备工作状态、性能的常态化监管尤其重要,也为现有网络设备是否需要升级改造提供重要依据。然而在现实网络管理中,管理员难以不间断地观察性能参数的变化,并且当参数变化超出管理员预期时往往已经错过了最佳的发现时机。
多数的网络设备都自带有管理后台,可以查看设备工作状态和性能参数。但管理后台一般也仅提供了查看实时状态或短期的变化趋势,且存在以下三方面不足:(1)无法保存长期的状态和性能数据以供历史查询和回溯分析;(2)无法对设备状态和性能参数实施触发式告警;(3)难以将多个不同网络设备的相关运行状态和性能参数同时展开对比,以便快速找出问题的关联性。为解决上述问题,需要一种通用的网络监管软件(系统)进行更有效管理。虽然互联网上大多数网络监管软件都可以很轻松地实现对于诸如网络端口流量、WMI、服务可用状态等管理,但对于一些特殊设备中的不常见的运行性能参数,如UPS的实时负载和电池供电时的输出电压,VPN的实时在线用户数和会话数不等,因为差异化设置较多,一般难以实施自动化识别,需要通过一系列手动设置才能被正确识别并用于监管。以下以PRTG Network Monitor V22.1.75.1594 x64版本为例,介绍在如何运用PRTG Network Monitor(以下简称PRTG)通过SNMP私有OID的管理形式,对此类不常见的特殊性能参数进行有效监管。
PRTG是一款功能强大的网络监管软件,可监管网络基础设施中的各种基于SNMP、WMI、SSH、Ping(IGMP)、HTTP、NetFlow等技术的网络设备、服务器和其他网络终端[1]。PRTG运行于Windows平台,原生支持简体中文,因其部署简便、功能齐全、交互性好、定制度高及具有丰富的监管图表等特点,在网络管理运维人员中广受欢迎。从官方网站下载的PRTG软件有30天的试用期,在试用期结束后自动转为免费版,免费版除了限制最多使用100个传感器,其余的功能与付费版基础一致,且通过购买“商业许可证”能平滑过渡到付费版,这给很多初次接触PRTG的用户带来测试便利和完整的体验效果,为规模化部署提供良好的实践基础。
PRTG以传感器的形式监察网络设备的各项运行性能参数。PRTG提供了自动发现功能,为大型网络批量添加设备和传感器提供方便。一般情况下,在已经设置好网络设备连接凭证(例如SNMP的社区字符串、WMI的Windows系统登陆账号等)的基础上,PRTG可以自动扫描出指定IP地址范围内的交换机、路由器、防火墙、服务器等网络设备,并按网络设备属性自动归类,同时识别出网络设备中常见的传感器,诸如基于SNMP的端口流量,基于Windows系统的WMI各类信息,基于TCP、ICMP协议的HTTP、Ping访问通达情况等。但对于一些特殊的或不常见的性能参数就无法使用自动发现功能,需手动设置添加。
由于SNMP(Simple Network Management Protocol,即“简单网络管理协议”)简单、经济等特点,SNMP在网络设备中得到广泛应用,也使得大多数的特殊性能参数可以在SNMP方式下监管。因此在PRTG中利用SNMP的应用广泛性可以对特殊性能参数进行有效管理。在SNMP中,被管理设备的最基本的管理元素是“管理对象”,设备的某个性能参数即是一个“管理对象”。每一个“管理对象”都有唯一指定的OID(Object Identifier,对象标识),它们以树状结构分级分组(节点)管理,通常用数字方式表示为“.1.3.6.1.2.1……”[2],其各节点数字也可用字符方式表示,这里不再赘述。因此我们在对设备进行监控和管理时就需要以定期轮询的方式获取每个OID的返回值,从而得到这个“管理对象”在时间上的变化情况,通过网络监管软件的处理后还可得到直观的变化趋势图等,这是SNMP的基本管理方式。在PRTG中每个传感器对应一个OID。
SNMP中的“管理对象”分为公共、私有两类。PRTG提供的自动发现功能可自动识别出大多数常见的公共“管理对象”,足以满足一般的网络管理需求,但在两种特殊情况下,需要我们对SNMP传感器进行手动添加:一种是不常见的公共SNMP“管理对象”(以下简称公共OID),如设备的系统时间,网络端口的IP地址、MTU、接口速率基本参数等;另一种是各网络设备厂商的自有SNMP“管理对象”(以下简称私有OID),主要为网络设备特有的“管理对象”,如之前所述的VPN的在线用户数、会话数等。本文所讨论的内容都适合这两种特殊情况,以下以私有OID为例进行说明。
由于各网络设备厂商的私有MIB(Management Information Base),即“管理信息库”,可看作是对OID的定义集合,一般都不对外公开,因此在网上较难搜索到性能参数所对应的私有OID信息。
获取私有OID的途径主要是通过购买设备后,一般可在设备的配置SNMP页面下载,或在随赠光盘说明书中获得,也可直接向设备厂商索取。设备厂商一般会通过两种方式提供,一种是提供符合RFC文档格式的设备私有MIB文件;另一种是直接提供含有私有OID信息的文档。如果是前者,则需要通过一些查看MIB信息的第三方工具,如ManageEngine MibBrowser(以下简称MibBrowser),加载私有MIB文件后进行分析,找出所需要“管理对象”的OID;如果是后者,可直接将其所提供的私有OID用于下一步的验证环节。
验证的目的是确定OID是否有效,同时通过分析验证时所获取OID返回内容的数据类型、数量级、单位等性质,确定下一步如何在PRTG中配置传感器参数。在验证前,被管理设备需要事先配置好IP地址、SNMP设备凭据(SNMP版本、社区字符串、SNMP端口)等设置,并确保管理端和被管理设备之间的网络能互访畅通。验证工具建议使用MibBrowser,可以快速有效地进行OID的验证与分析,具体方法这里不展开叙述。如不具备上述软件工具,也可在完成下一步的私有OID传感器配置完成后,在被管理设备“概述”中找到传感器“消息”,可简单查看OID的返回内容。
上述准备步骤完成后,进入PRTG点击“设备”项,在设备列表右侧的蓝色“+”号处选择“添加设备”进行添加一台待管理的设备,如一台VPN设备。按提示要求配置好设备名称、IP版本、IP地址/DNS名称、SNMP设备凭据(SNMP版本、社区字符串、SNMP端口等)。添加完设备后,点击该设备名称进入该设备的管理页面,在默认的“概述”页的右侧点击蓝色“+”号选“添加传感器”,然后选择添加传感器的类型。由于传感器种类众多,建议通过分类筛选或搜索关键字,以快速找到所需的添加类型。这里选“SNMP 自定义”或“SNMP 自定义字符串”(如图1所示)都可以添加私有OID的传感器,至于选择添加哪种方式的传感器,则需要根据OID轮询返回内容是数值型还是字符型来确定。如果返回内容是数值型使用“SNMP自定义”,是字符型则使用“SNMP自定义字符串”。下面具体说明如何添加这两种自定义传感器。
图1 添加传感器Fig.1 Add sensor
3.3.1 “SNMP 自定义”方式
点击添加“SNMP自定义”,进入配置选项卡。以添加“CPU平均负荷(1分钟)”传感器为例,添加该传感器时主要注意“OID设置”选项的填写, 建议使用OID数字方式表示(如需要使用字符方式表示时,节点字符须加双引号);此外,需特别注意的是:OID的第一个“.”要去掉,例如某型号VPN设备的“CPU平均负荷(1分钟)”的OID为“.1.3.6.1.4.1.35047.1.6.1.0”,则在PRTG中的“OID”项须填入“1.3.6.1.4.1.35047.1.6.1.0”。在“单位字符串”项填入适合的单位,如“%”;如果轮询返回值为小数则“值类型”选“绝对值(浮点)”;其他输入项可视情况按需填写,检查无误后按“创建”完成该传感器添加。如不了解OID的形式和变化,可以借助PRTG的配套工具“Paessler MIB Importer”,导入被管理设备相应的MIB后进行查看。
3.3.2 “SNMP 自定义字符串”方式
点击添加“SNMP自定义字符串”,进入配置选项卡。以添加“在线用户数”传感器为例。与前例相似,添加该传感器时主要注意“OID设置”选项的填写。如“OID”填入“1.3.6.1.4.1.35047.2.10.7.0”。此外还需特别注意,对于传感器轮询返回内容是字符串类型的,还需要将字符串中的数值提取出来,否则未经处理的字符串不能被PRTG正确识别并存储,且在后期的图表和告警通知功能将无法引用。例如“在线用户数”传感器轮询返回内容的类型为字符串,具体内容格式为“29 loginned users in all”,则在“扩展处理”选项中的“正则表达式”输入“d+”,即可将字符串中的数值“29”提取出来。同样,可以借助MibBrowser等工具分析OID的返回内容的格式,以便采用正确的正则表达式提取数值。检查无误后按“创建”完成该传感器添加。
添加传感器后,已可以对该设备相关性能进行基本的运行状态查看、查询等管理。但为了发挥PRTG功能优势,提高管理效率,我们可以利用传感器所采集的数据进行更有效地监管,便于查看、分析数据,以及在需要时使PRTG发出告警,提醒网络管理员注意。
依次点击“拓扑图”——右侧“+”号——“添加拓扑图”,创建一个新的拓扑图。如图2所示,在“拓扑图设计程序”界面中分为左、中、右三个部分,左边是设备树,点击设备组/设备名称前的小三角可以展开查看该设备组包含的设备或该设备包含的传感器;中间部分是编辑区,可将左边选定的传感器拖放到该区域进行编辑;右边是对编辑区里选中对象的属性设置,包括该对象的位置、宽高、展示属性等。这里我们主要利用传感器展示属性中的“图表”功能来设计传感器的趋势图。利用将不同属性“图表”拖放到编辑区的传感器上,可以使该传感器以不同图表方式进行实时(2小时)、2天、30天、365天展示,便于同时查看多个不同的传感器在可定制的时间跨度范围内的变化趋势。PRTG的“拓扑图”设计简单方便,通过鼠标拖拽等方式能方便地实现设备传感器的选取、图表类型设置、缩放图表等。生成的图表可在“获得HTML”中获取用于对外的Web发布的URL地址,便于不同权限的管理用户通过浏览器直观察看图表。
图2 拓扑图设计程序Fig.2 Topology diagram design program
PRTG通过对传感器进行实时监测感知网络设备的运行状况,当传感器的数据、状态发生变化满足用户指定条件时,PRTG可按设定好的触发器触发相应的事件告警通知网络管理员。PRTG主要有五种触发条件类型的通知触发器,其触发条件和作用为别为:
(1)状态触发器:传感器处于特定状态(停机、警告、异常等);
(2)速度触发器:传感器指定通道处于(超过、低于、等于、不等于)指定速率,主要用于带宽速率(BPS)类型的传感器;
(3)卷触发器:传感器指定通道在特定周期内达到指定字节量,主要用于以bit、byte为单位的流量型传感器;
(4)阈值触发器:传感器指定通道处于(超过、低于、等于、不等于)指定阈值,主要用于网速(BPS)以外的数值类型的传感器;
(5)更改触发器:传感器发生变化。
PRTG不但可添加多个不同类型的触发器,相同类型的触发器也可以添加多个,以应对复杂的触发条件需要。使用触发器时先选择需要触发告警的传感器,点击进入其管理页后在“通知触发器”里可为该传感器添加上述2~3种类型通知触发器。在PRTG系统“设置”中配置好“通知投递”“通知模板”的基础上,我们就可实现将触发告警信息自动通过电子邮件、短信、SNMP陷阱、App推送等方式通知网络管理员[3]。
例如为“在线用户数”传感器添加阈值触发器。将学校已购买的在线用户授权许可数的85%设为阈值(需要换算成具体数值),如图3所示,阈值触发器规则设置为:当“在线用户数”通道“超过”“300”(阈值)至少“60”秒时,执行“发送至管理员的邮件和推送通知”。当线用户数超过阈值时触发告警,网络管理员就可以很方便地在第一时间获取到超阈值信息,为增加授权许可数或更换设备提前做好准备。
图3 通知触发器Fig.3 Notification triggers
网络设备的一些特殊性能参数的监管是网络管理中较难实现的环节,在众多的网络管理系统中也往往都忽视了对这类特殊的性能参数的获取和管理。通过PRTG丰富的管理功能,只要能在网络设备的SNMP中找到特殊性能参数所对应的OID,就可以实现对其进行有效监管,从而提高网络管理人员对特殊性能参数的感知和管控能力。
引用
[1]PAESSLER A G.Paessler - The Monitoring Experts[OL].(2021-02-11)[2022-09-14].https://www.paessler.com/cn.
[2]贺平.网络管理与维护[M].2版.北京:高等教育出版社,2010: 51-54.
[3]张智伟.利用PRTG构建免费网络监控环境[J].中国传媒科技, 2019(5):109-112.