基于SAP的系统运行状态监控平台开发与应用

2016-05-11 06:50王春波胡亚陈刚
中国新通信 2016年7期
关键词:信息系统

王春波 胡亚 陈刚

【摘要】 SAP系统作为江苏电力公司的核心系统,承担着人、财、物等核心业务功能,系统的健康稳定运行就显得尤为重要。但实际运维过程中往往是在系统出现故障时才能发现问题。不仅对业务操作产生一定的影响,有时甚至产生无法挽回的直接经济损失。因此,有必要深入研究如何能够及时有效监控SAP系统运行状态,实现主动运维,保证系统健康稳定运行。

【关键词】 SAP 信息系统 监控平台

前言

从2007年6月启动以来, 江苏电力SG186工程项目经历了业务流程优化、试点单位实施、推广单位实施和持续深化应用等阶段,已构建了覆盖核心业务的一体化业务应用平台,目前正在进行SG-ERP的深入建设。随着越来越多的系统投入正式运行,使公司各基层单位、各个部门之间的相互联系日益增强。同时各个系统在纵向、横向耦合程度日益加深,公司信息化水平已发生了质的飞跃。为了保障公司各项业务在信息系统的支撑下能够正常开展,江苏省电力公司越来越关注本公司的系统运维。SAP系统作为江苏电力公司的核心系统,承担着人、财、物等核心业务功能,系统的健康稳定运行就显得尤为重要。

目前在SAP系统的运行维护工作中,往往是在系统出现故障时才能发现问题,运维人员疲于应急维修,不仅对业务操作产生一定的影响,有时甚至产生无法挽回的直接经济损失。因此,有必要深入研究如何能够及时有效监控SAP系统运行状态,并且运用信息化手段,主动运维监测系统状态,保证系统健康稳定运行。

一、开发平台设计

该监控平台是基于SAP系统运行情况进行二次开发,采用的是C/S架构。客户端分布在各业务部门的终端。服务器统一存放在省信通公司,便于设备的日常维护和检修。

1.1操作系统选择

Linux是一个多用户、多任务、支持多线程和多CPU的操作系统,是一个性能稳定的多用户网络操作系统。SAP系统也安装在此操作系统上,因此,本平台的服务器也选择Linux。

1.2数据库选择

Oracle是应用广泛的主流数据库,江苏电力的SAP系统也采用Oracle作为后台数据库,为了系统更好的集成,方便维护,本平台也采用Oracle作为数据库

1.3开发语言选择

为了更好的与SAP系统集成,本平台开发使用ABAP语言,通过Html来进行平台无关的页面展示,采用Div+Css技术进行强大灵活的屏幕自适应布局,配合JavaScript来实现丰富的动画过渡和信息交互。

二、功能设计

SAP系统运行状态监控平台由四个功能模块(指标调度模块、监控计算指标模块、指标汇总及分析处理模块、监控指标配置模块)构成。ERP信息系统状态评估系统应用功能如图1所示。

三、系统开发与功能实现

3.1系统进程监控

SAP应用服务器进程类型共有6种:DIA(对话进程)、UPD(更新进程)、ENQ(队列进程)、BTC(批处理进程)、SPO(脱机进程)、UP2(V2更新进程)。

特定类型的任务只能通过特定类型的进程进行处理,而每台服务器针对各类型都有一定的比例分配,若同种类型的任务同一时间段大量爆发,那么就会造成任务的堵塞,排队的任务就有可能出现等待超时而导致业务操作受影响,甚至对业务数据产生影响。我们通过对各服务器的进程使用情况的监控来进行压力风险规避,监控的参数包括各服务器各类型进程的进程使用率、进程CPU占比、进程占用内存,进程DB交互,进程I/O等。

3.2内存监控

内存对于系统来说毫无疑问是非常重要的参数。需要对每台服务器的内存进行监控,服务器上的内存一旦不够,发生的业务问题所带来的影响都无发预测和估计,当内存使用率接近极限值的时候需要进行告警。

虽然进程监控中也涉及一部分进程占用的内存监控,但还需从服务器层面对内存进行的监控,是服务器级别的系统健康运行的重要参数之一。这里主要针对空闲内存(Spared Memory)、堆内存(Heap Memory)和扩展内存(Extended Memory)进行监控。

3.3系统锁情况监控

业务对象(Business Object)在SAP中是很重要的存在,核心的系统业务操作实际上是对业务对象的操作,所有的业务操作都需要保证业务对象事务的ACID特性。以项目为例,围绕项目来进行业务发生和管控,假设要在这个项目下进行采购订单的创建,同时也要为这个项目进行预算调整分配,但不能同时进行两件事(比如预算调减,同时创建订单,最终结果很可能是超预算,这样的内控就没控住),而订单和预算是两个不同的东西,如何保证两个操作的串行发生,就需要对业务对象进行加锁以保证业务的不冲突。

锁的重要性不言而喻,而对于SAP这种业务高度集成的软件来说,保障其正常的使用,就显得尤为重要。这里就需要监控:

系统锁的总数:系统锁的数量有限制的,若系统当前锁个数超过这个限制,那么就会导致锁等待的发生,操作可能会因为超时而dump;

系统锁的信息维度分析:对系统正常运行,以1000个锁为例,若是在一个几千人使用的系统环境里,这个指标看起来是很健康的,但是,如果是由同一个人或同一个程序产生的,那么这种情况是否应该值得关注呢?单凭某一时刻的体量是无法暴露出这样的隐患的,所以要根据创建账号,创建程序,访问终端等维度对系统锁进行记录统计。

3.4系统TRFC/QRFC状态监控

TRFC(事务RFC,Transactional Remote-Function-Call)和QRFC(队列RFC,Queue Remote-Function-Call)是和外围系统或自身进行异步交互的重要方式之一,实际上QRFC是TRFC中的特例,所不同的是,QRFC是无序的,而QRFC是存在队列进行控制的,即串行发生的。若系统中的TRFC和QRFC出现信道堵塞或队列堵塞的话,那么也是会对业务产生影响的。所以不仅要监控未处理和处理错误的TRFC和QRFC数量,还要按照程序、账户、终端等维度进行监控记录统计,对于各维度极端异常的情况需要暴露给运维人员。

3.5系统dump数据监控

猜你喜欢
信息系统
基于信息系统的计量标准管理
基于项目化+翻转的物流信息系统课堂教学设计与实践
信息系统管理在社会中的应用
教育部办公厅下发关于印发《教育行业信息系统安全等级保护定级工作指南(试行)》的通知
信息系统运行质量评估的研究与实现
医院信息系统的安全管理