基于SAP的系统运行状态监控平台开发与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SAP的系统运行状态监控平台开发与应用
【摘要】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数据监控
Dump日志是用户和系统交互发生异常终端的重要记录日志,这些日志直接记录了用户与SAP系统交互过程中发生
异常导致业务操作终止所涉及的非常详细的快照信息,包括异常位置、相关涉及变量值、相关调用入口和调用路径等信息,对于dump信息的监控和分析是发现系统功能问题的最直接的途径之一。
所以需要综合对系统的dump进行监控,包括dump的数量,类型,程序、事务码(Transaction Code)等信息。
3.6展现
监控数据多且复杂(多指标、多层级、服务器相关),
不论基于用户体验或系统性能角度出发,都应按数据进行分类别局部刷新。
网页具备支持异步刷新、响应式布局、丰富交互性等特性,因此本方案采用在SAP GUI中融合网页技术进行数据交
互和呈现的方式。
利用网页布局的自适应特性和canvas矢量作图的优势,通过div+css进行布局框架设计,通过echarts图形插件来进行图表化呈现,javascript来实现主要的交互响应和局部刷新。
四、应用效果
江苏电力SAP系统运行状态监控平台于2015年5月正
式上线,经过近一年的运行,取得了良好的效果:
1)实现了各项关键指标预警。
在监控平台中对各项关
键指标预先设定好阀值,当达到警戒值时,监控平台会以邮件、短信等方式自动将警报发出,提醒运维等相关人员及时
关注,将问题扼杀在摇篮中。
2)实现监控指标集中图形化展示。
为了方便运维人员及时解决问题,监控平台将常用系统表情况、数据库空间增长情况、内存使用情况等关键指标数据,以图形化的形式集中在一个页面进行显示,使用户能够直观看到SAP系统每天的运行情况,提高运维效率。
3)实现错误问题快速准确定位。
集中监控SAP系统后台作业运行以及错误日志情况,能够分类显示成功的和失败的消息,让运维人员能够快速定位到错误问题。
4)降低了运维成本。
减少了系统发生错误的概率,保证了各业务正常开展。
同时也减少了问题分析和定位时间,提高了运维人员的工作效率,大大降低了运维成本。
五、结语
江苏电力SAP系统运行状态监控平台基于江苏电力SAP 套装软件对系统进程、内存、锁表情况、作业队列状态、dump 数据等情况进行监控,并通过图形化的形式进行展示,实现了对系统运行情况事前预警监控、事后分析,提高了运维效率,有效地保证了SAP系统的稳定健康运行。
本平台均采用标准化的系统平台,具有极强的推广和应用价值。