网教网

搜索
查看: 92|回复: 0

智能运维项目总结(1)——场景调研

[复制链接]

2

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-7 21:25:32 | 显示全部楼层 |阅读模式
前言

该系列主要将今年关于智能运维领域的项目经验和技术经验进行分享,分为“场景调研”、“技术调研&项目实践”两部分进行总结,后续会按不同场景的项目持续做技术调研更新,欢迎关注:
一、业务场景评估

1、核心要点:

秉承着业务驱动项目方向的原理,需要深入了解部门或集团中,与平台(如数据中台、技术中台、AI中台等)运维相关的痛点,梳理场景的优先级,从而引导功能调研、数据调研、算法技术调研的细化方向
2、痛点梳理

在智能运维AIops领域,最大的业务诉求无非就是“降成本、提效率“(降本增”效“,非效益的效),从而最终实现系统稳定性(SLA)满足业务的需求。
业务诉求运维现状场景难点优先级原因
降低资源成本人工难以准确预估,调整存在滞后性趋势预测:预测具体数值,完全拟合准确率较低属于目前运维尚未覆盖且人工较难解决的场景,提高资源利用率,数据分析降低成本。
提高运维效率对于系统问题的定位耗费时间长根因分析:需要梳理调用链、告警信息形成数据表属于可以流程化的场景,可以辅助运维人员快速定位问题,提高问题解决时效,减少重复工作事项。
提高系统稳定性日常有较为完善的监控系统,可分析得到异常监控:人工标注异常难度较大较低现有部分监控可覆盖日常异常发现,历史数据量极大且标注均来自于阈值监控发现的异常,难以标注到未发现事项,对准确率和时效的价值较小。
二、场景功能任务细分

1、任务分类

在数据中台场景中,运维最关心的三大要素:yarn集群资源、任务、报错日志。这三块其实也对应着用户的两大大亲切问候:我的任务怎么还没运行完(给我加资源)?我的任务怎么挂了?(肯定是你系统报错了,快查一下)
用户的诉求就是我们解决的重点,所以可以将以上痛点进行细化,可以根据优先级初步得到以下的场景:
类型具体场景
趋势预测机器指标变化预测(温度、容量等)、机器寿命预测、用户增长趋势预测
时序预测任务运行时间预估(超时预警)
根因分析日志诊断及解决方案推荐、服务故障诊断、宕机诊断
异常监测故障发现(宕机、服务异常)、故障分类(性能、流量、可用性异常)
2、任务数据调研

有了场景指引,下一步需要明确任务需要什么数据进行分析和建模,然后盘点目前系统能收集到什么数据。

  • 明确任务的数据:这一步对于刚开始接触这个领域而言是很懵的,有两种方法突破。一是找运维工程师调研,二是通过各种数据竞赛匹配任务从而观察到他们用什么数据。比如“队列负载预测”场景

    • 运维工程师可告知,一般统计队列的CPU、内存的峰值用量、平均用量、运行的作业数等,来大概确定每个队列给予的资源上限是多少。
    • 数据竞赛可告知:数据维度、数据采集频率、预测指标、评价指标等,更为完善具体,最常用的还是阿里天池上的,有较为丰富的工业级数据竞赛。




参考2020年大数据时代的Serverless工作负载预测任务数据结构


  • 盘点系统数据:通过获取系统元数据得到,这一步需要和运维工程师、数据开发工程师确认已有数据表,或讨论形成需埋点采集的数据模型及方案

    • 指标:如 CPU 使用率、内存使用率、磁盘使用量、执行任务数等
    • 日志:如系统日志、应用日志、自由日志等
    • 追踪:服务调用链信息、进程关联数据




数据类型示例

3、优秀厂商经验

这一步是参考市面上优秀案例,对于这些场景和数据,会采用的技术方案、应用方案,给予我们进一步建模和应用的灵感。其中多分布在头部互联网、云计算平台厂商,有较为成熟的解决方案,可对于其提供的产品和服务进行学习参考,当然核心技术一般不开源出来的啦~
限于篇幅,以下仅贴出链接,个人经验来说,最好自己阅读后进行笔记总结(哪怕复制粘贴),形成自己的阅读架构,才能帮助深层理解~
(1)厂商经验


    • 华为NAIE
    • 美团AIops大脑
    • 中兴智能运维体系
    • 微博自动化运维
    • 阿里SRE开源运维平台
    • 58大数据任务调度和智能运维实践

(2)具体场景的经验(博客、比赛等)


    • 华为的根因事件识别服务、
    • 360开源的报警事件的故障定位、报警关联分析
    • 美团技术团队的架构设计:数据库异常智能分析与诊断
    • 深度学习在美团配送ETA预估中的探索与实践
    • 应用系统负载分析与磁盘容量预测、磁盘、内存
    • 容量推荐引擎(CRE):基于吞吐量和利用率的预测缩放
    • 天池PAKDD2020智能运维大赛

三、各任务相关技术调研

1、任务优先级排序

每个新任务对于算法工程师都是一个漫长的过程,需要进行数据采集、技术调研、数据分析、建模、模型评估、服务搭建、服务效果分析等,因此需要确定任务的优先级,才进行开发较好,当然有多人并行那就另当别论~

  • 短期容量预测——按时间段(10分钟)推荐队列的CPU和内存最大值设置
  • 任务排队时间预估——预测用户提交的任务,排队时间和任务完成时间
  • 报错日志分析及解决方案推荐——主动分析报错日志,匹配解决方案返回给用户
  • 中长期集群扩缩容——按月/半年推荐集群所需的CPU、内存、磁盘的容量预估,用于扩容决策判断
  • 故障与监控项关联定位——为每个报警项推荐根因相关的top 5的监控项,缩小排查范围
2、技术调研途径


  • 知乎大佬们: @dreamhomes 、 @云智慧 、 @微调 、 @天雨粟 、 @笃林 等
  • 微信公众号:智能运维前沿、时序人等
  • 竞赛平台:天池、DataFountain - 数据科学竞赛创新平台、国际AIOPS挑战赛等
  • 论文:参考梦家大佬的博客
而最重要的是将你要完成的项目,和现有的竞赛、开源方案连接起来,才能最高效的快速建模,和业务进行方向和效果确认,以免开发调优一通后,无法解决真正痛点,需要真正落地~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表