阿里搜索业务AIOps智能运维实践综述

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本篇文章主要介绍下我们在异常检测,根因分析,冷数据及僵尸应用治理上的实践,各项实践也都取得了预期的效果。下面分别介绍下以上问题我们的解决方案和进展。

随着搜索管控的统一,对智能运维能力也提出了新的要求,如何用同一套解决方案同时解决各系统的痛点问题做到AIOps能力复用,上篇文章已经介绍过hawkeye优化大师及torch容量评估的实践,本篇文章主要介绍下我们在异常检测,根因分析,冷数据及僵尸应用治理上的实践,各项实践也都取得了预期的效果。

下面分别介绍下以上问题我们的解决方案和进展。

异常检测

背景:
目前搜索系统的监控是基于规则的阈值报警,面对周期性指标,毛刺和稀疏数据等复杂场景难以适用,导致大部分指标报警泛滥,给用户带来很大的困扰,于是我们和kmon监控同学基于tisplus搜索业务平台top报警场景联合达摩院算法尝试增加异常检测进行智能报警治理报警泛滥问题。

解决方案:

image.png

(1)管理员在烽火台监控平台给指标配置异常检测算法及参数

(2)kmon-apiserver会定时同步烽火台报警配置,query及算法参数给kmon-batcher

(3)kmon-batcher从kmon-gateway获取指标数据并和(2)中获取的数据一同调用A-pack

(4)A-pack是异常检测算法业务层,负责跟异常检测算法服务IAD交互,并将异常检测结果返回给kmon-batcher

(5)IAD是异常检测算法docker服务,基于被监控指标过去一周的历史数据对当前时刻指标进行异常检测。

(6)kmon-batcher发现a-pack对数据的检测结果为异常调用kmon-action进行生产报警事件并进行报警

(7)烽火台配置样本管理页面进行样本标注,评估算法异常检测效果

效果评估:
异常检测算法针对周期性,稀疏数据,均值变化都做了比较好的识别和处理,抑制大量不必要的报警。

基于规则的阈值变化报警,指标瞬间抖动很容易起变化率超过阈值引起误报,如图1(黄色的点代表规则阈值报警),图2通过算法只有均值变化率大的时候才触发报警,从而避免了图1 大量的误报。

image.png

image.png

基于周期性的指标波动算法也能很好的识别,红色点代表周期性算法识别出来的异常点。

image.png

特别是稀疏数据的波动报警很容易引发误报如图4,算法通过自动识别稀疏数据剔除值为0点,这样在非0的历史数据上进行算法学习避免了大量的无效波动报警如图5

image.png

image.png

为了准确评估增加异常检测的效果,烽火台上增加样本管理功能,用户可以对异常检测结果进行标注,这些标注的样本一来用于异常检测算法效果优化,二来用于算法迭代版本更新时做回归case。

image.png

我们选择了tisplus top报警场景增加异常检测智能报警,并通过人工对2天的异常检测报警结果标注评测,异常检测算法准确率和召回率均在92%,之前规则报警2天的报警量是上万级,增加异常检测后报警量降低到百级别,报警量减少97%。

根因分析

背景:
随着搜索用户的增多,值班同学每天的答疑量巨大,排查问题耗费了很多人力,梳理下来出现的问题种类就那么几种,排查模式也无非看看链路相关的kmon监控指标和查看分析日志。为此,我们基于答疑较大的引擎增量异常场景结合专家经验进行根因分析的诊断,报警发生时直接基于规则给出问题触发原因以及排查问题所需的关联指标及日志信息,从而提升问题排查效率。目前采取是借助指标数据和规则树的方式进行诊断,主要涉及的有增量场景中的增量跌0和端到端延迟上升两种问题的诊断。

解决方案

image.png

效果评估
根因分析目前涉及了chatOps和智能报警两个应用场景,chatOps用于解决当线上出现问题用户自主@机器人,便可获取异常问题根因分析诊断结论以及辅助排查的关键metrics指标及日志信息,平均单个问题相对人肉排查方式至少节省10到15分钟排查时间,在智能报警里,一个是报警信息里我们会直接透出异常情况下的相关指标数据及根因分析协助用户接收到报警时能准确知道触发报警的原因,并能直接看到问题定位所需要的辅助信息,系统每次报警触发根因分析,我们都会把诊断结论及排查所需的所有辅助metrics和日志信息抽取作为样本持久化保存起来,目前已积累约4w条样本,这些样本成为机器学习方式解决根因分析分析问题的宝贵资源(目前还在进一步探索中)。

