阿里云技术专家郝晨栋:云上可观测能力——问题的发现与定位实践

简介: 让客户清晰感知到当前实例的健康状态,帮助快速发现问题,降低运维成本。

2022年7月4日,【可观测,才可靠——云上自动化运维CloudOps系列沙龙_第一弹】正式推出,第二位分享的讲师是阿里云弹性计算技术专家郝晨栋,他带来的分享主题是《云上可观测能力:问题的发现与定位实践》,以下是他的演讲内容整理,供大家阅览:

7.5直播封面.jpg


01 云服务器可观测能力价值


图片2.png


云服务器可观测性是指,客户能够感知到服务器内部运行情况的能力,从而保证云上资源的可靠性。与传统 IT 运维相比,上云IT的使用方式和运维方式发生了一些变化。比如,传统 IT 运维场景下,客户会自购机房、自购机器,操作的是硬件资源;而上云后,客户通过 OpenAPI 操作各种计算资源。同时,传统场景下,业务规模受限于机房或物理机;而得益于云上的弹性能力,客户能够轻松将业务规模扩大到上百台或上千台服务器。


上云后的运维也增加了诸多挑战和难度,需要云服务器的可观测性来解决。


云服务器可观测的价值主要有以下三点:

① 提升问题定位效率。通过自助服务快速定位问题,能够做到有据可依。

② 简化运维,方便掌握云服务器的运行细节。

③ 提升资源可靠性,及时掌握云服务器客户OS内部以及底层状态,避免黑盒。

image.gif图片3.png


阿里云针对提升云服务器的可观测能力提供了很多主流工具集,包含健康诊断系统事件云监控ARMS操作审计。这些工具虽然定位和角度不一样,但其目的都是一致的,即为了让客户清晰感知到当前实例的健康状态,帮助快速发现问题,降低运维成本


02 使用自服务工具定位和分析典型问题

image.gif

图片4.png


自服务工具On-demand self-service 指用户能够自助获取计算资源或服务,而不必与服务供应商打交道。


客户在云上经常面临的典型问题有比如实例无法启动、实例无法连接、操作不生效等。传统场景下,客户只能提交工单寻求售后支持,问题解决速度取决于客服对问题的理解程度或回复效率。


而在自服务场景下,我们将典型的客户问题全部收纳到健康诊断工具集里,客户可以在控制台上自助发起诊断,进行问题解决,只需分钟级即可定位问题

图片5.png


实例无法启动一般有两方面原因:


其一是操作系统内问题,比如客户操作系统中病毒,一些关键文件被破坏或删除,客户的误操作导致操作系统一些核心系统服务没有开机启动,Fstab文件配置错误,也可能是镜像与规格冲突导致。针对操作系统内问题,目前健康指南工具可以快速定位问题,并将对应修复方案推送给客户。


其二是云平台底层问题,此类问题较为少见,主要有库存不足、宿主机告警、控制系统异常、虚拟化异常以及磁盘扩缩容异常等。针对此类问题,诊断工具会向客户推送人工服务直达入口。同时,针对一些较为严重的错误,会向客户推送问题上报入口,如果运维团队确认客户上报的问题非常严重,会主动触发运维动作,且步骤对客户完全透明。

图片6.png


实例无法启动的情况下,阿里云诊断工具如何实现对实例操作系统内部的探测?


以个人电脑操作系统为例,比如个人电脑坏了以后,通常会使用 U 盘作为修复盘,启动时进行调整,启动 U 盘再进行重装系统或修复,最后将修复盘卸载,电脑即可正常启动。


诊断工具的工作原理类似,如上图左下方所示。如果客户操作系统无法正常启动,诊断工具会为客户挂载一块修复盘,并且会生成用于登录修复盘的临时密码等。修复盘挂载好以后,自动为客户启动实例,原先的系统盘会作为数据盘挂在现在的实例下,然后进行实时探测。如果发现问题,会给客户推荐具体的修复方案,客户可以根据修复方案解决问题。原先系统盘内的问题解决以后,将修复盘卸载,即可正常启动,整个流程对客户完全透明。

image.gif图片7.png


实例无法远程链接主要原因为 ECS 两个服务器之间无法连通以及ECS 实例与公网IP无法连通。诊断工具支持三种类型输入,可以选择 ECS 实例、网卡或公网 IP。


诊断工具会列出发起端和目的端之间的关键路径,比如实例账户本身状态、实例操作系统、当前实例所在交换机等关键路径,依次探测每个关键路径是否连通,最终得出结论。


