前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Aeraki Mesh 提供服务级别的 Metrics

Aeraki Mesh 提供服务级别的 Metrics

作者头像
赵化冰
发布2023-02-25 09:51:55
4580
发布2023-02-25 09:51:55
举报

在刚刚发布的最新版本 Aeraki Mesh 1.2.2 中 (对应 meta-protocol-proxy:1.2.3) ,Aeraki Mesh 提供了和 Istio 一致的服务级别指标,包括 istio_requests_total,istio_request_duration_milliseconds,istio_request_byte 和 istio_response_byte。标志着 Aeraki Mesh 为非 HTTP 协议提供的服务治理能力和 HTTP 协议完全对齐,完整覆盖了路由,调用跟踪,访问日志,服务指标等所有能力。

备注:Aeraki Mesh 之前的版本已经提供了 Metrics 能力,但之前的 Metrics 是 Envoy Cluster 级别的指标,并未提供类似 Istio 这种服务级别的指标。

Envoy Metrics 和 Istio Metrics 的区别主要是 Istio Metrics 中会带上 source 和 destination 的相关 label,例如 source_worklaod, destination_workload 等等,并且为一个服务提供了 client 和 server 两个视角的 metrics,因此数据更为丰富,可以根据 metrics 构建出服务调用的拓扑关系。

安装示例程序

如果你还没有安装示例程序,请参照快速开始安装 Aeraki,Istio 及示例程序。

安装完成后,可以看到集群中增加了下面两个 NS,这两个 NS 中分别安装了基于 MetaProtocol 实现的 Dubbo 和 Thrift 协议的示例程序。你可以选用任何一个程序进行测试。

代码语言:javascript
复制
➜  ~ kubectl get ns|grep meta
meta-dubbo        Active   16m
meta-thrift       Active   16m

在 istio-system 这个 NS 中已经安装了 Prometheus 和 Grafana,Prometheus 会从 Sidecar Proxy 中收集请求的指标度量数据。我们可以通过 Prometheus 查询这些度量指标,并通过 Grafana 的图表进行更友好的展示。

代码语言:javascript
复制
➜  ~ kubectl get deploy -n istio-system
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
aeraki                 1/1     1            1           46h
grafana                1/1     1            1           46h
istio-ingressgateway   1/1     1            1           46h
istiod                 1/1     1            1           46h
prometheus             1/1     1            1           46h

通过 Prometheus 查询请求指标

采用 istioctl dashboard prometheus 命令打开 Prometheus 界面。

代码语言:javascript
复制
istioctl dashboard prometheus

在浏览器中查询度量指标。Aeraki Mesh 为非 HTTP 协议提供了和 Istio 兼容的 metrics,包括 istio_requests_total,istio_request_duration_milliseconds,istio_request_byte 和 istio_response_byte。

查询 Dubbo 服务的 outbound request 指标:

istio_requests_total 指标:

istio_request_duration_milliseconds 指标:

istio_request_byte 指标:

istio_response_byte 指标:

通过 Grafana 图表来呈现度量指标

采用 istioctl dashboard grafana 命令打开 Grafana 界面。

代码语言:javascript
复制
istioctl dashboard grafana

Service 视角的 Grafana 监控面板:

Workload 视角的 Grafana 监控面板:

Labels

Aeraki Mesh 为非 HTTP 协议生成的 Metrics 中的 Label 和 Istio 保持一致。要了解各个 Label 的具体含义,请参考 Istio 的相关文档(https://istio.io/latest/docs/reference/config/metrics/#labels)。

注意:其中 Response code 含义和 HTTP 协议有所不同。

MetaPrtocol Proxy 中 Response Code 的含义如下:

  • OK 0
  • Error 1

var disq = new iDisqus('disqus-comment', { forum: 'zhaohuabings-blog', api: 'https:\/\/disqusapi.zhaohuabing.com', site: 'https:\/\/zhaohuabing.com', mode: 1, timeout: 5000, init: true, emojiPreview: true });

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装示例程序
  • 通过 Prometheus 查询请求指标
  • 通过 Grafana 图表来呈现度量指标
  • Labels
相关产品与服务
服务网格
服务网格(Tencent Cloud Mesh, TCM),一致、可靠、透明的云原生应用通信网络管控基础平台。全面兼容 Istio,集成腾讯云基础设施,提供全托管服务化的支撑能力保障网格生命周期管理。IaaS 组网与监控组件开箱即用,跨集群、异构应用一致发现管理加速云原生迁移。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档