智能运维平台实现业务应用系统运维转型的探索与实践

2021-11-22 14:44:37张兵林华南刘轲余靖
科技信息·学术版 2021年17期
关键词:运维数据库智能

张兵 林华南 刘轲 余靖

摘要:(目的)探索智能运维平台在业务应用系统运维中的应用,推动运维管理由传统的人工模式向智能运维模式转变,逐步达到业务应用系统的智能运维,实现故障自愈。(方法)通过人工智能(AI)、机器学习对运行故障进行建模分析,形成业务应用系统的故障诊断决策支持模型,再对模型不断优化和完善,结合运维专家决策知识库,实现系统故障自愈。(结果)智能运维平台在业务应用系统的应用,将机器学习与运维难题相结合,实现智能运维成果落地,为实现业务应用系统的“自动驾驶”做出了大胆尝试和探索。(结论)智能运维平台的应用提高了业务应用系统的可用性,增强了系统性能和系统健壮性,降低了运维成本,提升了系统运行效率和智能化程度。

前言

业务应用系统传统运维方式是在系统部署上线后,通过固定周期的人工巡检方式保障系统的平稳运行。这种传统方式,一方面需要硬件、网络、系统、中间件、数据库等不同技术专业的工程师协作共同完成,另一方面在两个巡检周期或非工作时间产生的故障不能及时得到有效处理。智能运维平台将人工智能和大数据等技术手段应用到业务应用系统的运行维护,更好的实现系统智能化运维程度。本文主要探讨智能运维平台在业务应用系统运维中的应用与实践。

1业务应用系统运维面临的问题

1.1  业务应用系统基础运行环境庞大,运维工作量大

业务应用系统的基础运行环境由纯物理机数据库集群环境、基于 ESXi 主机的虚拟化集群环境、基于消息中间件MQ的数据交换环境、基于虚拟带库的集中备份环境、基于双中心读写分离的容灾备份环境、基于业务骨干网和外网的网络环境、基于安全设备和日志审计系统的安全审计环境组成,由于不同的环境下均有系统要保证持续的运行,对于不同的环境各有不同的运维要求,对整体的系统运维带来了很大的压力。

如此多的硬件及网络安全设备,仅仅完成日常的巡检就需要非常多的工作量,给系统运维带来了巨大挑战,同时也需要多名不同专业运维工程师,并且对运维工程师的技术能力也有很大的要求。

1.2 业务应用系统的技术架构复杂,运维难度大

业务应用系统的技术架构极其复杂,既有传统的结构化数据,也有大量非结构化数据。技术路线涉及MySQL、Gbase数据库以及NAS(网络存储)等文件保存技术,缓存数据采用内存数据库REDIS,应用中间件采用 TOMCAT、NGINX,终端设备 APP移动端开发支持Android、IOS 系统,还涉及消息中间件 MQ、ElasticSearch 全文搜索和分析引擎、微服务框架、深度学习框架、工作流引擎、爬虫框架等技术架构。复杂的技术架构极造成运维难度大,对运维人员的技术能力要求较高。

1.3  业务应用系统的业务环节多,故障风险点多

业务应用系统从互联网端采集或爬取海量信息,利用MQ通道传输到平台的数据清筛程序,并将处理后的数据集中存储。数据清筛程序根据数据主题类型、数据结构化与非结构化类型进行分归并整合,分类入库到相应的主题数据库中,同时将处理状态回写到数据库记录中。上层应用可根据不同主题数据分类查询、分析、通知。通过此数据分拣存储方式不仅能满足复杂的业务数据流转和访问需求,且能通过不同主题库的分类处理方式提高业务应用数据的处理效率。但是,数据处理流程环节多,也增加了系统的故障点,增加了运维工作量。

2智能运维平台需要解决的实际问题

2.1  实现自动化巡检

