您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[网易]:面向未来的云原生 AIOps 体系 - 发现报告
当前位置:首页/其他报告/报告详情/

面向未来的云原生 AIOps 体系

2023-03-09网易测***
面向未来的云原生 AIOps 体系

面向未来的 网易数字+大会 云原生AIOps体系 2021.10.21 网易数帆-黄久远 网易数字+大会 数字化时代集群运维的挑战 数字化时代集群运维的挑战 网易数字+大会 用户集群增多带来管理成本的增加用户业务的差异性导致集群配置的差 异性 云原生专家的培养成本较高导致业务难以在短时间内享受技术红利 运维流程的复杂性带来稳定性保障的难度增大 网易数字+大会 数字化时代集群运维的挑战 01 02 管理负担 人员薪资 成本 业务增长 效率 风险 功能迭代 配置更新 系统故障 运维变更 网易数字+大会 如何有效的降低云原生运维体系下的人员成本和管理成本 如何利用标准化技术降低团队之间的沟通成本并提升规模化服务的能力 03 如何在业务规模不断增长的情况下降低运维变更的风险 网易数字+大会 网易数字+大会 多云场景下的统一化管理 网易数字+大会 多云场景下的统一化管理 网易Kubernetes服务 多集群管理 管控面自愈 组件版本升级 资源利用率优化 集群扩容 权限控制 认证授权 运维审计 多租户管理 临时证书管理 监控服务 统一数据托管 自定义大盘 业务监控 租户视图 运维诊断 诊断触发器 运维流水线 性能剖析 系统信息采集 网易数字+大会 多云场景下的统一化管理 中心化的Kubernetes管控面组件托管服务支 持运维人员通过控制台直接访问和查看所有集群 网易数字+大会 ,并且在管控面发生异常时进行自动恢复。 集团内集群统一的认证授权体系和权限管理保证运维人员和开发人员在故障发生时拥有其对应的权限,并且所有对集群的操作均由统一入口进行审计来规避人员风险。 网易Kubernetes 服务 提供统一托管的集中式Prometheus监控服务来替代零散的自建Prometheus集群,在提升集团内整体资源使用率的同时也大大提高了规模化的管理效率。 基于数帆自研开源产品KubeDiag打造的管理体系,运维人员可以通过控制台选择并执行运维工作流,或者通过即时通信工具的ChatOps能力进行故障诊断。 网易数字+大会 网易数字+大会 痛点 在执行复杂的运维流程时容易出错 难以对监控报警的处理策略进行有效管理 应用性能管理方案无法解决系统层面产生的问题 规模性、异构性、复杂性的上升导致运维效率的低下 各角色的职责 运维人员 网易数字+大会 维护Kubernetes集群配置集群日常运维以及巡检 管理监控报警规则 对集群中发现的问题进行诊断和修复 网易数字+大会 痛点 研发人员和运维人员对组件的理解不在一个平面 组件版本更新迭代导致故障应急预案过期 研发人员难以在报警触发第一时间获取所需的信息 各个组件的问题和诊断方案差异较大导致管理成本高 各角色的职责 研发人员 维护特定组件的版本和配置 网易数字+大会 输出特定组件监控方案和故障应急预案 在故障发生时收集诊断所需的信息 对特定组件的问题进行诊断并输出修复方案 网易数字+大会 云原生AIOps编排框架 网易数字+大会 云原生AIOps编排框架 KubeDiag运维诊断平台 事件触发器 报警触发 消息队列触发 手动触发 诊断能力管理 信息采集 性能剖析 场景化诊断 运维脚本管理 中心化纳管 脚本任务调度 执行器 诊断结果管理 对象存储 本地存储 诊断结果可视化 运维诊断流水线编排 诊断能力市场 运维脚本市场 流程编排 上下文传递 流水线可视化 网易数字+大会 网易数字+大会 云原生AIOps编排框架 网易数字+大会 云原生AIOps编排框架 运维操作 可以是一个脚本或者一个HTTP服务器。 网易数字+大会 如果类型是脚本,用户需要定义脚本的具体内容。 如果类型是HTTP服务器,用户需要声明HTTP服务器的访问信息。 脚本类型主要用于描述运维人员的常用运维操作,通常由运维人员维护。 HTTP服务器类型主要用于描述某些组件的复杂诊断运维逻辑,通常由研发人员维护。 apiVersion:diagnosis.kubediag.org/v1kind:Operation metadata: name:disk-usage-scriptspec: processor: scriptRunner: script:|#!/usr/bin/envbashdu-sh$1 argKeys: -param.operation.disk_usage.pathoperationResultKey:“disk_usage" timeoutSeconds:60 --- apiVersion:diagnosis.kubediag.org/v1kind:Operation metadata: name:docker-info-collectorspec: processor:httpServer: path:/processor/dockerInfoCollector scheme:httptimeoutSeconds:60 网易数字+大会 云原生AIOps编排框架 运维流水线 网易数字+大会 使用有向无环图表示运维流程中需要执行的步骤。源顶点外的每一个顶点均表示一个运维操作。 通常由运维人员维护。 apiVersion:diagnosis.kubediag.org/v1 kind:OperationSetmetadata: name:docker-debugger-pipelinespec: adjacencyList: -id:0to: -1 -id:1 operation:docker-info-collectorto: -2 -id:2 operation:dockerd-goroutine-collectorto: -3 -id:3 operation:containerd-goroutine-collectorto: -4 -id:4 operation:node-cordonstatus: paths: ...... 网易数字+大会 云原生AIOps编排框架 诊断 表示一次诊断运维的状态。 网易数字+大会 用户需要声明执行的运维流水线和执行节点。 诊断开始前需要传入的数据和运行过程中产生的数据均通过键值对的形式保存。 可以由运维人员手动创建或者通过报警自动创建。 apiVersion:diagnosis.kubediag.org/v1 kind:Diagnosis metadata: name:docker-debuggerspec: operationSet:docker-debugger-pipelinenodeName:my-node parameters:param.collector.log.elasticsearch.address:...... status: checkpoint:nodeIndex:3pathIndex:0 conditions: -lastTransitionTime:"2021-07-19T11:18:46Z" message:Diagnosisisacceptedbyagentonnodemy-nodereason:DiagnosisAccepted status:"True" type:Accepted ...... operationResults:collector.kubernetes.docker.info:...... collector.runtime.containerd.goroutine:...... collector.runtime.dockerd.goroutine:...... phase:Succeeded ...... 网易数字+大会 云原生AIOps编排框架 诊断触发器 网易数字+大会 通过接收Prometheus报警、Kafka消息或Kubernetes事件自动触发运维诊断流水线。 用户需要定义Prometheus报警、Kafka消息或Kubernetes事件的消息模版配置。 如果模版匹配成功则自动触发诊断。 通常由运维人员维护。 apiVersion:diagnosis.kubediag.org/v1 kind:Triggermetadata: name:kubelet-pleg-duration-highspec: operationSet:docker-debuggersourceTemplate: prometheusAlertTemplate: regexp: alertName:KubeletPlegDurationHighlabels: severity:criticalnodeNameReferenceLabel:instance 网易数字+大会 云原生底座 微服务 网易数字+大会 APM微服务框架 微服务问题根因定位 云原生监控容器编排引擎容器运行时 DevOps自动化编排及交互式排障 云原生AIOps编排框架 应用层 业务应用 KubeDiag 应用性能分析 基础设施层 云存储云网络虚拟机裸金属物理机 基础设施故障诊断及运维 网易数字+大会 AIOps成熟度的5个阶段 e ReactiveIntegratedAnalyticalPrescriptivAutomated 网易数字+大会 基于日志和事件的快速应急处理 集群数据统一管理并且运维团队和业务团队的职责清晰化带来了效率的极大提升 统计和分析的手段被引入到日常运维工作中并且反应业务状况的基准指标已形成一定沉淀 机器学习的机制被引入并且发展到了规定性的阶段 无人工干预的全自动运维体系 网易数字+大会 网易数字+大会 典型用例 网易数字+大会 通过APIServer报警来触发性能剖析工作流 使用诊断触发器API配置APIServer压力指标的 Prometheus报警模版 APIServer请求压力过大触发报警 KubeDiag接收到该报警后触发性能剖析工作流并获 取APIServer性能数据 性能数据可以通过诊断API进行查询 网易数字+大会 典型用例-1 网易数字+大会 离线在线业务混合部署的技术优化和参数调整 离线在线业务混合部署场景下需要降低离线业务对在 线业务的影响 监控数据被存储在Prometheus集群中 研发人员编写获取在线业务性能波动以及调整离线业 务资源限制的一系列运维操作 使用运维流水线API将编写的运维操作编排成运维 流水线 通过报警触发运维流水线对混合部署集群的在线业务 进行监测并在波动较大时调整离线业务资源限制 网易数字+大会 典型用例-2 网易数字+大会 技术支持人员通过ChatOps的方式排查用户报障 运维人员通过KubeDiag编写并管理运维操作脚本 运维人员将多个排障脚本编排成一个排障工作流 用户遇到问题后向技术支持人员进行反馈 技术支持人员通过聊天机器人触发排障工作流对用户 报障进行诊断 网易数字+大会 典型用例-3 价值收益 运维工作的自动化极大的提高运维效率 网易数字+大会 基于云原生的编排让运维能力易于管理和复用 故障诊断运维工作流的积累降低稳定性风险 网易数字+大会 网易数字+大会 未来规划 未来规划 KubeDiag开源社区发展:https://github.com/kubediag/kubediag云原生稳定性治理产品的商业化 网易数字+大会 网易内部AIOps体系从数据分析阶段到规定性阶段的探索 欢迎扫码获取KubeDiag微信群实时码 网易数字+大会 网易数字+大会 THANKS