Service mesh 原理与实践(十八)- 如何在 Istio 中实现微服务的可观测性

云世  公众号

今天要和你分享的内容是:在 Istio 中如何利用 Metrics、Trace、Log 等组件做到服务的可观测性。在前面的章节中,已经介绍过可观测性中的 Metrics 和 Trace 的相关原理,这一讲就不再重复了,下面我们分别学习如何在 Istio 中实现 Metrics、Trace 以及 Log。

我们先从 Metrics 开始学习。 

Metrics 指标

在开始这部分内容之前,先通过命令确认你是否安装了 Prometheus 和 Grafana:

$ kubectl -n istio-system get svcNAME                   TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                      AGEgrafana                ClusterIP      10.108.76.68     <none>        3000/TCP                                                                     92mistio-egressgateway    ClusterIP      10.103.64.246    <none>        80/TCP,443/TCP,15443/TCP                                                     26histio-ingressgateway   LoadBalancer   10.108.98.172    127.0.0.1     15021:31530/TCP,80:31636/TCP,443:31905/TCP,31400:31942/TCP,15443:32337/TCP   26histiod                 ClusterIP      10.109.14.171    <none>        15010/TCP,15012/TCP,443/TCP,15014/TCP,853/TCP                                26hkiali                  ClusterIP      10.110.51.251    <none>        20001/TCP,9090/TCP                                                           92mprometheus             ClusterIP      10.106.46.62     <none>        9090/TCP                                                                     92mtracing                ClusterIP      10.100.200.122   <none>        80/TCP                                                                       92mzipkin                 ClusterIP      10.100.85.63     <none>        9411/TCP

【了解更多DDD系列课程,搜索  云世   公众号获取】

如果你学习了前面的内容,应该发现 Prometheus 和 Grafana 是安装过的,如果没有安装,请参考第 14 讲的可观测性部署部分,重新安装。

Prometheus

我们先来启动 Prometheus 的图形界面:

istioctl dashboard prometheus

2,这个命令会帮我们打开 Prometheus 的 Web 界面,如下图:

3,让我们尝试输入一些 Envoy 突出的 Metrics,在 Prometheus 中查询:

istio_requests_total{connection_security_policy!="mutual_tls", destination_service=~"reviews.default.svc.cluster.local", reporter="source"}[5m]

4,切换到 Console 界面,可以查看一些输出信息,说明信息被正确采集:

至此,Prometheus 的数据采集验证工作就完成了,你可以看到 Prometheus 自带的 Web UI 比较简陋,所以我们需要引入第三方的图形化展示工具,也就是上面提到的 Grafana,下面我们学习在 Istio 中如何使用 Grafana 更好地展示 Prometheus 采集的数据指标。

Grafana 

1,Grafna 的启动方式也很简单,和 Prometheus 类似:

$ istioctl dashboard grafana

2,Istio 也为我们自动地在本地打开了 Grafana 的界面,如下图:

这里我们需要手动在浏览器输入http://localhost:3000/dashboard/db/Istio-mesh-dashboard 并访问,可以直接看到 Istio 管理的服

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云世

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值