通过任务调度引擎为业务应用系统提供全天候的自动化巡检。自动化巡检任务会在科学合理的时间,基本覆盖工作时段及非工作时段。保证早上工作时间前进行一次巡检,工作时间自动巡检频率设置的高一些,非工作时间巡检频率设置的低一些。自动巡检完成后自动生成健康巡检报告,通过运维动态展示巡检报告,也可以根据系统设置给运维组内的工程师发邮件或短信。保证每天早上完成巡检后,将巡检报告总结以短信发送给运维组的运维工程师手机。

2.2 实现系统智能运维(自动驾驶)

通过智能运维模型的不断优化和完善,结合运维专家决策知识库,逐步达到业务平台的智能运维,实现故障自愈,为系统的“自动驾驶”进行大胆的尝试和探索。

2.3  实现运维动态展示

通过足够丰富的数据可视化工具,实现多层级运行展示,实现智能运维动态展示,可以实现三级的数据下钻,主要内容包括:平台运行总览、监控仪表板、报警故障结果展示、故障详细信息下钻、运行趋势分析、数据地图、故障分析、事件统计等功能。对于固有安全数据做出的分析行为,也可以借助运维决策知识库为其提供的分析方式展开对比,进而达到提高运维决策准确性的目的。

对已经完成数据采集的运维数据进行全面、细颗粒数据挖掘与分类,可以按照不同维度对现有数据加以分类,按照360全视角结合运维专家知识库进行运行健康状况分析,分析系统运行趋势,以趋势图、数据地图等可视化分析展示形式进行运维动态整體展示。

2.4 报警事件生成

通过平台可视化展示、提示音、邮件、短信等多种手段实时反映运行状况及安全性,保证安全预警功能质量,进一步减少IT资源发生故障和安全运行状态受到破坏的情况发生,全面降低故障导致的各种不必要损失现象。

实现报警智能生成功能,主要包括:各种网络报警事件的及时生成、操作系统自动报警事件的及时生成、现有数据库自动报警事件的及时生成、最终报警结果分析报表数据的计算功能等[1]。

2.5  报警规则配置

初步实现了对固有报警规则的灵活配置和展示管理,能够保证实现报警规则配置有效性,主要包括:规则设置、阀值设置、运维工程师设置以及报警方式设置等方面的功能。

2.6 数据提取

将采集到的各种运维数据进行科学计算并加工,使其能够统一纳入数据库中,进而实现运维数据提取作用,主要包括:数据校验、运维数据过滤、运维数据运算等诸多相关功能。

2.7  运维数据管理

运维数据在经过严格的统计计算、资产计算、规则关联分析计算后,能够科学合理的对各种安全事件性质以及处理级别做出确定,并将其作为展示平台系统中的基础数据内容。

实现运维数据采集的有效管理,将采集数据按照操作系统、数据库、业务应用系统分类后,作为运维管理人员排查问题或处理问题的资料依据。

3智能运维平台的设计

3.1  技术架构设计

