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