林亮滚
(广东省气象公共服务中心(广东气象影视宣传中心),广州510640)
在目前的运维工作中,有些单位的运维管理还是采用传统的运维管理模式,这种方式孤立且被动,难以确保各个系统中运维工作的顺利开展和有序、稳定进行。主要表现在以下3方面。
在传统运维工作中,主要依赖人工处理的方式,且运维人员往往都处于较为被动的位置。较多的是运维人员根据信息系统的使用人员反馈的错误,对故障进行处理。而一旦在问题发生过程中,出现人员紧张等问题,则会导致没有足够的人员进行运维工作,难以及时、准确地找到问题并进行修复,将会严重影响系统的有序运行。
在目前的系统监测当中,并未完全实现自动化。在系统运行方面,各系统的数据库在有效联通和备份等方面都有待进一步完善。而在报警、预警方面,运维人员往往只能在故障发生以后进行故障处理,预警机制并不完善,以致监控工作的实际作用难以真正地发挥出来,不仅加大了运维人员的工作负担,还大大地影响了各个系统的稳定运行。
在信息化的建设过程中,系统随着业务发展而变得日趋复杂。面对多种多样的网络设备、服务器和中间件等系统,依靠传统的技术往往难以实现系统的高效运行,还十分容易因故障的发生或问题没有及时解决而导致业务中断,进而影响单位的效益和正常运转。而出现这种问题,主要还是在运维系统方面,缺乏能对故障进行监控和诊断的高效技术,依靠运维人员难以高效、及时地解决故障问题。
自动化运维是指运用运行脚本及第三方工具让某些运维过程变人工为自动化,如初始自动化、监控自动化、报警处理自动化等,在减少人力投入和成本的基础上,让系统自身来承担更多的劳动力,确保业务系统能够实现高效、准确地运行,也进一步保障运维人员的日常运维工作。而想要构建一个运维自动化的监测系统,则可以着重从运行监控和故障报警2方面出发。
首先,在监控运行方面,可以通将各个系统中的模块和数据库纳入监控平台,如网络数据、业务系统数据、iis、tomcat等日志数据,在以数据库、操作系统为底层接口的技术基础上,对系统文件夹的内容变化进行跟踪和反馈,从而实现对已备份结果的全方位监测。其次,在故障报警方面,原有流程通常都是发现问题,进行故障排查然后再进行经验分析,此方法更多的是借助人工干预。为了实现自动化运维,可以在排查问题的思路上设置不同的问题诊断场景,以此来实现异常情况下的自动修复。对于报警装置,可借助上述的数据采集模块,设置监控脚本,添加自定义的监控项。
为了能够为快速、准确地对系统故障进行有效的定位和错误判断,本次研究主要是在传统正常运维的基础上实现自动化故障报警功能,以便于运维人员能够更快地解决实际问题。对此,可通过短信通知、错误拍照、数据库备份3种方式来实现。
短信通知功能可通过使用IDEA、Java语言、SQL Server 2008数据库开发设计,实现可以定时地从数据库中获得监测路径,以便于运维人员能够更及时地获得测试连接情况。一旦出现了连接异常,如连接失败或二次连接成功,就可以通过系统中的运维数据定时发送短信通知,以此来提示运维人员及时对故障问题进行解决,并将此次故障的内容及时间等详细记录在运维服务器中[1]。
对于系统中所发生的某些错误信息,可以通过利用Java环境自带的thread dump功能实现Java环境下的现场拍照,以便运维人员能够更为清晰准确地了解和掌控问题发生的具体情况,确保在实时的检测中快速地掌握变动情况。一旦系统有异常或变动发生,则会自动拍下图片,并将图片及相关的运维记录发送至指定的运维管理人员的邮箱,以便更为快速地进行错误现场追踪,并对其进行错误修复,实现自动化的故障监测。在错误信息处理结束之后,将此次的邮件内容、时间及收件人员记录在服务器中,为下一次同等故障或其他故障发生时提供参考。
通过对数据库备份进行检查来完成异常监测。对此功能的实现主要可以通过对VS2010、FrameWork4.5、C#语言、SQL Server 2008数据库的开发,对目标文件夹内容的变动进行监控。一旦文件夹的文件有所变动或者有异常情况,则会立即将其变动通过邮件等方式发送至指定的运维人员,通知其变动的发生时间、结束时间及详细的变动情况。而系统的监管人员还可以通过部署数据库服务器,对一个文件或者多个文件进行有效监测,及时掌握其中文件的增加、删除、修改等具体情况。同时,还可以通过管理人员的自动设置和调度,有效地实现数据的备份、迁移等工作,以更自动化、准确化的形式来实现运维管理。
自动化的运维监测系统建立,可以有效地实现大规模的监控和全方位的准确告警。通过AMP可以对网络设备、中间件、数据库等进行统一性的告警,实现准确化、多方位的运维监控效果。并且自动化监测,可以更多地根据警告触发条件来设置和调度运维操作,让系统可以实现智能化处理。如对于文件空间的已满状态,就可以通过提前预设清除的操作,进一步减少警告风暴,降低人员的运维压力,从而有效地提高告警处理的及时性。对于数据库的专业化监测,还可以有效地对其中的资源进行优化及预测,实现预警的准确化,提高运维效率。监测系统可以通过每周定时地进行数据库备份,将系统中的文件进行转移和传输,以便必要时对数据进行恢复。自动化的监测系统,可以在发生故障及异常时,及时地将具体信息通过多元化的方式发送至运维人员,不仅提高了运维的准确性,还能够有效地确保系统得到及时的维护,帮助各个系统都能够平稳、有序地进行工作。
综上所述,自动化的运维监测系统应用可以有效地帮助单位降低运维成本,提高运维效率。同时,可以防止代码或配置产生问题时,导致维运压力增大而影响整个系统的运行。且通过对自动化监控技术的使用,可以有效地对系统信息错误及风险进行预测、告警等,以便提高运维的及时性和准确性,进一步在发现问题和解决问题中,通过跟踪、记录、反馈来优化和完善,确保各系统都能够安全平稳地运行。