智能运维平台UI开发采用JAVA,数据采集及轮询采用 Python 语言,平台数据库采用MySQL8.0,系统架构采用微服务框架、深度学习框架、工作流引擎、爬虫框架;应用架构采用TOMCAT、NGINX;非结构化数据保存采用 NAS(网络存储;配置文件格式采用YAML;监控对象操作系统支持Linux和Windows;

3.2  性能设计

设计运维能力达到纳管500台主机,处理效率高,扩展性好。

3.3  标准化、规范化设计

标准化和规范化是智能运维平台设计的基础和关键点。确定运维标准基线,不标准的一概进行整改。设计基础平台运维与业务运维相结合,对运维进行专业细化,并制定相关标准。

3.4 功能设计

智能运维平台由基础运维平台和业务运维平台两部分组成。其中,基础运维平台包括:系统监控平台、任务调度引擎两部分;业务运维平台包括:数据可视化展示、运维决策支持知识库、运维趋势分析、故障自愈机器人四个部分。

3.5  接口设计

设计一套标准接口,采用JAVA提供开放式Restful API 接口。

3.6 机器学习设计

机器学习的语言采用 Python、JAVA。学习算法采用线性回归算法、决策树算法和随机森林算法。模型选择与评估采用交叉验证,框架采用 TensorFlow。

运维决策模型库的一个模型,根据参数判断,提供是否需要重启服务器的决策,解决当下严重的运行故障。

服务器数据集,就是服务器运行数据的集合。其中每一条单独的运行数据被称为样本。数据样本在数据集中都是相对独立的。每个样本都有许多属性或者特征,特征所具有的值就称为特征值。

服务器特征一般包括如下特征:

服务器上线时间、服务器历史故障率、服务器计算资源、服务器容量,硬件运行状态、网络性能、数据库死锁、操作系统出现僵死进程、应用服务异常、存储多路径链路异常、消息队列异常等等;

对应特征值如下:

服务器服务年限超过5年;硬件故障,更换硬件要求服務器重启;CPU、内存、交换区使用率过高;磁盘IO 严重下降;网络频繁出现丢包;数据库死锁无法自行清理;操作系统出现僵死进程;应用服务挂起;存储多路径链路数量缺少;服务器日志报错;历史故障率 0.1% ;消息队列超过阈值等等;

接下来,为训练模型制定参数通过任务调度引擎完成启动训练。

机器学习模型的训练采用业务应用系统决策支持知识库、半年运行数据以及半年业务状态、处理过程和日志等业务数据。训练集采用以具有明显服务器特征及属性的运维和业务应用系统相关历史数据,选择12个月数据训练我们模型。训练集尽量选择合理的数据量保障模型的泛化能力。测试集也采用与服务器特征及属性相关的6个月的历史数据,不能包含在训练集中,保障未知性。交叉验证集也采用上诉历史库数据,时间长度选择2个月。交叉验证集是比较特殊的一部分数据,它是用来调整模型具体参数及优化模型。

机器学习需要不断训练模型、评估模型,对于训练结果表现好的模型,经过重新评估后可以将该训练模型及参数值写入智能运维平台决策支持库,使该模型在智能运维平台中进行实践,通过跟踪模型的实践成果,进一步评估模型的效果。对于训练结果表现不好或成果不明显的模型,立即结束训练,并且调整模型参数值,继续训练。

根据对运维领域的深入理解,明确智能运维所需要解决的问题。提供运维领域的知识和经验,对数据进行标注分类,作为机器学习必备的训练数据。验收智能运维输出成果,将成果应用与实际环境结合。

3.7 任务调度引擎设计

设计任务调度引擎,实现自动化巡检任务、应用自动部署任务、操作系统补丁升级任务、数据库补丁升级任务、操作系统重启任务、数据库重启任务、应用重启任务等功能。

3.8 数据可视化设计

注重用户体验,对运维人员更加友好。

系统整体运行状况通过运维大屏动态展示,设计数据地图,提供数据下钻三层设计,提供组合查询服务,数据质量比对服务、多维数据库查询服务、数据生命周期管理服务、数据挖掘服务。

3.9 故障自愈设计

设计故障定义、故障发现及精准定位、故障分析、故障处理、故障跟踪、事后总结等功能。

故障及风险点定义:定义故障识别特征及特征值、故障范围。

故障发现及精准定位,通过基线预警、日志告警、不断优化故障定位算法,故障定位算法采用机器学习中的二叉决策树。智能定位出故障点,尽可能减少人工参与,提高运维分析能力、故障自愈能力。

故障分析,提供故障诊断决策,收集系统运行服务状态,做出可以用于自愈的最优决策。

故障处理,实现故障自愈执行,有利于故障的快速恢复。当系统出现隐患的时候,运维工程师会收到相关的预警信息,运维中心的智能音箱会发出明确的告警。你通过智能音箱可以了解到系统故障的原因与处置建议,然后通过确认,就可以自动完成处置。

3.10 告警设计

集中告警、统一展现、关联分析,告警提供原始发生时间、接收时间和响应时间多个维度的统计显示。

3.11 运维决策知识库设计

通过机器学习不断优化训练的模型,并且将训练模型实际应用到智能运维平台中,经过实践表现良好的模型算法,评估后写入运维决策知识库,重点记录模型参数、特征值、分析过程、处理方法等步骤。

4  业务应用系统应用智能运维平台的技术效果

4.1  提高业务应用系统的可用性

智能运维平台采用监控探针、系统轮询、基础运维数据分析、业务数据分析等各种监控手段,有效的保障业务应用系统各种服务正常运行,提高系统的无故障运行时间,增强系统可用性。

4.2  改进业务应用系统的性能和系统健壮性

通过深度参与业务应用系统的设计与实施,参与主导系统架构的可用性设计,参与系统架构优化,从而持续改进系统性能和系统健壮性。

4.3  降低业务应用系统的运维成本

面对传统运维模式下,运维费用逐年升高的情况,智能运维平台的应用能在业务应用系统的硬件资源、研发架构、资源结构、运维人员、故障自愈等方面,优化降低系统运维成本。

4.4  提升业务应用系统的运行效率

通过人工智能、机器学习、故障诊断分析等自动化手段,提升业务应用系统在软件生命周期中的运行效率,实现系统故障自愈。

智能运维平台应用后,充分运用智能化手段,按照预先简单设置的策略和规则,实现了业务应用系统基础平台的操作系统安装部署、数据库安装部署、软件安装部署、应用部署、操作系统高危漏洞补丁升级、数据库高危漏洞补丁升级等功能,大大减少了运维人员的人工参与,有效提升业务应用系统的响应时间及运行效率。

4.5  为业务应用系统提供决策支持

智能运维平台利用大数据、人工智能、云计算等手段,通过数据可视化、报表统计、趋势分析,为业务应用系统提供决策依据。

智能運维平台通过与业务应用系统的数据交换,按照业务应用主题形成各类业务应用数据仓库。

智能运维平台通过汇聚业务应用各方面数据,为业务应用系统大数据建设提供数据汇聚、数据清洗、数据分类等技术支撑。

4.6  积累智能运维经验

智能运维平台的应用,在机器学习、故障自愈、决策支持、大数据、运维基础平台架构等方面都进行了科学的探索,为智能运维的应用实践积累了大量宝贵经验,形成的故障自愈模型、运维决策知识库、可视化展示工具、告警策略、自动化运维工具,为其他系统的建设与运维提供了科学的借鉴和参考。

智能运维平台的应用,实现了对业务应用系统基础运维和业务运维的经验积累,有效的掌控运维的主动性、全面性、可扩展性与可用性,使系统管理人员更多的关注系统运维分析及技术趋势发展,为领导的决策提供了有力的支撑。

结语

综上所述,通过智能运维平台实现业务应用系统运维转型的探索与实践,一方面使业务应用系统的运维手段变得更加丰富,另一方面对人工智能(AI)、机器学习、大数据等信息化手段有了更加深入完善的应用和实践,建立了适合业务应用系统运行的运维决策知识库,并成功实现机器学习在业务应用系统中落地实践。

智能运维平台在业务应用系统的应用,将机器学习与运维难题相结合,实现智能运维成果落地,为实现业务应用系统的“自动驾驶”做出了大胆尝试和探索。

参考文献

[1]叶枝平,苏立伟,杨秋勇等.基于大数据平台的营销监控自动化运维探索研究[J].电子世界,2019,580(022):32-34.

作者简介:

张兵(1969—),男,汉族,辽宁沈阳人,硕士,高级工程师,长期从事信息化工作

通讯作者:林华南(1984—),男,汉族,广东吴川人,学士,工程师,从事信息化工作

E-mail:66790367@qq.com

刘轲 (1982—),男,汉族,广东兴宁人,学士,工程师,从事信息化工作

余靖(1985—),男,汉族,福建仙游人,学士,工程师,从事信息化工作

猜你喜欢
运维数据库智能
运维技术研发决策中ITSS运维成熟度模型应用初探
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
风电运维困局
能源(2018年8期)2018-09-21 07:57:24
杂乱无章的光伏运维 百亿市场如何成长
能源(2017年11期)2017-12-13 08:12:25
数据库
财经(2017年2期)2017-03-10 14:35:35
数据库
财经(2016年15期)2016-06-03 07:38:02
基于ITIL的运维管理创新实践浅析