宜信正式开源其AIOps落地三大利器

 

不断开放开源技术,推动技术共同成长是宜信技术生态的目标之一。包括在今天正式开源的UAVStack,Wormhole,DBus等在内,已经开放七个系列的软件技术。更多开源参见技术学院官网http://college.creditease.cn。

宜信开源软件系列

UAVStack是智能化服务技术栈,是研发运维一体化的解决方案,开源系列包括全维监控(UAV.Monitor),应用性能管理(UAV.APM),服务治理(UAV.ServiceGovern),微服务计算(UAV.MSCP)。其中,UAV.Monitor+APM为智能运维采集全维监控数据,是一站式的全维监控+应用运维解决方案。

  • 官方网站:https://uavorg.github.io/main
  • 开源地址:https://github.com/uavorg

DBus专注于数据的收集及实时数据流计算,通过简单灵活的配置,以无侵入的方式对源端数据进行采集,经过转换处理后成为统一JSON的数据格式(UMS),提供给不同数据使用方订阅和消费。开源网址:https://github.com/BriData

此外,DBus还提供以下特性:

  • 多种数据源支持,海量数据实时传输
  • 感知源端schema变更,数据实时脱敏
  • 初始加载和独立加载
  • 统一标准化消息传输协议,可靠多路消息订阅分发
  • 支持分表数据汇集

DBus技术架构

Wormhole是一个SPAAS(Stream Processing as a Service)平台解决方案,面向大数据项目的开发,运维以及管理人员,致力于简化和统一开发管理流程。运维是典型的大数据应用领域,是机器学习的有力支撑,尤其是针对流式实时和流式准实时数据处理场景。

开源网址:https://github.com/edp963/wormhole。

Wormhole技术架构 智能运维的自研之路

Gartner定义了基于算法的运维(ITOA),算法即运维,将算法运用运维领域。实际上我们在自动化运维体系中已经将算法落地到DevOps工具链中,日益兴盛的人工智能技术,让我们意识到赋予系统“智能化”是大趋势。我们对AIOps的解读是:AIOps正是将人工智能技术应用到IT运维领域,帮助变革运维模式,提升效率和创造现实价值的“工程化”过程,也是DevOps的进化方向。它会成为:

  • 运维管理的成员:协调人与系统,不是被动的工具,而是直接参与运维的“助手”
  • 业务运营支持的成员:协调人与业务,参与运营的“助手”
  • 业务与系统的“全知”者:协调业务与系统,管理系统,支撑业务

落地方案

宜信AIOps平台架构

宜信的AIOps平台是以任务机器人为中心,利用大数据平台实现机器学习和统计模型的处理,与DevOps工具链深度集成。可从几个层面来解读这个架构:

DevOps工具链为任务机器人HIT的知识图谱构建提供了高质量的原始数据

任务机器人HIT的核心能力来源于特定领域的知识图谱和计算模型。目前我们的训练领域包括系统API模型,个性化交流上下文,服务拓扑,执行计划,问题诊断等。知识图谱是实现认知关联的核心技术,而如何自动化构建知识图谱是关键的关键,成熟的DevOps工具链可以为自动化构建知识图谱提供高质量的原始数据。

全维监控UAV为任务机器人HIT的模型训练提供了全面维度的原始数据

在智能运维体系中,UAV采集的全维度监控数据是机器学习的原始数据来源。全维度监控数据覆盖基础设施性能,应用/服务性能,日志,调用链,线程栈,客户端体验,业务指标,应用画像,服务图谱。

数据总线DBus持续的,自适应的将全维监控数据导入大数据存储

全维度的监控数据还不能直接使用这些数据来做机器学习。其原因是由于它们的存储和查询需求是根据实时监控领域的需要来定义的,因此它们有以下特点:

  • 存储在不同的存储源。例如服务画像数据存储在MongoDB,应用日志和调用链存储在Elastic Search中,应用性能指标和基础性能指标数据存在RocketMQ中等;
  • 有不同的schema定义。例如BIN日志格式,JSON格式,Plain日志格式,性能指标的schema与调用链的schema是不同的。
  • 不同的变更策略。例如服务画像数据是根据应用升级不定期变化的,日志数据也可能是这样。

DBus正是解决这三个问题的良方。

  • 能够支持多种数据源,只需通过配置就可实现无侵入对接。
  • 能够将不同的格式转换成标准格式(UMS格式)。
  • 有自动适应的能力,匹配这些类型和格式的变化。

大数据处理Wormhole针对目标场景,基于全维监控数据进行机器学习和统计模型处理

Wormhole是任务机器人的计算模型生产者。Wormhole基于Spark,既可接入Kafka在线实效数据进行流式处理,也可接入HDFS离线历史数据进行批量处理。Wormhole不光支持落地多Sink,还支持流上处理,还可以在落HBase之前流上做一些数据清洗扩展等操作。目前我们的任务机器人HIT的训练主题“问题诊断”的计算模型都是由Wormhole来实施训练,实际生产过程中会使用机器学习和某些经典统计模型,主要的有:

  • 时序数据的趋势预测模型:可以根据过去若干天来预测未来一段时间某重要指标的趋势走向。
  • 指标的关联组合模型:识别出哪些指标组合是判断异常的充分条件。
  • 组合指标的异常点识别模型:组合指标在时序上异常点的自动判别。
  • 问题节点的根源分析模型:跨多节点的异常行为关联性识别模型。

任务机器人HIT通过API模型实施执行计划

任务机器人与普通系统的另一个重要区别是:普通系统可以看成是通过编码来“机械”的完成某种事,就系统本身而言,它并不理解“我在做什么”。而任务机器人是以目标驱动的,它根据API模型以及其他认知模型(知识图谱)来生成执行计划,并使用API模型来实施执行计划,执行计划的本质是对DevOps系统API的调用。这样的应用场景是很多的,例如让任务机器人去做系统上线,线上巡检,协助问题处理,甚至支持运营协作等。

weinxin
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
Igor
  • 版权声明: 发表于 2020-07-0119:41:13
  • 转载注明:http://blog.tsingmac.com/prolions/software/bi/3660/
DevOps到底是什么意思? DevOps

DevOps到底是什么意思?

提到DevOps这个词,我相信很多人一定不会陌生。 作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。 那么,DevOps是什...
【管理有度12】图解最常用的敏捷方法大全 DevOps

【管理有度12】图解最常用的敏捷方法大全

我们都知道敏捷是一种思想,源自于17位“轻量级”软件开发领域的专家犹他州的雪鸟城,经过三天的讨论签署的《敏捷宣言》,以及十二个敏捷原则,而Scrum与敏捷思想是一种什么关系呢?是否还有其他的实践,他们...
【管理有度11】优秀的PM是如何做好项目启动的? DevOps

【管理有度11】优秀的PM是如何做好项目启动的?

俗话说“好的开始是成功的一半”,项目管理也是如此。虽然,成功的启动并不代表完成了一半的项目工作,但是如果没有做好项目启动,就会让项目一开始就动力不足。 俗话说“好的开始是成功的一半”,项目管理也是如此...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: