使用 Grafana 进行指标可视化
此任务说明如何设置和使用 Istio 仪表板来监视网格流量, 作为此任务的一部分,您将需要安装 Grafana Istio 附加组件,并使用基于 Web 的界面查看服务网格中的流量数据。
Bookinfo 示例应用程序在整个任务中用作示例应用程序。
前提条件
- 在集群中安装 Istio 并部署应用程序。
- 安装 Prometheus 附加组件。
查看 Istio 仪表板
要在图形仪表板中查看 Istio 指标,请安装 Grafana 插件。
在 Kubernetes 环境中,执行以下命令:
$ kubectl apply -f install/kubernetes/addons/grafana.yaml
验证服务是否在集群中运行。
在 Kubernetes 环境中,执行以下命令:
$ kubectl -n istio-system get svc grafana NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana 10.59.247.103 <none> 3000/TCP 2m
通过 Grafana UI 打开 Istio Dashboard。
在 Kubernetes 环境中,执行以下命令:
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &
在 Web 浏览器中访问 http://localhost:3000/dashboard/db/istio-dashboard。
Istio 仪表板看起来类似于:
Istio Dashboard 将流量发送到服务网格。
对于 Bookinfo 示例,请在Web浏览器中访问
http://$GATEWAY_URL/productpage
或发出以下命令:$ curl http://$GATEWAY_URL/productpage
刷新页面几次(或发送命令几次)以产生少量流量。
再看一下 Istio Dashboard, 它应该反映生成的流量, 它看起来类似于下图所示的内容:
Istio 的流量仪表板
$GATEWAY_URL
是Bookinfo 示例中设置的值。
关于 Grafana 插件
Grafana 插件是 Grafana 的预配置实例, 基本映像(grafana/grafana:4.1.2
已经修改为从安装了 Prometheus 数据源和 Istio Dashboard 开始, Istio 的基本安装文件,特别是 Mixer,带有全局(用于每个服务)指标的默认配置, Istio Dashboard 可与默认的 Istio 指标配置和 Prometheus 后端结合使用。
Istio 仪表板由三个主要部分组成:
- 全局摘要视图, 本节提供流经服务网格的 HTTP 请求的高级摘要。
- 网格摘要视图, 本节提供了比全局摘要视图更多的详细信息,允许按服务过滤和选择。
- 单个服务视图, 本节提供有关网格中每个服务(HTTP和TCP)的请求和响应的度量标准。
有关如何创建,配置和编辑仪表板的更多信息,请参阅 Grafana文档。
清理
在 Kubernetes 环境中,执行以下命令以删除 Grafana 附加组件:
$ kubectl delete -f install/kubernetes/addons/grafana.yaml
删除可能正在运行的任何
kubectl port-forward
进程:$ killall kubectl
如果您不打算探索任何后续任务,请参阅 Bookinfo 清理说明以关闭应用程序。
See also
此任务说明如何在 Istio 网格中生成服务图。
概要说明 Mixer 的插件架构。
此任务将展示如何配置 Istio 将日志记录到 Fluentd 守护进程。
如何进行代理配置将跟踪请求发送给 Zipkin 或 Jaeger。
这一任务讲述如何配置 Istio,进行指标和日志的收集工作。
此任务说明如何使用 Prometheus 查询 Istio 指标。