1. 剖析 NMS
如果不考虑其具体应用的领域、代码沿袭或厂商,许多
NMS
产品在层次组成上都有类似的概念。图
1
显示了这种常见的组成。
这个组成通常有三层。前端这一层与管理的设备和服务的网络、使用该系统的用户和外部系统连接在一起。中间这一层包含大量逻辑,这些逻辑提供了
NMS
各种特性。后端这一层负责保存和操作数据。
由于要动态(但还要健壮)地跟踪复杂的相互关系和大量信息,
NMS
在后端这一层不可避免地部署了商业级关系数据库管理系统(
RDBMS
)。
在第一层内,监控、管理和控制组件通常包含许多必须在
NMS
操作期间执行的并发任务。第一层负责发现活动网络,轮询服务和设备是否出故障,以及截获或处理来自设备、服务或更高层分布式代理的异步事件。这个组件还可以执行由
NMS
中间层中的配置逻辑、供应逻辑、工作流执行器或其它定制逻辑所驱动的操作。
在前端这一层还有用户界面组件。
NMS
可以有
“
胖客户机
GUI”
界面,以及易于定制的基于
Web
的用户界面。报表工具驻留在这一层,它可以与
UI
交互以提供实时的软拷贝报表和批处理形式的硬拷贝报表。
第一层中的外部接口组件可以处理给用户和/或外部系统的通知。这可以采取寻呼、电子邮件、电话或发给外部管理系统的特定事件等形式。
API
和扩展插件基础结构使得可以定制
NMS
,以及将
NMS
与其它系统连接在一起,或者将
NMS
与其它系统集成。
中间层是
NMS
逻辑所在之处。它向
NMS
提供个性化以及与众不同的特性集合。还提供一些常见的特性,譬如,库存或资产管理、数据收集和分析、用户或角色管理以及工作流管理/执行。
库存(或资产)管理是大多数
NMS
产品的主要功能。但其中所跟踪的项目随不同的
NMS
而各不相同,譬如设备、线路、服务器、安装的软件服务和应用程序等。该组件的用户界面和应用程序逻辑必须能灵活地适应可能要管理的各种项。
数据收集和分析特性可以提供有关所管理设备和服务的当前和历史统计。它还可以提供统计分析,从而揭示网络和子网的性能以及设备/服务的可用性等。该组件还可以与工作流执行逻辑交互以处理定制的工作流。
用户和角色管理组件提供对
NMS
不同级别的访问。大多数大型网络是由一个团队或多个团队的人员来管理的。分配给用户的角色可以用在定制安全策略的设计和实现中,以及定制的工作流和事件升级流中。
工作流管理和执行是针对短期和长期管理任务的管理和自动执行而提供的。为了使
NMS
适应不同组织对各种业务的需求,定制自动化工作流是有必要的。
虽然并不是每个
NMS
都会具备所有这些组件
―
甚至有些可能会有其它更专门化的变体
―
但这里所提到的组件已足够用来概述
NMS
的组成部分。
OpenNMS
体系结构
有几个管理实用程序是用
UNIX shell
脚本和
Perl
编写的。
OpenNMS
使用一套与
图 1
中的监控、管理和控制组件相对应的并发
Java
任务来提供该功能。在图
2
中用圆圈表示的就是这些并发任务。