istio.io/content/zh/docs/ops/common-problems/observability-issues/index.md

61 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 可观测性问题
description: 处理 Telemetry 收集问题。
force_inline_toc: true
weight: 30
aliases:
- /zh/docs/ops/troubleshooting/grafana
- /zh/docs/ops/troubleshooting/missing-traces
owner: istio/wg-policies-and-telemetry-maintainers
test: n/a
---
## 在 Mac 上运行 Istio 时Zipkin 不生效 {#no-traces-appearing-in-Zipkin-when-running-Istio-locally-on-mac}
Istio 已经完成安装且正常工作,但是 Zipkin 中没有显示任何 trace 信息。
这可能是由已知的 [Docker 问题](https://github.com/docker/for-mac/issues/1260)引起的,
容器内的时间可能与主机上的时间有较大偏差。如果是这种情况,当您在 Zipkin 中选择了一个长时间范围时,
您可能会发现数据比预期早了一些时间。
您还可以通过对比 Docker 容器内和容器外的日期来确认此问题:
{{< text bash >}}
$ docker run --entrypoint date gcr.io/istio-testing/ubuntu-16-04-slave:latest
Sun Jun 11 11:44:18 UTC 2017
{{< /text >}}
{{< text bash >}}
$ date -u
Thu Jun 15 02:25:42 UTC 2017
{{< /text >}}
要解决此问题,您需要重启 Docker 后重新安装 Istio。
## 缺少 Grafana 输出 {#missing-Grafana-output}
如果从本地 Web 客户端连接到 Istio 端时,无法获取 Grafana 的数据,
则应该验证客户端和服务器的日期和时间是否匹配。
Web 客户端例如Chrome的时间会影响 Grafana 的输出。此问题的简单解决方案是验证
Kubernetes 集群内的时间同步服务是否正确运行,以及 Web 客户端计算机是否也与目标服务器的时间相同。
一些常见的时间同步系统有 NTP 和 Chrony。在有防火墙的实验室中问题比较严重
这种情况可能是 NTP 配置错误,没有正确指向基于实验室的 NTP 服务。
## 验证 Istio CNI Pod 正在运行(如果使用) {#verify-Istio-CNI-pods-are-running}
Istio CNI 插件在 Kubernetes Pod 生命周期中的网络配置阶段执行 Istio
网格 Pod 流量重定向,从而消除了用户将 Pod 部署到 Istio 网格是对
[`NET_ADMIN` 和 `NET_RAW` 权限的依赖](/zh/docs/ops/deployment/application-requirements/)。
Istio CNI 插件取代了 `istio-init` 容器提供的功能。
1. 验证 `istio-cni-node` Pod 是否正在运行:
{{< text bash >}}
$ kubectl -n kube-system get pod -l k8s-app=istio-cni-node
{{< /text >}}
1. 如果 `PodSecurityPolicy` 在您的集群中正在工作,确认 `istio-cni`
Service Account 可以使用 `PodSecurityPolicy`
[`NET_ADMIN` 和 `NET_RAW` 功能](/zh/docs/ops/deployment/application-requirements/)。