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.yaml
或 istio-demo-auth.yaml
中禁用追踪功能,或者在安装 Istio 时不启用它。
Istio 能将追踪信息发送到外部 ZipKin 实例吗?
要实现该功能,必须使用 Zipkin 实例的完全限定域名。例如:
zipkin.mynamespace.svc.cluster.local
。
在 Istio 使用 ZipKin 功能时,是否可以返回 x-request-id?
除非复制标头,否则 Istio 也无法知道接受原始请求的应用程序何时给出响应消息。如果复制标头,则可以将其包含在响应标头中。