一文了解 AIOps 的含义、特点与功用
AIOps 定义
AIOps 是智能运维(Artificial Intelligence forITOperations)的英文缩写。当今,专业厂商根据自身理解和商业目的,分别给出了各具特色的 AIOps 定义。主要关键字:IT 运维、人工智能 (AI)、机器学习(ML)、自然语言处理(NLP)、大数据、数据分析、运营效率等。
以下是来自 Elastic、IBM、Amazon、RedHat 和华为的信息。
AIOps 的运作与特点
1 - 集成与适配
AIOps 工具集与在用的工具和系统进行全面集成和适配,是收集和分析大量原始可观测性数据的必要基础。通过部署大数据、机器学习和自动化等组件,可以实时提取、聚合和分析大量信息。
2 - 数据汇集
通常使用可扩展的数据平台从复杂的系统环境中汇集所有类型的 IT 数据:日志文件、配置数据、指标、事件和告警等。
基础架构和网络:网元信息、互联关系、网络流量等
设备系统:日志、状态等
应用程序:应用日志、业务数据、需求数据、痕迹信息
指标和性能:正常运行时间、停机时间、服务级别指标、并发数、响应时间等
实时事件:错误、身份验证尝试、防火墙警报、工单等
历史数据:性能和事件数据
......
3 - 观察与监测
支持和提高可观测性、APM 等功能,使用服务依赖关系映射功能和分布式跟踪,在基础层面上监测多个不同系统的运行状态。提供直观的可视化视图来查看基础架构、流程、事务流和依赖关系,能够从宏观角度更好地了解系统的运行状态。
4 - 整合分析
使用可跟踪的指标定义运维健康状况,然后将其作为 AIOps 系统的基线。梳理 IT 运营数据,识别重要告警,将信号(即重要的异常事件警报)与噪声(其他数据)分离。可以识别业务模式并将日志和性能数据中的事件关联起来,感知应用程序和基础架构级别的状态,分析和确定问题的原因,并提出问题解决的建议。
5 - 自动应对与人工参与
通过 AIOps 简化了诊断和评估工作,减少对传统 IT 指标和提示的依赖,部分场景下,AIOps 可以自动进行响应和处理。自动将警报和建议的解决方案传送给相应的 IT 团队,可以根据问题的性质和解决方案来组建响应团队,甚至是在用户意识到问题之前实时解决问题。专业人员根据机器学习算法生成的分析结果创建自动响应,部署更智能的系统,从历史事件中吸取经验教训,并使用自动化脚本预先防范类似的问题。因此,对于复杂和全新的问题场景,仍然需要专业人员的参与,AIOps 可以辅助进行验证和确认问题解决方案。
技术特点
以下内容来自 IBM:
AIOps 的功用
在人工运维阶段,主要依赖运维专家的工作经验来进行故障分析、定位和排障,整体运维效率不高,且需较长时间的积累。在自动化运维阶段,运维团队使用脚本、工具等方式执行运维任务,运维效率有了明显提升,但运维团队需要掌握自动化运维工具的开发和迭代,学习难度高。
当今大规模 IT 系统的运维形势与需求
IT 系统复杂度和规模不断增长,各种新技术和新架构层出不穷,各类数据爆炸式增长
面对海量数据、不停变化的系统状态、繁多的业务应用和不同的配置参数
在 AIOps 阶段,通过 BigData、ML、AI 等技术组件,自动地学习和分析海量运维数据,给出运维决策建议,可增强和部分取代现有运维流程和操作。
缩短故障排查时间:提供事件关联功能,进行根本原因分析,提高服务可用性
打破数据孤岛,提供通用框架聚合多个数据源,提升整体态势感知能力:跨系统、跨团队
自动对事件做出个性化响应:发现和过滤误报,让团队人员更关注于处理关键任务
更积极主动解决 IT 运营问题:预测可能会出现问题的场景和运维趋势
更妥善地执行 IT 策略来支持业务决策:不断从数据流中学习和迭代
场景和用例
功能场景
应用程序性能监控(APM)
AIOps 作为云基础架构、虚拟化和存储系统的监控工具,大规模收集和编译相关指标,能够报告使用情况、可用性和响应时间等指标。利用事件关联功能,整合与汇总信息,帮助最终用户更有效地使用信息。
根本原因分析
快速处理大数据,并在多个可能的原因之间建立关联,有效地帮助确定事件的根本原因,而不仅仅是表面症状或提醒。避免无关和不必要的工作,快速解决核心问题,确定保护措施以防止将来出现类似问题。
异常检测
AIOps 工具可以梳理大量历史数据,发现数据集中的非典型数据点,作为感知和预测问题事件的信号 AIOps 实时评估和预测偏离监控数据标准分布的异常值,快速检测数据偏差并加快执行纠正措施。因此,借助 AIOps 可以减少管理事件期间对系统提醒的依赖,还可以设置基于规则的策略以自动执行补救措施。
云自动化和优化
AIOps 可以提供工作负载的透明度、可观测性和自动化,按需预置和扩展计算资源。通过直观呈现环境中的相互依赖关系,有助于降低云迁移和混合多云环境(私有云、公有云、多个提供商)的运营风险
应用程序开发支持
AIOps 工具可以自动地提前进行代码审查,应用编程最佳实践,以及在开发阶段的早期检测错误。支持 DevOps 所需的基础架构可视性和自动化功能,而无需完成大量额外的管理工作。
人员用例
AIOps 可以帮助团队检测和应对潜在问题,只是让机器完成杂务,而方向盘仍由专业人员操控。工程师需要具备理解、整合或编写底层 AI 脚本能力,能够将事件关联和警报引擎转化为执行引擎。
应用站点可靠性工程师(SRE):定义黄金信号(延迟、错误率、流量和饱和)
开发人员:使用 AIOps 分析来执行根本原因分析(RCA)
业务负责人:使用 AIOps 来监控 SRE 所用的黄金信号,从最终用户角度了解应用的性能
运维人员:使用 AIOps 来监控混合云、多云和基于微服务的 IT 环境,监控状态,简化运维
概念的区分与联系
AIOps 与 DevOps
DevOps 是一组过程、方法与系统的统称,重视沟通合作的文化、运动或惯例,代表了组织文化的转变。用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。精简了开发和运营流程,使得软件生命周期中的构建、测试、发布环节能够更加地快捷、频繁和可靠。技术上主要通过采用持续集成和持续部署 (CI/CD) 的方式来简化工作,以信息共享弥合开发和支持工作流程之间的差距。
AIOps 是一种使用人工智能技术来支持现有 IT 流程的方法。AIOps 结合了 AI 和 ML 技术来监测和管理各个系统,实现运维过程的智能化,以便更快地解决问题。
DevOps 和 AIOps 都是用于优化软件开发和运维的方法论,都凸显了自动化的益处:消除耗时的人工作业。DevOps 侧重于优化开发和运维之间的协作和自动化,注重软件交付流程的优化,旨在加快软件交付的速度和质量,强调团队合作和持续集成。AIOps 侧重于利用 AI 和 ML 等技术来优化运维过程,通过数据分析和推理预测来实现智能化的运维管理,强调实时的故障检测、自动化和智能化的故障处理和资源优化。通过将 AIOps 和 DevOps 结合使用,可让团队查看整个系统的运行情况,而不是专注于特定工具和基础架构层。
持续评估编码质量并缩短软件交付时间
在开发和运维过程中通过将数据分析任务进行自动化来为 DevOps 流程提供补充
有助于更明智的决策,并主动提醒注意任何问题
AIOps 与 SRE
站点可靠性工程(SRE)是一种工程团队可用于自动化系统操作和使用软件工具执行检查的方法。SRE 团队不依赖手动方法,而是通过自动检测和解决问题来改善软件可靠性和客户体验。AIOps 使用业务运营的海量数据和基于机器学习的预测性见解来帮助 SRE 工程师缩短事件解决时间。
AIOps 与 MLOps
MLOps 框架可帮助软件团队将机器学习模型集成到数字产品中,涉及模型选择和数据准备,包括在生产环境中训练、评估和部署机器学习应用程序的过程。MLOps 的重点是在生产环境中部署、维护和监测模型。这可能包括纳入反馈输入,以重新部署经改进的模型。AIOps 使用 ML 来提高 IT 运营的效率,而 MLOps 则用于实现 ML 模型部署的标准化。
AIOps 与 DataOps
借助 DataOps 计划,组织可优化商业智能应用程序的数据使用情况。DataOps 涉及设置数据管道,数据工程师可以使用这些管道从不同域提取、转换和传输数据,以此支持业务运营。AIOps 使用 DataOps 提供的信息来检测、分析和解决事件。
总结
AIOps 的优势
AIOps 面向 IT 运维,是一个效能性的技术栈和工具集,而非生产性的。AIOps 覆盖了“数据采集 > 数据分析 > 运维决策 > 处理执行 > 异常预测”的运维关键链条,可以帮助运维人员快速发现、精准处理 IT 系统的异常事件。
更广泛的信息聚合:多信息源、多种类信息
更强的分析:BigData、ML、NLP、AI
更全面的整体维度:对 IT 环境的全方位了解,跨越系统、部门和团队
更快的反应:缩短 MTTR(Mean Time To Repair,平均修复时间)
更主动的行为:主动性运维
更准确的预测:预测性运维
更易理解的展现:统一的信息出口、针对性的信息过滤
AIOps 的挑战
没有单一的 AIOps 工具、AIOps 平台或 AIOps 产品。因为每个企业和机构的开发和生产环境都有自己的特点和独特之处,构建的任何 AIOps 解决方案必须能够整合、分析这些各种因素并进行处理。独立开发和落地能够带来显著效能提升的可用 AIOps,需要建立在一定规模和标准的基础之上,并且需要巨大的专业性投入。
专业知识:广泛的数据科学专业知识
基础架构:标准化的平台和功能,针对特定基础架构训练 AIOps
价值实现时间:设计、实施、部署和管理的难度大,价值回报周期长
数据:AIOps 的结果质量取决于数据源的质量,对运维数据的数量、质量和一致性的要求高
集体协议:为系统健康奠定基础并制定标准运维目标需要多方的广泛支持和共识
环境与范围:涉及因素多,环境变化快,难以建立基线
失败率:AI 项目失败率非常高,实现效益难度大
参考信息
什么是 AIOps?https://www.elastic.co/cn/what-is/aiops
什么是 AIOps? https://aws.amazon.com/cn/what-is/aiops/
什么是 AIOps? https://www.redhat.com/zh/topics/ai/what-is-aiops
什么是智能运维 AIOps(智能运维平台)?https://www.ibm.com/cn-zh/topics/aiops
什么是 AIOps?https://info.support.huawei.com/info-finder/encyclopedia/zh/AIOps.html
https://www.purestorage.com/knowledge/what-is-aiops.html
版权声明: 本文为 InfoQ 作者【Anliven】的原创文章。
原文链接:【http://xie.infoq.cn/article/84ffd36441daba4c84013d855】。文章转载请联系作者。
评论