Istio全景监控与拓扑
根据Istio官方报告,Observe(可观察性)为其重要特性。Istio提供非侵入式的自动监控,记录应用内所有的服务。
我们知道在Istio的架构中,Mixer是管理和收集遥测信息的组件。每一次当请求到达的时候,Envoy会调用Mixer进行预检查,在请求处理完毕后也会将过程上报给Mixer。
今天我们会结合开源监控插件(Jaeger)与嵌入Istio服务的应用性能管理服务来为大家展示部分Istio的全景监控能力。
1 Jaeger
Istio结合Jaeger使用可以解决端到端的分布式追踪问题。2017年Jaeger成为了CNCF(Cloud Native Computing Foundation)的一员。Jaeger主要可以使用在微服务的架构上,来完成分布式的上下文广播,事物监控,根因分析,服务依赖关系的分析等功能。
Jaeger界面简洁,颜色柔和,无过多复杂得元素在内。清晰地在左侧配置项栏中列出了用户需要设置的配置,用户需要选择想观察的服务,观察的时间段以及一些附加功能配置。点击find trace按钮后,所有符合预设条件的Trace都会被展示出来。单机某个Trace则会进入他的调用详情中。
比如从上图中的这个调用,我们就可以看出来当请求抵达productPage时,会产生两个子访问,一个去调用了details组件,另一个则去调用了reviews组件。每个Span则是体现了调用父子关系和调用持续时间,简明扼要的提供了用户关心的信息。对于收集此类监控信息,设定合适的采样频率是十分有必要的,这样一来避免了过度监控造成的数据冗余和性能影响,另一方面也避免了监控样本过少,不能足够支撑分析的情况。调整采样率可以通过Helm模板中的values.yaml对其中的traceSampling进行修改,再进行服务网格的创建。
对于运行中的服务网格,则可以对deployment istio-pilot进行修改。
Kubectl edit deployment istio-pilot 搜索并修改PILOT_TRACE_SAMPLING这个属性。
2 APM(应用性能管理)
华为云Istio服务为了方便用户了解自己应用和集群的工作状态,也在服务界面添加了监控的功能。与其他监控插件相同的是,用户依然不需要对自己代码进行任何改动和重构,直接可以使用监控服务。首先在监控概览页面可以看到应用状态,异常相应统计,时延统计以及应用拓扑图。
应用概览展示的是应用的就绪状况,是否有应用未就绪或异常状态可以直观反映,异常相应和超长请求时延则展示租户下所有组件中异常数较大和时延较高的几个组件。
拓扑图则展示的是应用中的访问,调用关系,以及相应的平均时延。除此之外,每个组件可以展开,看到组件中实例的工作状态。对于因延时影响或者是中断相应会有相应的连线表达方式。
点击拓扑图上任意一个组件亦或是点击异常相应与超长请求时间上的任何一个组件都可以进入流量概况页。流量概况页主要是以数字的形式展示流量情况。
针对该组件的请求总数,错误技术,平均时延和最大时延都会以数据的形式直接传递给使用者。
流量监控中也包含了调用链信息。相比Jaeger,这里的调用链多了持久化的一层,可以查阅时间段更宽的数据。
随着微服务趋势的发展,越来越多的应用在架构阶段就已经解耦成多个组件,越是对于组件多的应用,监控信息就显得越发重要。精准,正确的监控信息不仅能够第一时间帮助运维人员发现并定位应用中的问题,而且还能够通过既往的数据来支持运维人员进行资源的合理分配与调度。
Istio全景监控与拓扑的更多相关文章
- idou老师教你学Istio 20 : Istio全景监控与拓扑
根据Istio官方报告,Observe(可观察性)为其重要特性.Istio提供非侵入式的自动监控,记录应用内所有的服务. 我们知道在Istio的架构中,Mixer是管理和收集遥测信息的组件.每一次当请 ...
- 业务驱动的全景监控体系在阿里的应用 | 阿里巴巴DevOps实践指南
编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...
- idou老师教你学Istio :如何用istio实现监控和日志采集
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...
- idou老师教你学Istio 25:如何用istio实现监控和日志采集
大家都知道istio可以帮助我们实现灰度发布.流量监控.流量治理等功能.每一个功能都帮助我们在不同场景中实现不同的业务.那Istio是如何帮助我们实现监控和日志采集的呢? 这里我们依然以Bookinf ...
- idou老师教你学Istio 26:如何使用Grafana进行可视化监控
使用Grafana插件进行监控是Istio提供的监控能力之一.Istio提供丰富的监控能力,Grafana插件在Istio对Prometheus支持的基础上,为用户提供基于网页仪表面板的可视化监控效果 ...
- 云原生 - Istio可观察性之监控(四)
作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...
- Istio
什么是Istio Istio是Service Mesh(服务网格)的主流实现方案.该方案降低了与微服务架构相关的复杂性,并提供了负载均衡.服务发现.流量管理.断路器.监控.故障注入和智能路由等功能特性 ...
- Istio 是什么?
使用云平台可以为组织提供丰富的好处.然而,不可否认的是,采用云可能会给 DevOps 团队带来压力.开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署.Istio 允 ...
- 云容器云引擎:容器化微服务,Istio占C位出道
在精彩的软件容器世界中,当新项目涌现并解决你认为早已解决的问题时,这感觉就像地面在你的脚下不断地移动.在许多情况下,这些问题很久以前被解决,但现在的云原生架构正在推动着更大规模的应用程序部署,这就需要 ...
随机推荐
- 将 SecondaryNameNode 配置到 s105 节点上
相关链接 Hadoop 完全分布式安装 0. 说明 SecondaryNameNode 的作用 参考[待补充] 在 Hadoop 完全分布式的基础之上配置 将 SecondaryNameNode ...
- OpenResty 安装配置
0. 说明 1. Windows 下安装 下载软件包 openresty-1.13.6.1-win32.zip ,解压即可食用. [开启] 直接运行 nginx.exe 在 Windows 的命令窗口 ...
- List集合的特有功能
import java.util.ArrayList; import java.util.List; /** * * List集合的特有功能 * A:添加功能 * void add(int index ...
- Docker容器学习与分享11
容器的数据存储 容器在删除之后,里面所有的数据都会丢失,如果其他程序需要用到某一部分的数据那就没办法了. 所以可以将容器内的数据存储到容器之外,比如存储到宿主机内.(Docker提供了好几种方法) 将 ...
- Docker容器学习与分享02
1.docker容器的创建 首先运行一个centos容器,感受一下Docker容器的便捷 首先先看一下镜像仓库 发现仓库里没有镜像,也就是没有创建容器的模板,这时考虑从REPOSITORY中拉取镜像( ...
- phpstorm 的.idea 目录加入.gitignore无效的解决方法
无效的原因是:对应的目录或者文件已经被git跟踪,此时再加入.gitignore后就无效了, 解决办法: 先执行 git rm -r --cached .idea 再重新加入.gitignore文件 ...
- 没有插件的sublime编辑器是没有灵魂的
这阵子各种捣鼓,现在趁有空记录一下sublime编辑器的一些实用的插件和安装方法,下午又该继续学习了. 接下来安装的是htmlHint.jsHint.cssLint以及汉化这几种插件,其实插件会使我们 ...
- 使用let声明变量的理解
先看阮大神的[ECMAScript 6 入门]中关于这一部分的描述 var a = []; for (let i = 0; i < 10; i++) { a[i] = function () { ...
- BZOJ5092:[Lydsy1711月赛]分割序列(贪心,高维前缀和)
Description 对于一个长度为n的非负整数序列b_1,b_2,...,b_n,定义这个序列的能量为:f(b)=max{i=0,1,...,n}((b_1 xor b_2 xor...xor b ...
- istio1.0.2配置
项目的组件相对比较复杂,原有的一些选项是靠 ConfigMap 以及 istioctl 分别调整的,现在通过重新设计的Helm Chart,安装选项用values.yml或者 helm 命令行的方式来 ...