企业内部管理信息系统运维之我见

做企业信息管理系统的运维工作近一年了,把自己的一些感受在此进行记录。

项目实施是临时性的,一旦实施结束,系统投入使用,便进入了运维阶段,而且该阶段会一直持续下去。

对于实施方来说,系统上线意味着项目结束,但千万不要忘了你还有最后一项工作——交维。如果系统事先没有设计相应的维护工具,或者交维工作做得不好,导致系统无法监控其运行情况,或者无法对其进行配置调整,就会导致一下两种后果:1、对其不管不问,任由系统自生自灭,在使用过程中用户有误操作(这种情况是非常非常常见的,即便程序有非常非常严格的数据验证也无法避免)时,无法快速进行调整,则该系统会快速死亡。2、由于前期对该部分工作考虑不周,需要额外的花费大量人力物力开发维护工具及交维。

对企业来说,这个时候,您需要关注的事情才刚刚开始。

运维是通过定期检查系统运行情况(操作系统以及业务系统有无异常),实时监控系统资源使用情况(服务器的CPU、内存,存储设备、网络流量等等是否超过警戒值),来保证系统稳定运行;制订合适的数据备份方案,并严格执行;并对最终用户在系统使用过程中的问题进行及时解答或处理,来保障业务系统在企业中发挥最大的作用。

围绕上述目标,并根据ITIL中问题分级处理的思路,我们将整个维护团队分成三个组:Help Desk、系统维护、应用维护。

其中各组职责如下:

(1)  HelpDesk 直接面向企业用户,接收并处理用户投诉。投诉内容包括在线系统如何使用(主要针对新系统或者新员工)、在线数据修改(如已审批流程的错别字修改)、系统BUG投诉。

(2)  系统维护主要负责服务器硬件、网络、数据存储、操作系统、数据库等方面的日常监控及维护工作。

(3)应用维护主要负责配合Help Desk人员处理在线数据修改、在线系统Bug修改,以及制作自动化维护工具、响应客户小规模的需求变更。

按照以上配置,已经能够保障整个系统的正常运行,以及用户问题及时响应。

另外,将我们团队现在存在的一些问题也列举出来与大家共勉:

(1)维护手段原始,存在一些监控死角。目前对服务器各项硬件指标在进行实时监控。但在具体应用系统的运行情况监控中手段原始,主要依靠人工进行晨检、巡检来发现问题。这样做就导致:a、发现问题不够及时;b、对于一些没有运行界面的接口、后台服务、数据库作业等的无法进行有效的监控;

(2)知识积累不足。日常工作中使用工单系统记录了大量的用户投诉及问题处理过程,但是没有进行的提炼,导致后来的人员无法从中有效获取知识。在后来的工作中,采取了物质奖励来鼓励兄弟们提炼知识,同时推行规范化工作,即每日下班时对工单系统中记录的问题进行审核,其解决过程需要体现在知识库中。

(3)在我们这里,由于项目开发与系统运维是同一个团队在做,很多时候项目组为了开发新的功能,便对开发好的功能模块,匆匆上线,简单交维,甚至就不进行交维。而通常这种匆忙上线的系统,其开发及测试过程也是匆忙的,这就意味着,系统第一天上线,第二天便会出现bug,而开发团队已经投入到新模块的开发中去了,我们万能的应用维护团队此时便要出现了。长此以往,应用维护的工作量将会是个无底洞,另外也会导致开发团队的质量没有约束。

(4)由于分成了三个小组,各自有明确的分工,导致系统维护人员在日常工作中对业务了解的不够深入,导致在某些应用系统发生突发故障时无法快速定位并处理。

在接手维护工作之初,我曾经给团队以及客户提过一个“轻松维护、专业服务”的目标。

并且围绕此目标制定了几个工作思路:

(1)HelpDesk团队每周/每月对工单系统进行分析,找出用户投诉前三的系统,针对这些系统的问题重点分析,是否该系统BUG较多还是该系统用户体验不好不会使用,并制定相应方案或修改BUG或提升用户体验以减少投诉量。

(2)从工单中进行数据挖掘,建立知识库,并安排相应的专业技能培训,以缩短单个任务的处理时间。

(3)增加自动化维护工具,一方面寻找已有的产品,另一方面整理常见的维护操作,自行开发自动化工具。

在近一年的工作中也在按照这个思路逐步开展工作,当然在具体的执行中还存在不少的遗憾,希望今后其他人能继续做好,在减少自身工作量的同时,将系统保障做的更好。

当然在工作中也有一些问题,一直没有很好的解决思路,在此也将砖头抛出,希望引来美玉:

(1)如何进行绩效考核?

简单的列举一些考核的扣分项是很容易的,但没有切实做过维护工作的人是很难了解到兄弟们在这个工作中的枯燥及辛苦的,但是你把所有工作做得尽善尽美又是维护人员的天职,无法据此进行奖励,在这种情况下,日常的绩效考核就变成全是扣分/罚款了。。。。

(2)如何对接口、后台服务、数据库作业进行自动化监控?

对于接口程序可以在设计时增加一个专门返回自身当前运行状态的接口,之后采用专用程序定期进行探测;对于后台服务也可以设计一个对外的Remoting接口,返回当前运行状态,供程序定期探测。而这些接口的内容不仅仅要返回,当前是否正在运行,还需要进行简单的运行逻辑验证,如判断所需的数据库是否能正常打开(不需要写入数据)或者所需的网络资源能否使用等等。

对于Sql Server的作业来说,执行失败时有几种处理方式:发送邮件、记录到事件查看器,这些还有迹可循,但如何自动监控,本来该执行的作业压根就没按时执行呢?

Advertisements

About 张俊波

Consultant / Project Manager
此条目发表在项目管理, IT人生, 企业信息化分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s