Icon Telemetry FAQ

遥测数据可以通过 REST 接口查看吗?

可以使用 Prometheus 收集有关 Istio 的遥测数据。然后使用 Prometheus’s HTTP API 查询数据。

Prometheus 适配器可以用于非 Kubernetes 环境吗?

可以使用 docker-compose 来安装 Prometheus,这与安装应用程序十分类似。此外,如果没有 Kubernetes API 服务器,像 Mixer 这样的组件将会对规则、处理程序以及实例进行本地配置。

Istio 支持追踪 vert.x 事件总线消息吗?

Istio 目前不支持 pub/sub 和事件总线协议。任何使用追踪技术的场景都是尽力而为的,可能会有消息丢失。

Zipkin 初始的 HTTP 标头是谁产生的?

Istio sidecar 代理(Envoy)生成了第一个标头

如何禁用 Istio 发送追踪 span 至 Zipkin?

如果已启用跟踪,则可以按如下方式禁用:

# Fill <istio namespace> with the namespace of your istio mesh.Ex: istio-system
TRACING_POD=`kubectl get po -n <istio namespace> | grep istio-tracing | awk ‘{print $1}`
$ kubectl delete pod $TRACING_POD -n <istio namespace>
$ kubectl delete services tracing zipkin   -n <istio namespace>
# Remove reference of zipkin url from mixer deployment
$ kubectl -n istio-system edit deployment istio-telemetry
# Now, manually remove instances of trace_zipkin_url from the file and save it.

然后按照分布式追踪任务的清理部分的步骤进行操作。

如果完全不想使用追踪功能,可在 istio-demo.yamlistio-demo-auth.yaml 中禁用追踪功能,或者在安装 Istio 时不启用它。

Istio 能将追踪信息发送到外部 ZipKin 实例吗?

要实现该功能,必须使用 Zipkin 实例的完全限定域名。例如:

zipkin.mynamespace.svc.cluster.local

在 Istio 使用 ZipKin 功能时,是否可以返回 x-request-id?

除非复制标头,否则 Istio 也无法知道接受原始请求的应用程序何时给出响应消息。如果复制标头,则可以将其包含在响应标头中。