大家都知道istio可以帮助我们实现灰度发布、流量监控、流量治理等功能。每一个功能都帮助我们在不同场景中实现不同的业务。那Istio是如何帮助我们实现监控和日志采集的呢?
这里我们依然以Bookinfo应用程序作为贯穿此任务的示例程序。首先在集群中安装并部署Istio。
1
收集遥测数据
创建一个新的YAML文件,用来保存Istio将自动生成和收集的新度量标准和日志流的配置。如下图所示:
通过命令$ kubectl apply -f new_telemetry.yaml推送刚刚配置的YAML文件。然后去请求应用程序来生成流量,例如在本用例中就可以访问Bookinfo完成访问。
接下来我们就可以验证是否采集到了刚刚的请求数据。在Kubernetes环境中,通过执行以下命令为Prometheus设置端口转发:
$ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath=’{.items[0].metadata.name}’) 9090:9090 &
通过Prometheus UI查看新指标的值。执行对istio_double_request_count度量值的查询。Console选项卡中显示的表 包含类似于以下内容的条目:
验证是否已创建日志流并正在为请求填充日志流。在Kubernetes环境中,搜索