基于开源软件的自主开发自动化运维平台实践
本研究旨在探讨基于开源软件自主研发的自动化运维系统在实践中的应用,主要面向ITIL先锋论坛的专业人士。本报告详细阐述了在业务迅猛发展的背景下,某行业如何通过自主研发自动化运维系统,解决运维过程中的关键问题,进而提高运维效率和质量。
背景与问题
随着业务的扩展,金融科技的推动作用愈发显著,业务系统的数量持续增长,软硬件基础架构日益庞大,运维工作的难度和复杂性相应增加。运维中的问题主要集中在以下六个方面:
1. 信息资源数据管理困难:采用多张EXCEL表格维护服务器和应用系统的软硬件资源信息,导致数据共享和更新困难,错误率高,进而引起运维误判。
2. 基础监控盲点多:信息资产繁多且更新迅速,监控部署和清除无法及时跟进,导致未被监控的系统存在极大风险。
3. 运维效率低下:运维人员忙于软硬件与运行环境的部署、安装、创建与配置,整体运维效率不高,精细化水平低。
4. 运维操作风险:运维人员技能水平参差不齐,无法充分调动更多运维人力资源,团队运维价值和力量未能充分体现。
5. 日常运维巡检风险:巡检点众多,类别繁杂,人工巡检风险隐患大,巡检结果未归档,数据丢失,无法深入挖掘信息。
6. 应用资源和环境申请问题:资源和环境申请频繁,运维人员大量时间消耗在环境部署和复核上,未及时复核的系统存在安全风险隐患。
总体规划
为解决上述问题,该行业在运维领域坚持自主创新与科技发展并重,推动运维工作向信息化、数字化、自动化、智能化、场景化转型。总体规划包括:
1. 监控体系架构:构建终端性能和体验监控系统,从业务层、网络层和应用层三个层面建立专业监控系统,结合现有基础监控子系统,全面实时掌控业务系统各个层面的指标状态。
2. 自动化运维体系架构:构建自动化运维系统、自动化批量调度、自动化投产上线三个维度的自动化体系,加速端到端运维交付的质量和规范性。
3. 智能运维体系架构:建立运维大数据平台,整合基础性能数据、用户终端性能数据等,进行智能分析,定位告警源。
4. 多系统、平台间联动体系:统一CMDB为所有系统和平台提供统一的配置基准数据,自动化运维平台自动采集和发现价值数据,集中监控平台实时收集事件和告警,运维大数据集成各系统和平台的数据。
自动化运维系统实践
在总体规划的基础上,该行业展开了自动化运维系统、批量调度自动化、自动化投产三位一体的自动化运维平台建设工作。重点介绍了基于开源Ansible软件和CMDBuild软件自主研发部署的自动化运维系统。通过Shell脚本开发了若干实用功能的自动化、批量运维的友好窗口界面,并自主搭建了CMDB,便于软硬件资源集中管控。该系统显著提升了运维工作的效率,减轻了运维人员的工作压力,并标准化了运维操作,同时规避了人工直接运维带来的操作风险。
主要功能和实践方案
1. 理顺双数据中心软硬件资源及关联关系:通过Ansible setup模块获取各主机facts数据,编辑Ansible-cmdb的TPL模板,利用Ansible-cmdb模块输出主机IP、CPU颗数与内存大小列表,并更新至CMDB。
2. 自主实现监控点的自动发现:调用Ansible Script模块获取监控平台所有监控点的数据信息,通过判断CMDB中的软件组合和操作系统类型,检测主机的监控点是否全覆盖,更新相关数据至CMDB数据表。
3. 自主实现批量自动化运维一键式部署:通过PaaS级云平台自动编排需部署的资源和软件平台,检查是否需自动化运维系统补充安装软件运行环境,由运维人员登录自动化运维界面选择相应菜单,并批量输入IP地址,后续批量部署工作由自动化运维系统自动完成。
4. 将常用运维批量查询及操作菜单化:运维人员通过自动化运维界面选择常用运维操作,并批量输入IP地址,自动调用Ansible模块在主机上执行运维操作,执行结果和文件直接在界面上反馈。
5. 自主实现故障日志一键式收集、运维一键式巡检及巡检报告生成:通过Ansible Script模块获取CMDB中所有需巡检的主机信息,定时自动调用Ansible Script模块,将巡检脚本注入至不同批次的主机中执行,获取巡检结果并存档、归档。
6. 自主实现系统上线配置与基线自动化、批量核查:将标准规范进行表数据格式化,用户通过自动化运维菜单选择基线比对功能,并批量输入需比对的IP地址信息,自动化运维系统结合基线值和实际值进行比对,判定配置是否通过基线比对。
实践效果
通过上述实践方案,该行业实现了以下效果:
1. 数据管理:构建CMDB,统一数据查询与更新界面,实现数据共享,保证运维的统一数据基础。
2. 监控和运维自动化:CMDB中录入的所有信息资产均能及时发现尚未监控的点,未被自动化运维系统识别的计算实例能够自动发现,运维人员可及时将其纳入自动化运维体系。
3. 运维效率提升:通过菜单式的一键式部署界面,运维人员只需批量输入IP地址即可完成部署,释放运维人员压力,减轻工作任务。
4. 运维操作风险降低:通过将简单的运维查询和操作菜单化,交由一线操作员完成,使其融入运维团队,更好地体现个人价值。
5. 巡检效率提升:自动化地发现其上的各类数据库、中间件、操作系统和高可用架构等,自动化地巡检,无法人工干预,巡检结果面面俱到。
6. 配置核查:标准规范由文字转为数字信息,更容易更新和保存,更容易得到自动化运维系统利用,实现落地。
该行业通过基于开源软件自主研发的自动化运维系统,有效解决了运维过程中的关键问题,提升了运维工作的效率和质量,降低了运维风险,实现了运维工作的信息化、数字化、自动化、智能化、场景化转型。