关键路径可以分为两大类,实例配置类和操作系统内配置,其中实例配置类包括实例欠费、Vswitch未放行流量、实例被锁定等;操作系统类主要借助云助手实时下发开源诊断命令,如果发现操作系统内存在问题,则会在修复方案里告知用户。网络连通性诊断报告里会显示无法连通的关键路径及其原因。

image.gif

图片8.png

实例变更操作不生效指客户在控制台上做了一些变更,但结果与预期不符。这一类的问题难度较大,变更动作非常多,没有生效的原因也非常多。目前自服务诊断工具已经支持的诊断能力有云盘扩容未生效、重置密码不生效、实例变配不生效以及实例续费失效。


比如客户云盘超过容量,在控制台上做了扩容,从 40G 扩容到 100G 。控制台上已经显示为 100G,但依然需要客户进入 OS 里做一些扩容命令才能真正生效,否则会导致业务受损。诊断工具有专门针对云盘扩容的专项诊断,如果发现客户实际生效磁盘与扩容大小不一致,会给用户推送扩容建议,避免客户业务受到损害。


还有一类实例变更操作不生效是由于客户对产品规则不熟悉导致,诊断工具会给客户推送现在的产品规则。

图片9.png


上述典型问题都需要依靠客户在控制台上主动发起诊断,属于被动服务。而自服务能力背后的主动探测工具是对账系统。如果客户在云上使用的服务与实际运行的不一致,则会影响业务。因此,可以通过对账工具来保证客户在控制台上看到的与实际运行值一致。比如会比对控制台上客户看到的 IP 与实际 IP 是否一致等。


通过客户主动发起诊断,再加上自服务工具背后的主动服务,来确保客户可观测到的数据与实际运行一致

图片10.png


上图为自服务诊断工具的诊断能力总览和用户场景。


诊断能力主要分为两大类,分别是问题排查和规则类。问题排查类又细分为操作系统和云平台类,目前已有大约 80 多种诊断能力;产品规则类目前已经提供了 30 多种能力。

图片11.png


阿里云平台诊断分析依赖于阿里云底层的数据采集。阿里云在全球有接近 30 多个地域、上百个可用区,每时每刻都有实时数据被采集上来,比如物理机、IDC 有机房、操作性能、串口日志等。这些基础日志是健康诊断工具的输入,有了这些底层数据,诊断才能做数据清洗、聚合计算、抽取与异常相关的特征,最后产出诊断根因。


另一部分诊断能力与操作系统内客户的关系较为密切,通过在实例内安装云助手服务实现。客户发起诊断时,通过云助手在客户实例上执行开源脚本,进行实时数据收集,包括负载类和配置类,比如实时探测当前客户 OS 内的 CPU 、内存、 iOS 等负载类,或 DHCP、 IP 等配置类。


阿里云平台诊断和操作系统内诊断两大能力共同组成了健康诊断服务。目前健康诊断服务已经输出到控制台上供云客户使用,也输出到内部给云产品使用,近期也将推出 OpenAPI。


03 集成诊断实现自动化运维

image.gif


图片12.png


对于没有自己运维平台的中小型客户我们推荐直接在控制台上使用诊断产品,既方便又快捷,诊断产品还提供了诸多详细方案供客户参考。


对于有自己运维系统的中大型用户,建议通过API的形式集成到自己的运维系统中,高效便捷。比如可以将监控系统与诊断做整合,监控系统发现实例负载不正常时,会直接调用诊断 API 并根据诊断结果做处理;可以将诊断服务集成到巡检系统里,每天对一些集群的核心实例做实时诊断,如果有异常则及时更换或扩容;可以将诊断服务集成到后台运维系统里,供值班人员使用,比如RDS 实例发起诊断时,也可以同时对 ECS 层面发起诊断。

图片13.png


此外,诊断产品还结合了运维编排能力,开放了很多运维编排的公共模板,可以快速实现定时运维事件驱动型运维,也提供了批量操作的能力,比如批量发起诊断或跨地域发起诊断等,以上能力都可以在 OS 控制台上直接使用公共脚本来实现。同时,还支持 ECS 产品根据诊断按结果来触发操作,比如诊断结果为当前实例负载过高,可以触发创建新实例或升配;如果诊断结果为云盘容量已经占满,可触发扩容命令等。


04 展望

image.gif

图片14.png


自服务诊断工具期望成为 ECS 产品问题定位和排查的总入口。近期我们会发布健康诊断的 Open API ,目前也正在密集开发更多的诊断能力。此外,在阿里云官方社区里也有建立了技术圈,供业内同仁在专业上的交流分享。


Q&A环节,观众提问


Q1 自动诊断后为什么不执行自动修复?