image.png

冷数据及僵尸应用治理

背景
随着搜索igraph、dii、be、ha3业务的增多,各平台不同程度的存在冷数据(冷表或僵尸应用),冷数据就是指长期无流量却占据着资源的服务,因此,需要一套统一自动机制管理这些冷数据下线。

解决方案
image.png

冷数据治理分为巡检和通知两部分逻辑。巡检通过平台提供的冷数据接口进行巡检识别出冷数据及僵尸应用。通知逻辑主要分为管理员视角和owner视角的。管理员可以看到平台冷数据占的总资源,owner可以看到具体负责的表,反馈功能增加了加白名单和确认下线两个功能。加白名单的服务有30天的有效期,确认下线的则会走自动下线的逻辑。

效果评估

image.png

左侧图是管理员视角可以清楚看到平台下的僵尸应用列表及浪费情况,右侧用户视角可以及时发现自己名下僵尸应用及一键下线,整个功能上线以来清理了数以百计的僵尸应用释放不少宝贵机器资源,让搜索平台和用户之间建立起了良性循环。

展望

随着过去我们在异常检测,根因分析,torch容量规划,hawkeye优化大师,僵尸应用治理等各AIOps方向的实践大大降低了成本提高了效率和稳定性,为下一步进行AIOPS平台化建设树立了信心,让搜索各在线服务也都能享受到AIOPS带来的福利。随着搜索云上输出,开放性,易用性是AIOps平台设计首要考虑的两个问题。

我们的初步架构如下:

Kmonitor定位智能运维数据平台,将采集,监控,报警,诊断,处理等基于一身,核心价值是平台使用海量数据结合算法能力让用户更加方便知晓应用的系统状况,可以更快捷的定位问题并解决问题,并且具备自动处理问题的能力。

Kmon-agent 采集端支持丰富的数据源输入如日志,系统指标,容器指标,以及各种用户自定义插件来对接各个系统,持续保持数万个采集实例低消耗稳定采集,计算,过滤,转换。

Gnomon轻量级高可用分布式时序数据库承载每秒上亿数据点写入,时序数据针对性优化高效支持时序数据压缩,聚合,采样,高性能海量时间线自适应索引,内存优先策略保证查询效率。机群高可扩展,数据动态分区,水平扩展,支持动态扩缩容。机群自动控制机制,支持多级数据备份存储保证机群可靠性。

Razor 端到端计算平台,支持海量异构数据源批流一体计算引擎,系统集成Robust-STL异常检测算法,时序异常检测,搜索引擎健康检测自愈,根因分析,弹性调度,容量规划等AIOps解决方案,用户也可以自定义UDF实现自己运维场景上的运维策略。
image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
机器学习/深度学习 人工智能 资源调度
基于AI的运维资源调度:效率与智能的双重提升
基于AI的运维资源调度:效率与智能的双重提升
31 16
基于AI的运维资源调度:效率与智能的双重提升
|
1天前
|
机器学习/深度学习 运维 监控
利用深度学习进行系统健康监控:智能运维的新纪元
利用深度学习进行系统健康监控:智能运维的新纪元
51 30
|
4天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
1天前
|
存储 弹性计算 运维
云端问道 7 期实践教学-使用操作系统智能助手 OS Copilot 轻松运维与编程
使用操作系统智能助手 OS Copilot 轻松运维与编程
26 14
|
21天前
|
存储 分布式计算 Hadoop
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
Dataphin V4.4版本引入了多项核心升级,包括级联发布、元数据采集扩展、数据源指标上架、自定义属性管理等功能,大幅提升数据处理与资产管理效率。此外,还支持Hadoop集群管理、跨Schema数据读取、实时集成目标端支持Hudi及MaxCompute delta等技术,进一步优化用户体验。
334 3
【产品升级】Dataphin V4.4重磅发布:开发运维提效、指标全生命周期管理、智能元数据生成再升级
|
11天前
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
74 13
|
18天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
73 12
|
3天前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
18 0
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####

热门文章

最新文章