首页 > 其他分享 >云原生运维排障的关键要点

云原生运维排障的关键要点

时间:2022-10-17 22:07:02浏览次数:45  
标签:原生 服务 运维 虚拟化 排障 关键 节点

随着云原生环境下资源数量暴增、云网快速动态变更、网络传输路径愈发复杂等因素,传统的运维管理模式已经难以应对。

云原生网络正呈现出高密度、多层级与频变动的三大特性:

  • 高密度,大型企业的私有云环境中往往部署了上千台宿主机,由于虚拟化后的资源对象数量呈指数级上涨,因此拥有上万个虚拟节点成为常态。与此同时,虚拟网络以及虚拟化后的防火墙、负载均衡器、网关等关键组件数量也会成倍数增长。
  • 多层级,从横向来看,云网增加了大量的虚拟交换机、多路复用器等虚拟化设施,网络会话从A端发送至B端需要经历多次IP转换;从纵向来看,网络会话还需要经过从Overlay到Underlay的多层封装。
  • 频变动,虚拟化资源调度是云原生的技术优势,但同时高频的调度,也使得共享的计算、网络、存储资源之间产生多样的或深层的相互影响。

能够快速诊断问题是云原生服务不可或缺的特性,排查问题是每个运维人员的日常工作,经常会在这方面耗费大量时间和精力。服务器端尤其如此,有些偶发性的问题在本地难以重现,只有产品线上的日志可供分析。这时每个开发人员都变成了福尔摩斯,在蛛丝马迹之中寻找有价值的线索,演绎推理,大胆假设,小心求证。

以前对于一个单体服务,其服务器数量有限,只需要在有限的服务器上检查日志、分析问题即可。虽然单体服务的逻辑复杂,但毕竟波及的范围有限,处理得多了,也就熟能生巧了。但是云原生服务就不同了,消息在多台服务器之间流转,定位错误更加困难。在众多不熟悉的服务之间查找错误、定位发生故障的服务和节点并分析原因、制定解决方案,不能再靠以前的“三板斧”:读告警、查日志、做验证。所以需要掌握以下关键要点将服务访问链梳理,才能高效地进行问题分析、诊断和排错。

  1. 关键标识
  • TrackingID:我们需要将一个应用流程上的若干条消息串起来。这里通常需要一个跟踪标识,可以顺藤摸瓜,明确来龙去脉。通常我们称为TrackingID,它可以用UUID或者其他全局唯一的字符串来表示。一个Trace指一条调用链路,由一连串的请求组成。
  • SpanID:用来表示层级和顺序关系的标识。Span跨度是一个基本的工作单元,多个Span组成一个Trace。SpanID也可以用UUID或者其他全局唯一的字符串来表示。通过SpanID可以查询到Span所包含的描述(annotation)、时间戳(timestamp)、标签(tag)。
  • Business ID:业务ID标识通过它来关联TrackingID。比如银行中的全局流水号,在流经每个业务系统时都是唯一的或者若干位是相同的。
  1. 关键路径
  • 业务流程中会经过哪些节点,哪些服务参与了这个流程。
  • 节点之间的网络拓扑、跳数,节点的地址,服务的端点、ip、port。
  1. 关键度量
  • API的调用次数,花费的时间,响应码,重点关注40X、50X及超时错误,每秒查询数QPS(Query Per Second)或每秒调用数CPS(Call Per Second)。
  • 网络传输中的关键指标延迟、丢包、抖动、带宽等指标。
  • 音视频应用中的编码、码率、帧率、分辨率、加密与否。
  • 数据库应用中的查询/更新次数、查询/更新时间、TPS(Transaction PerSecond)。
  1. 关键事件

一个业务流程中调用了哪些服务API,发送或接收了哪些消息,最为关键的、可以衡量成功与否的事件是什么。

  • 事件名称。比如,即时通信中的出席(presence)、创建房间(createRoom)、加入房间(joinRoom)、离开房间(leaveRoom),等等。
  • 事件发生的时间。服务器端建议用GMT格林尼治时区的时间,便于计算和统计。

以上只是针对云原生运维排查问题给出一些经验。对于运维团队而言,既需要总览全局,还需要细查局部,实现全栈全路径监测。同时,还需要以应用保障为核心,实时洞察云网异常,通过快速、智能化的排障工作流,将云网管理化繁为简,赋能业务高质量发展。

标签:原生,服务,运维,虚拟化,排障,关键,节点
From: https://blog.51cto.com/key3feng/5764493

相关文章

  • K8S运维经验分享记录
    1.namespace资源限制:CPU、内存、Pod、Service命名空间设置了CPU或内存资源配额后,创建工作负载时,必须指定CPU或内存的请求值(request)和限制值(limit)apiVersion:v1kind:Resou......
  • 原生js document.getElementById("XXX").disabled="false";无效
    想要设置表单元素不能访问时,使用document.getElementById("XXX").disabled="true";但是想要取消disabled的时候,发现document.getElementById("XXX").disabled="false";无......
  • 云原生--argocd 自动同步
    自动同步在前面我们使用了手动同步https://www.cnblogs.com/zouzou-busy/p/16600104.html,当git仓库有变更时,需要手动点击SYNC,比较麻烦,我们也可以创建一个自动同步的应......
  • 云原生--argocd 命令行
    前戏在使用命令行的时候需要先登录#登录要指定ip和端口[root@master1~]#argocdlogin10.6.215.30:30495WARNING:servercertificatehaderror:x509:cannotv......
  • 云原生--argocd 仓库管理、集群管理
    前戏在我们之前添加应用的时候,都是在下图那里添加的,但如下图那样添加有个问题,就是我们的仓库需要认证,那是没有办法的,这时候我们就需要先将仓库设置好,在这里选择就可以了......
  • 企业云原生转型,如何解决弹性、运维和团队协同等问题?
    作者:王彬、杏祉尧、黄枫项目背景贵州酒店集团有限公司于2019年2月28日注册成立,是经贵州省人民政府批准并授权省国资委履行出资人职责的省管大一型企业,全资及控股子......
  • 推荐一个运维任务计划好帮手,让你的任务运行更可靠
    什么是监测助手?我们先来看几个日常运维工作中常见的场景:• 定时备份数据库或其他数据• 写个脚本来监控进程确保进程存活• 检测磁盘、内存等使用情况,异常时能及时......
  • 云原生整体解决方案
                   ......
  • 云原生方案规划 第一阶段方案:应用的微服务化,容器化,CI/CD
    第一阶段需要对应用按照云原生架构进行应用的微服务化改造,容器化改造,以及对接CI/CD平台,使得应用具备云原生的特点•微服务注册配置中心业务系统在进行微服务化改造的过程......
  • 云原生方案规划 第三阶段方案:云原生PaaS服务
    在第三个阶段中,为系统依赖的中间件和数据库进行云原生化全面落地。• 云原生关系型数据库通过搭建云原生数据库来实现数据库云原生化。云原生关系型数据库100%兼容MySQL5......