答:我们曾做过一些自动修复的尝试,但效果并不好。首先,部分修复动作存在风险;其次,修复动作可能需要用户授权。因此,最终我们决定只将修复方案方提供给客户。


Q2 问题发现和定位的精准度如何?

答:诊断工具无法做到全面覆盖,目前主要以保证发生频率较高的问题为主。问题来源有三个渠道:第一类为客户工单,从发生频率较高的问题里评估哪些可以集成到诊断工具里;第二类是定期拜访一些 GC 3 以上的客户;第三类是平时团队内部的管控值班周报。


点击这里,观看嘉宾的演讲视频回放。


近期活动预告


【自动化,才高效——云上自动化运维CloudOps系列沙龙_第二弹】来袭,就在7月25日-27日,敬请期待。


自动化即是通过运用工具或系统达到减少、甚至是完全取代人工的操作。在研发效能与运维工作中,自动化是降低成本、提升效率必不可少的方式,自动化还能减少人工带来的错误,提升团队满意度。因此,阿里云弹性计算云上自动化运维CloudOps系列沙龙,将以“自动化与智能化”作为第二弹的主题,分享相关思考与实践。


免费报名通道已经开启!即刻扫描下方海报中的二维码报名,进群还能获得最新讲师PPT资料。


沙龙小Tips:观看直播时在弹幕区提出自己的疑问,被讲师抽中回答问题的同学,还会获得加湿器等精美礼品哦!同时在直播结束时填写问卷,也有机会获得便携玻璃杯等多重好礼。

第二弹海报(3位嘉宾)-0721.jpg

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
人工智能 测试技术 Apache
Gemma 4 开源发布: Google 迄今最强开放模型,主打推理与 Agent 能力
Google正式开源Gemma 4系列(Apache 2.0许可),含E2B/E4B(端侧多模态)、26B MoE与31B Dense四款模型。参数效率卓越:31B位列开放模型榜第3,26B第6;边缘模型支持128K上下文、原生音视频处理,单卡/手机均可高效运行。
1451 12
Gemma 4 开源发布: Google 迄今最强开放模型,主打推理与 Agent 能力
|
3月前
|
人工智能 安全 Linux
OpenClaw(Clawdbot) Linux部署全教程:本地搭建、ZeroNews接入及阿里云部署指南
OpenClaw(前身为Clawdbot)凭借“私有化运行+全权限实操”的创新定位,迅速成为AI领域的现象级开源项目。这款被称为“真正能做实事的AI”的工具,打破了传统聊天机器人的功能局限,可在本地设备或服务器上独立运行,通过WhatsApp、Telegram等常用聊天软件接收指令,完成文件读写、邮件管理、系统运维等实操任务,所有数据本地存储,隐私安全性拉满。
564 0
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
917 90
|
存储 弹性计算 运维
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
|
人工智能 大数据 网络性能优化
构建超大带宽、超高性能及稳定可观测的全球互联网络
本次课程聚焦构建超大带宽、超高性能及稳定可观测的全球互联网络。首先介绍全球互联网络的功能与应用场景,涵盖云企业网、转发路由器等产品。接着探讨AI时代下全球互联网络面临的挑战,如大规模带宽需求、超低时延、极致稳定性和全面可观测性,并分享相应的解决方案,包括升级转发路由器、基于时延的流量调度和增强网络稳定性。最后宣布降价措施,降低数据与算力连接成本,助力企业全球化发展。
|
存储 Prometheus 监控
众览全局,企业级云监控助力构建统一云产品可观测
企业上云已成为共识,但在合理使用和管理云资源方面仍面临诸多挑战。富莱瑞调研显示79%的企业缺乏经验。阿里云2023年推出云监控2.0,通过统一接入、关联分析、数据探索等六大升级,帮助企业应对数据孤岛、关联分析困难、灵活性不足等问题。云监控2.0还引入了CloudLens和AI大模型技术,提供更深入的云产品可观测能力,提升运维效率。实际案例表明,通过建设统一可观测平台,企业的故障排查时间和运营成本显著降低。
|
数据采集 分布式计算 前端开发
设置CDN防盗链规则来避免网站被恶意刷量
设置CDN防盗链规则来避免网站被恶意刷量
4022 1
|
运维 监控 网络协议
SRE 排障利器,接口请求超时试试 httpstat
推荐一款用于服务调用排查的工具——httpstat,类似curl,能详细显示HTTP请求各阶段耗时,包括DNS解析、TCP连接等。
378 1
|
Android开发
gradle 变体打包 productFlavors
gradle 变体打包 productFlavors
560 5
|
关系型数据库 MySQL
MySQL 的 union 和union all 的区别
【5月更文挑战第4天】MySQL 的 union 和union all 的区别
1241 7