何谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统7*24小时高效稳定运行。这应该是所有业务系统运维***目标。
按照运维的发展成熟度来看,运维大致可分为三个阶段:
(一)、依靠纯手工,重复的进行软件的部署与运维;
(二)、通过编写脚本,方便的进行软件的部署与运维;
(三)、借助第三方工具,高效的进行软件的部署与运维;
我们对运维的要求通常是:
(一)、事前预警
在故障出现之前,管理人员应该能在任何时间,任何地点接收到告警信息,并及时处理问题,把故障隐患扼杀在摇篮中。
(二)、事中恢复
天有不测风云,即使是再***的方案也可能有预料之外的故障,为保证在最短时间内恢复业务,关键数据不因故障丢失,我们需要有完整备份方案来应对自如。
(三)、事后存档
这里更加强调运维管理的方法,针对处理过的故障,应该记录在案,在处理过程当中运用过的处理技术,处理方案,应该形成经验文档,以供知识分享。
要实现以上三个要求,并不是一件容易的事情。需要一个经验丰富且高效的运维团队,随着我们的业务系统不断增加,业务量的不断上升,传统依靠纯手工的运维方式,逐渐被淘汰。
我们更多的将注意力集中在通过脚本与借助第三方工具的运维方式上,这样不仅能满足我们对运维的要求,解放生产力,还能使我们的运维管理更加规范化,标准化,从而真正意义上的实现自动化运维。
自动化运维的实现工具(脚本与第三方工具,通常这两者须结合使用。):
脚本(SHELL、DOC)
1、硬件状态监控:通过编写脚本,对CPU、MEM、DISK、TOPProcesses、Network等关键硬件参数状态进行实时监控,发现异常触发告警信息给管理员;
2、业务拨测:通过编写脚本对常用业务的网站实时进行拨测,发现网站页面异常触发告警信息给管理员;
3、系统安全加固:通过编写脚本对常用的Windows、Linux、Unix服务器进行快速的安全加固;
4、补丁更新:通过编写脚本实现应用及操作系统补丁的快速更新;
5、数据备份:通过编写脚本实现关键业务数据,关键日志,数据库,操作系统,中间件等的快速备份(本地与异地);
6、过期日志清理:通过编写脚本实现过期日志清理;
第三方管理工具
针对一些轻量级的业务系统,我们可以使用一些开源的管理工具。而对于重量级(100万量级以上)的业务系统,建议采用成熟度比较高的第三方管理工具。一般来说比较成熟的第三方工具都能实现以上运维需求,而且管理操作起来也更加方便。
运维方式对比表:
运维方式 |
参数对比 |
||||
运维规模 (设备台数) |
运维效率 |
技能要求 |
劳动力损耗 |
规范管理 |
|
纯手工 |
小 (<100) |
低下 |
一般 |
较大 |
难度较大 |
脚本 (shell、doc) |
中 (100<X<500) |
适中 |
较高 |
较低 |
相对容易 |
第三方 工具 |
大 (>500) |
高效 |
一般 |
较低 |
相对容易 |
注:以上参数来自经验值,仅供参考。