随着浙江移动业务系统不断演进,新项目上线交维持续不断,但鲜有存量系统下线,使得应用运维的维护边界越来越大。目前现网在线运行的系统就有70余个,而公司在运维成本投入日益紧缩,在有限的人员和资源条件下,不仅维护的系统越来越多,而且还要处理来自混合环境和敏捷迭代所带来的快速复杂变化,如何维持高效高质的运维服务,使得应用运维面临的挑战越来越大。浙江移动运维团队借鉴互联网企业实践经验,根据当前运营商运维能力的现状,提出“先做数据可视化,再建操作自动化,后攻分析智能化”的策略,为最终的运维的全面转型夯实基础。
在前期数据可视化能力建设相对成熟之后,浙江移动运维团队从2016年开始重点针对运维自动化操作能力提升开展相关建设。根据浙江公司各专业运维线操作能力的整体评估,主要存在以下几个问题:
产品设计封闭,定制能力不足:部分专业在用的自动化工具均为现成的商业产品,设计相对封闭,缺乏定制化开发的能力,与实际运维的需求场景贴合度相对不足。
工具门槛较高,难以广泛应用:开源工具产品的操作使用步骤繁杂,一线运维人员的学习成本较高,而且对DB和shell等组合场景场景的能力支撑上有限。
缺少能力开放,知识难以传承:缺乏标准化能力封装,难以适应具体专业的应用场景,同时缺乏对知识预案的管理,最为珍贵的运维脚本知识和能力难以传承。
AutoOps是浙江移动从2016年开始逐步在生产环境上推广应用的自动化运维工具,由自动化运维平台和命令平台两个微服务构成。自动化运维平台负责自动化运维场景和预案的编排、调度、追踪、安全审计。命令平台负责执行不同协议类型的自动化任务。
AutoOps支持多种类型的任务插件,包括:Shell脚本、Python脚本、Perl脚本、DB脚本、RestAPI调用脚本、文件分发任务、文件抓取任务、Jenkins任务调用、消息通知等。这些任务插件涵盖了主机操控、数据库读写、批量执行、通知、服务调用等方面。而且基于SpringCloud微服务构建,优化了ansible的底层代码,实现标准化的服务平台和接口,具备高扩展性和高并发的能力支持,为整个系统的后续演进提供了基础。
AutoOps还可以将多个预案按照条件组成一个更为复杂的自动化场景,称为Pipeline(管道)。Pipeline的分支预案支持并行,连接、启动延迟等条件设置。Pipeline还可以停止并等待人工输入或批准,然后再继续Pipeline任务的执行。因此,可以有效应用于进程启停、应用部署、数据备份、环境信息抓取、数据库迁移、中间件检查等日常运维和应急保障工作等多种场景的自动化。
AutoOps可以主动查询和实时刷新的方式跟踪一个或多个预案在不同任务节点的执行情况,也可以通过预案设定在任务节点失败时进行邮件、短信、语音、工单等方式的自动推送反馈。对于在个别节点失败的任务,运维人员在修改节点运行环境配置后,可以直接在预案跟踪上重新执行失败步骤的任务,不须要整个预案重新执行。
4A用户权限认证:AutoOps的用户认证采用4A平台的账号认证体系和申请流程,并且通过群组设定实现更精细的运维角色的权限区分。
预案访问权限隔离:创建预案的运维人员拥有最高的权限,只能通过创建人和上级管理员才能赋予其他成员对该预案的访问、执行、修改的权限,并且可以指定权限生效的周期,入永久、临时、预授权等。
高危命令自动拦截:在预案任务执行前,对任务指令进行高危命令的正则表达式过滤,如删除根目录、用户切换、修改基础环境变量等,从而确保目标系统和应用的安全性。
运维自动化是实现智慧运维的必经之路,浙江公司经过这一年多的应用实践,已经实现在告警处理(106个预案)、核心生产线管控(174个预案)、日常运维(100个预案)、维护作业(308个预案)四大类场景的全面应用推广,日均调用达1.5万次,成功率在99.2%以上,有效提升了一线运维的生产效能,也为运维在后续的AIOps转型中奠定坚实的基础。
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《打造AutoOps基础运维工具,全面提升IT运维效能》的版权归原作者「三墩IT人」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文