通过 Prometheus 查询度量指标
本任务介绍如何通过 Prometheus 查询 Istio 度量指标。作为任务的一部分,你将通过 web 界面查询度量指标值。
本任务以 Bookinfo 样本应用作为案例。
开始之前
- 在自身集群中安装 Istio 并部署一个应用。
- 安装 Prometheus Addon。
- 部署 Bookinfo 应用。
查询 Istio 度量指标
验证自身集群中运行着
prometheus
服务。在 Kubernetes 环境中,执行如下命令:
$ kubectl -n istio-system get svc prometheus
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
prometheus 10.59.241.54 <none> 9090/TCP 2m
向网格发送流量。
以 Bookinfo 为例,在 web 浏览器中访问
http://$GATEWAY_URL/productpage
或执行如下命令:$ curl http://$GATEWAY_URL/productpage
$GATEWAY_URL
是在 Bookinfo 应用中设置的值。打开 Prometheus UI。
在 Kubernetes 环境中,执行如下命令:
$ istioctl dashboard prometheus
点击标题中 Prometheus 右侧的 Graph。
执行一个 Prometheus 查询。
在 web 页面顶部的 “Expression” 对话框中,输入文本:
istio_requests_total
然后点击 Execute 按钮。
结果类似于:
Prometheus 查询结果
您还可以通过选择 Execute 按钮下方的“图形”选项卡以图形方式查看查询结果。
Prometheus 查询结果 - Graphical
其他查询尝试:
请求
productpage
服务的总次数:istio_requests_total{destination_service="productpage.default.svc.cluster.local"}
请求
reviews
服务 V3 版本的总次数:istio_requests_total{destination_service="reviews.default.svc.cluster.local", destination_version="v3"}
该查询返回所有请求
reviews
服务 v3 版本的当前总次数。过去 5 分钟
productpage
服务所有实例的请求频次:rate(istio_requests_total{destination_service=~"productpage.*", response_code="200"}[5m])
关于 Prometheus 插件
Prometheus 插件是预先配置抓取 Istio 端点收集指标的 Prometheus 服务器。它提供了一种持久存储和查询 Istio 指标的机制。
有关查询Prometheus的更多信息,请阅读他们的查询文档
清除
使用 control-C 或以下命令删除可能仍在运行的所有
stioctl
进程:$ killall istioctl
如果您不打算探索任何后续任务,请参阅 Bookinfo 清理说明 清理说明关闭应用程序。