当前位置: 首页 > news >正文

班级网站开发报告网页版游戏大全

班级网站开发报告,网页版游戏大全,报名工具小程序官网,广州的百度推广公司简介#xff1a; 本次分享为Kubernetes 监控公开课的第二节内容#xff1a;如何发现 Kubernetes 中服务和工作负载的异常。 分享由三个部分组成#xff1a; 一、Kubernetes 异常定位存在痛点#xff1b; 二、针对这些痛点#xff0c;Kubernetes 监控如何更快、更准、更全的…简介 本次分享为Kubernetes 监控公开课的第二节内容如何发现 Kubernetes 中服务和工作负载的异常。 分享由三个部分组成 一、Kubernetes 异常定位存在痛点 二、针对这些痛点Kubernetes 监控如何更快、更准、更全的发现异常 三、网络性能监控、中间件监控等典型案例解析。 大家好我是来自阿里云的李煌东今天由我为大家分享 Kubernetes 监控公开课的第二节内容如何发现 Kubernetes 中服务和工作负载的异常。 本次分享由三个部分组成 一、Kubernetes 异常定位存在痛点 二、针对这些痛点Kubernetes 监控如何更快、更准、更全的发现异常 三、网络性能监控、中间件监控等典型案例解析。 Kubernetes 异常定位存在痛点 当下的互联网架构中越来越多的公司采用微服务 Kubernetes 这样的架构这样的架构有如下特点 首先应用层基于微服务微服务由解耦开的几个服务相互调用构成服务一般职责分明、边界明确造成的结果是一个简单的产品也有几十、甚至上百个微服务相互之间的依赖、调用是非常复杂的这给定位问题带来比较大的成本。同时每个服务的 owner 可能来自不同团队不同的开发可能使用不同的语言对我们监控的影响是对每一种语言都需要进行监控工具的接入投资回报率低。还有一个特点是多协议几乎每种中间件Redis、MySQL、Kafka都有他们独特的协议怎么要做到快速对这些协议进行观测是不小的挑战。虽然 Kubernetes 和容器对上层应用屏蔽了底层的复杂度但是带来的两个结果是基础设施层越来越高另一个是上层应用和基础设施之间信息变得越来越复杂了。举个例子用户反馈网站访问很慢管理员查看访问日志、服务状态、资源水位发现都没问题这时候不知道问题出现在哪里虽然怀疑基础设施有问题但无法定界的情况下只能一个一个排查效率低问题的根源就是上层应用和基础设施之间缺少上下问题关联无法做到端到端串联。最后一个痛点是数据散、工具多、信息没打通。举个例子假设我们收到一个告警用 grafana 去查看指标指标只能描述的比较粗略我们得去看下日志这时候我们要去 SLS 日志服务看下有没有对应的日志日志也没问题这时候我们需要登录到机器上去看然而登录到容器里面可能又因为重启导致日志没有了。查了一波之后可能我们会觉得可能问题不是出现在这个应用于是我们又去看链路追踪是不是下游有问题。总而言之工具用了一大堆浏览器开了十几个窗口效率低、体验差。 这三个痛点分别归纳为成本、效率、体验三个方面。针对这些痛点接下来我们一起看下 Kubernetes 监控的数据体系看下怎么来更好的解决成本、效率、体验三大问题。 Kubernetes 监控如何发现异常 下图金子塔自顶向下表示信息的密度或者详细程度越往下面信息越详细。我们从底部开始讲Trace 是我们通过eBPF技术以无入侵、多协议、多语言的方式采集应用层协议数据如 HTTP、MySQL、Redis协议数据会进一步解析成容易理解的请求详情、响应详情、各个阶段的耗时信息。 再上一层是指标指标主要由黄金指标、网络、Kubernetes 体系中的指标。其中黄金指标和网络指标是基于 eBPF 采集的所以同样他们是没有入侵的支持各种协议的有了黄金指标我们就能知道服务整体上是否有异常、是否有慢、是否影响用户网络指标主要是对socket的支持如丢包率、重传率、RTT 等主要用来监控网络是否正常的指标。Kubernetes 体系中的指标是指原来 Kubernetes 监控体系中的 cAdvisor/MetricServer/Node Exporter/NPD 这些指标。 再上一层是事件事件直接明确地告诉我们发生了什么可能我们遇到最多的是 Pod 重启、拉镜像失败等。我们对 Kubernetes 事件进行了持久化存储并保存一段时间这样方便定位问题。然后我们的巡检和健康检查也是支持以事件的形式报出来。 最顶层是告警告警是监控系统的最后一环当我们发现某些特定异常可能对业务有损后我们就需要对指标、事件进行告警配置。告警目前支持 PromQL智能告警支持对历史数据进行智能算法检测从而发现潜在的异常事件。告警的配置支持动态阈值通过调节灵敏度的方式来配置告警从而避免写死阈值。 有了 Trace、指标、事件、告警之后我们用拓扑图将这些数据和 Kubernetes 实体都关联起来每个节点对应 Kubernetes 实体中的服务和工作负载服务之间调用用线表示。有了拓扑图我们就像拿到一张地图能快速识别拓扑图中的异常并对异常进行进一步的分析对上下游、依赖、影响面进行分析从而对系统有了更全面的掌控。  最佳实践场景分析 接下来我们讲下发现 Kubernetes 中服务和工作负载的异常的最佳实践。 首先还是先有指标指标能反应服务的监控状态我们应尽可能地收集各种指标并且越全越好不限于黄金指标、USE 指标、Kubernetes 原生指标等然后指标是宏观数据需要做根因分析我们得有 Trace 数据多语言、多协议的情况下要考虑采集这些 Trace 的成本同样尽可能地支持多一点协议、多一点语言最后用一张拓扑将指标、Trace、事件汇总起来、串联起来形成一张拓扑图用来做架构感知分析、上下游分析。 通过这三种方法的分析服务和工作负载的异常通常暴露无遗了但我们不应该就此停止前进的脚步加入这个异常下次再来那么我们这些工作得重来一遍最好的办法是针对这类异常配置对应的告警自动化地管理起来。 我们用几个具体的场景来详细介绍 一网络性能监控 网络性能监控以重传为例重传的意思是说发送方认为发生了丢包现象就重发这些数据包。以图中的传输过程为例 发送方发送编号为 1 的包接收方接受了返回 ACK 2发送方发送编号为 2 的包接收方返回 ACK 2发送方发送编号为 3、4、5 的包接收方都返回 ACK 2直到发送方收到 3 次同样的 ACK 就会触发重传机制重传会导致延迟升高 代码和日志是观察不出来的这种情形下最终很难找到根因。为了能快速定位这个问题我们需要一组网络性能指标来提供定位依据包含以下指标P50、P95、P99 指标来表示延时然后我们需要流量、重传、RTT、丢包这些指标来表征网络情况。 以某个服务 RT 高为例首先我们看到拓扑的边是红的红的判断逻辑是根据延时、错误来判断的当发现这个红边的时候点击上面的边就可以看对应的黄金指标了。 点击底部最左边这个按钮可以查看当前服务的网络数据列表我们可以按平均响应时间、重传、RTT 排下序可以看到第一个服务调用延时比较高快到一秒的返回时间同时也看到重传比较高相比于其他服务高很多。这里其实是通过工具去注入了重传高这么一个故障看起来更明显一些。这样分析下来我们就知道可能是网络的问题就可以进一步排查了。有经验的开发一般会拿着网络指标、服务名、ip、域名这些信息去找网络的同事排查而不是只是告诉对方说我服务很慢这样对方知道的信息太少就不会积极去排查因为别人也不知道从哪里开始当我们提供了相关数据对方就有了参考会顺藤摸瓜进一步推进。 二DNS 解析异常 第二个场景是 DNS 解析异常。DNS 通常是协议通信的第一步比如 HTTP 请求第一步就是先拿到 IP也就是我们平常说的服务发现过程第一步出现问题整个调用就直接失败了这就是所谓关键路径不能掉链子。在 Kubernetes 集群中所有的 DNS 都走 CoreDNS 的解析所以 CoreDNS 上容易出现瓶颈一旦出现问题影响面也是非常大的可能整个集群都不可用了。举个两个月前发生的鲜活的例子著名的 CDN 公司 Akamai 就发生了一个 DNS 故障导致众多网站像 Airbnb 网站无法访问事故持续了长达一个小时。  在 Kubernetes 集群中 DNS 解析比较核心的几个场景有三个 调用外部 API 网关调用云服务云服务一般是公网的调用外部中间件这里对 CoreDNS 常见的问题进行了归纳大家可以参考下排查下自己的集群上有没有类似问题 配置问题ndots 问题ndots 是个数字表示域名中点的个数要是小于 ndots那么搜索就优先走 search 列表中的域去查找这样的话会产生多次查询对性能的影响还是挺大的。由于 Kubernetes 所有的域名解析都走 CoreDNS非常容易成为性能瓶颈有人统计过大概 qps 在 5000~8000 的时候就要关注性能问题了。尤其是依赖外部 Redis、MySQL 这种访问量比较大的。低版本的 CoreDNS 有稳定性问题这个也是需要关注的点。有些语言想 PHP 对连接池支持的不是很好导致每次都要去解析 DNS创建连接这个现象也是比较常见的。 接下来我们看下 Kubernetes CoreDNS 中可能会发生问题的地方首先应用和 CoreDNS 之间的网络可能有问题第二是 CoreDNS 本身问题比如 CoreDNS 返回 SERVFAIL、REFUSE 这些错误码甚至因为 Corefile 配置错了导致返回值是错的第三点是跟外部 DNS 通信的时候发生网络中断、性能问题最后一个是外部 DNS 不可用。 针对这些问题点总结出以下步骤来盘查 第一、从客户端侧先看下请求内容和返回码如果是返回是错误码说明是服务端有问题。如果是慢解析可以看下时间瀑布流看下时间耗费在哪个阶段。 第二、看网络是否正常看流量、重传、丢包、RTT 这几个指标就够了。 第三、查看服务端看下流量、错误、延时、饱和度这几个指标再看下 CPU、内存、磁盘等这几个资源指标也能定位出是否有问题。 第四、看下外部 DNS同理我们可以通过请求 Trace、返回码、网路流量、重传等指标来定位。 接下来我们看下拓扑。首先看到红色的线表示有异常的 DNS 解析调用点击这个我们能看到调用的黄金指标点击查看列表弹出详情页面可查看请求的详情是请求这个域名请求过程中经历发送、等待、下载三个过程看起来指标正常接下来我们点击看响应发现响应是域名不存在。那么这时候我们可以进一步看下外部 DNS 是否有问题步骤也是一样的后面我会在 demo 中展示所以这里就不展开先了。 三全链路压测 第三个典型场景是全链路压测对于大促这种场景峰值是平常的数倍怎么保障大促的稳定需要通过一系列的压测来验证系统能力、系统稳定性评估、做容量规划、识别系统瓶颈。一般会有这么几个步骤先预热下这时候验证下链路是否正常的逐步加流量直到峰值然后开始摸高也就是看下能支持的最大 TPS 是多少接着再加流量这时候主要就是看服务是否能正常限流了因为已经找过最大 TPS 了再加大力量就是破坏性流量了。那么在这个过程中我们需要关注哪些点呢 首先针对我们多语言、多协议的微服务架构比如这里的 Java、Golang、Python 应用这里有 RPC、MySQL、Redis、Kafka 应用层协议我们得有各种语言、各种协议的黄金指标用来验证系统能力针对系统的瓶颈、容量规划这块我们需要 use 指标去看各种流量级别情况下资源的饱和度来确定是不是要扩容每增加一次流量对应看下 use 指标对应调整容量逐步优化对于复杂架构需要有一张全局的大图来帮助梳理上下游依赖、全链路架构确定爆炸报警比如这里的 CheckoutService 就是个关键的服务这个点如果出现问题影响面会很大。 第一、各种语言、协议通信的黄金指标通过查看列表进一步看调用的详情 第二、点击节点详情下钻查看 cpu、memory 等 use 资源指标 第三、整个拓扑图是能反映整个架构的形态的有了全局的架构视角就能识别哪个服务容易成为瓶颈、爆炸半径有多大是否需要做高可用保障。  四访问外部 MySQL 第四个场景是访问外部 MySQL先看下访问外部 MySQL 有哪些常见的问题 首先是慢查询慢查询提现为延时指标高这时候去看 trace 里面详情请求是啥查询的是哪张表哪些字段进而看下是不是查询量太大了、表太大了、还是说没有建索引等。查询语句过大我们知道查询语句太大会导致传输耗时高网络稍一抖动就造成失败重试还会引发带宽占用的问题。一般都是一些批量的更新、插入导致的出现这种问题延时指标会飙高这时候我们可以选择RT较高的一些 Trace 来看看下语句怎么写的、看下查询语句的长度是不是太大了。错误码返回比如表不存在这种那么解析出其中的错误码就很有帮助了再进一步看里面的详情去看语句就比较容易定位出根因了。网络问题这个点也讲过比较多了一般配合着延时指标加上 RTT、重传、丢包来确定网络是否有问题。接下来看下拓扑图中间框住的应用依赖了外部的 MySQL 服务点击拓扑线可以进一步看黄金指标点击查看列表可以进一步看请求的详情、响应等。同时我们也可以看下网络性能指标这个 table 是将当前拓扑中的网络数据根据来源和目标进行归类可以分别查看请求数、错误数、平均响应时间、socket 重传、socket rtt点击上面箭头可以对应地排序。  五多租户架构 第五个典型案例是多租户架构。多租户指的是不同的租户、工作负载、不同团队公用一个集群通常一个租户对应一个命名空间同时保证资源的逻辑隔离或者物理隔离互不影响、互不干扰。常见的场景有企业内部用户一个团队对应一个租户同一个命名空间内网络不受限制用网络策略去控制不同命名空间之间的网络流量。第二种是 SaaS 提供商多租户架构每个用户对应一个命名空间同时租户和平台分别处于不同的命名空间。虽然 Kubernetes的命名空间特性给多租户架构带来了便利但也给可观测带来两个挑战第一命名空间非常多查找信息变得很繁琐增加了管理成本、理解成本。第二是租户之间有流量隔离的要求在命名空间比较多的情况下往往无法做到准确、全面的发现异常流量。第三是对多协议、多语言的 Trace 支持。曾经遇到过一个客户一个集群里面有 400 多个命名空间管理起来非常痛苦而且应用是多协议、多语言的要支持 Trace得一个个改造。 这是我们产品的集群首页Kubernetes 的实体以命名空间的方式划分支持查询来定位到我想看的集群。气泡图上展示对应命名空间上的实体数以及有异常的实体数比如框子里 3 个命名空间里存在有异常的 pod点进去可以进一步看异常。首页下面是按黄金指标排序的性能概览也就是场景的 Top 功能这样能快速查看哪几个命名空间是有异常的。 在拓扑图中如果命名空间比较多可以通过过滤功能查看想看的命名空间或者通过搜索方式快速定位到想看的命名空间。由于节点是以命名空间分组的能通过命名空间之间的线来查看命名空间的流量这样就能方便地查看有来自哪些命名空间的流量、是否有异常流量等等。 我们将上述场景介绍总结如下 网络监控如何能分析网络导致的服务的错慢、中断如何分析网络问题带来的影响服务监控如何通过黄金指标确定服务是否健康如何通过支持多协议的 Trace 查看详情中间件、基础设施监控如何用黄金指标、trace 分析中间件、基础设施的异常如何快速定界是网络问题还是自身问题还是下游服务问题架构感知如何通过拓扑感知整个架构梳理上下游、内部外部依赖进而能掌控全局如何通过拓扑保障架构有足够的观测性、稳定性保障如何通过拓扑分析、发现系统中的瓶颈、爆炸半径。 从这几个场景中又进一步列举常见的 case网络、服务的可用性检测健康检查中间件架构升级可观测性保障新业务上线验证服务性能优化中间件性能监控方案选型全链路压测等。  产品价值 经过以上内容介绍我们将 Kubernetes 的产品价值总结如下 通过多协议、多语言、无入侵的方式采集服务的指标和 Trace 数据最大限度地减少接入的成本同时提供覆盖度全面的指标和Trace有了这些指标和 Trace 之后我们就能对服务和工作负载进行科学的分析、下钻将这些指标、Trace 关联起来串成一张拓扑图能在一张大图上进行架构感知、上下游分析、上下文关联等充分得理解架构评估潜在的性能瓶颈等方便做进一步的架构优化提供配置简单的告警配置方法将经验知识沉淀到告警中做到主动发现。 原文链接 本文为阿里云原创内容未经允许不得转载。
http://www.zqtcl.cn/news/82888/

相关文章:

  • 个人网站建设报告嘉兴seo报价
  • 红桥网站建设公司wordpress 搭建教程 pdf
  • WordPress到底好不好用外贸网站建设seo优化
  • 网站整站开发教程江西通威公路建设集团有限公司网站
  • 酒店网站免费建设网络营销主要内容
  • 常德网站建设 天维wordpress联系表格
  • mui做浏览器网站跳转房地产店铺首页设计过程
  • 网站要服务器吗定制版app
  • 网站开发 聊天窗口如何免费创建自己的平台
  • 网站制作教程wordpress美化版
  • h5如何做网站厦门哪里有做网站
  • 哪里有帮助做数学题网站怎样设计一个公司网站
  • 表白网站制作源代码网站域名建设怎么填写
  • 品牌型网站唐山广告设计制作公司
  • 石家庄网站建设方案咨询平面设计vi是什么意思
  • 网站建设的商品分类编码教育培训网站建设
  • 广州找人做网站大连seo皮皮
  • 一个企业的网站建设百度指数app下载
  • 网站组网图网站虚拟空间更新缓存
  • 哪些是网站建设北京网站设计公司哪儿济南兴田德润简介
  • 网站进入百度观察期专业做seo推广
  • wordpress+4.5+多站点洛阳市政建设集团网站
  • 本地主机做网站服务器中国建设银行官网站招聘频道
  • 检查色盲效果网站惠州seo关键词
  • 一元购物网站建设合肥做网站公司有哪些
  • 做视频资源网站有哪些难点广州天河区有什么好玩的
  • 房产网站建设公司wordpress案例制作
  • wordpress建站中英文网上诉讼服务平台
  • 网站一般宽度是多少像素响应式网站建设的未来发展
  • 恭城网站建设公司网站维护费 入什么科目