mirror of https://github.com/istio/istio.io.git
[zh-cn] sync skywalking telemetry-api (#14668)
Signed-off-by: xin.li <xin.li@daocloud.io>
This commit is contained in:
parent
cac289f1a2
commit
5c06f93ea1
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Apache SkyWalking
|
||||
description: 学习如何配置代理将跟踪请求发送到 Apache SkyWalking。
|
||||
description: 学习如何配置代理将链路追踪请求发送到 Apache SkyWalking。
|
||||
weight: 10
|
||||
keywords: [telemetry,tracing,skywalking,span,port-forwarding]
|
||||
owner: istio/wg-policies-and-telemetry-maintainers
|
||||
|
@ -8,15 +8,15 @@ test: yes
|
|||
---
|
||||
|
||||
完成本任务之后,您将明白如何使用 [Apache SkyWalking](https://skywalking.apache.org)
|
||||
跟踪应用,这与用于构建应用的语言、框架或平台无关。
|
||||
追踪应用,这与用于构建应用的语言、框架或平台无关。
|
||||
|
||||
本任务将 [Bookinfo](/zh/docs/examples/bookinfo/) 样例用作示例应用。
|
||||
本任务将使用 [Bookinfo](/zh/docs/examples/bookinfo/) 作为示例应用。
|
||||
|
||||
若要学习 Istio 如何处理跟踪,请查阅[分布式跟踪概述](../overview/)一节。
|
||||
若要学习 Istio 如何处理跟踪,请查阅[分布式链路追踪概述](../overview/)一节。
|
||||
|
||||
## 配置跟踪{#configure-tracing}
|
||||
## 配置链路追踪 {#configure-tracing}
|
||||
|
||||
如果您使用了 `IstioOperator` CR 来安装 Istio,请添加以下字段到您的配置:
|
||||
如果您使用了 `IstioOperator` CR 来安装 Istio,请将以下字段添加到您的配置:
|
||||
|
||||
{{< text yaml >}}
|
||||
apiVersion: install.istio.io/v1alpha1
|
||||
|
@ -34,9 +34,10 @@ spec:
|
|||
port: 11800
|
||||
{{< /text >}}
|
||||
|
||||
采用此配置时,SkyWalking Agent 作为默认的跟踪器来安装 Istio。链路数据将被发送到 SkyWalking 后端。
|
||||
采用此配置来安装 Istio 时,将使用 SkyWalking Agent 作为默认的追踪器,
|
||||
链路数据会被发送到 SkyWalking 后端。
|
||||
|
||||
在默认的配置文件中,采样率为 1%。
|
||||
在默认的配置文件中,采样率为 1%,
|
||||
使用 [Telemetry API](/zh/docs/tasks/observability/telemetry/) 将其提高到 100%:
|
||||
|
||||
{{< text bash >}}
|
||||
|
@ -52,32 +53,34 @@ spec:
|
|||
EOF
|
||||
{{< /text >}}
|
||||
|
||||
## 部署 SkyWalking 采集器{#deploy-skywalking-collector}
|
||||
## 部署 SkyWalking 采集器 {#deploy-skywalking-collector}
|
||||
|
||||
遵循 [SkyWalking 安装](/zh/docs/ops/integrations/skywalking/#installation)文档将 SkyWalking 部署到集群中。
|
||||
遵循 [SkyWalking 安装](/zh/docs/ops/integrations/skywalking/#installation)文档将
|
||||
SkyWalking 部署到集群中。
|
||||
|
||||
## 部署 Bookinfo 应用{#deploy-bookinfo-app}
|
||||
## 部署 Bookinfo 应用 {#deploy-bookinfo-app}
|
||||
|
||||
部署 [Bookinfo](/zh/docs/examples/bookinfo/#deploying-the-application) 样例应用。
|
||||
部署 [Bookinfo](/zh/docs/examples/bookinfo/#deploying-the-application) 示例应用。
|
||||
|
||||
## 访问仪表板{#accessing-dashboard}
|
||||
## 访问仪表板 {#accessing-dashboard}
|
||||
|
||||
[远程访问遥测插件](/zh/docs/tasks/observability/gateways)详细说明了如何配置通过 Gateway 访问 Istio 插件。
|
||||
[远程访问遥测插件](/zh/docs/tasks/observability/gateways)详细说明了如何配置通过
|
||||
Gateway 访问 Istio 插件。
|
||||
|
||||
对于测试(和临时访问),您也可以使用端口转发。
|
||||
使用以下命令,假设您已将 SkyWalking 部署到 `istio-system` 命名空间:
|
||||
假设您已将 SkyWalking 部署到 `istio-system` 命名空间,使用以下命令:
|
||||
|
||||
{{< text bash >}}
|
||||
$ istioctl dashboard skywalking
|
||||
{{< /text >}}
|
||||
|
||||
## 使用 Bookinfo 样例生成链路{#generating-tarces-using-bookinfo}
|
||||
## 使用 Bookinfo 示例生成链路 {#generating-tarces-using-bookinfo}
|
||||
|
||||
1. 当 Bookinfo 应用启动且运行时,访问一次或多次 `http://$GATEWAY_URL/productpage` 以生成链路信息。
|
||||
1. 当 Bookinfo 应用启动且运行时,访问一次或多次 `http://$GATEWAY_URL/productpage` 以生成链路信息:
|
||||
|
||||
{{< boilerplate trace-generation >}}
|
||||
|
||||
1. 从 "General Service" 面板中,您可以看到服务列表。
|
||||
1. 从 "General Service" 面板中,您可以看到服务列表:
|
||||
|
||||
{{< image link="./istio-service-list-skywalking.png" caption="Service List" >}}
|
||||
|
||||
|
@ -88,16 +91,16 @@ $ istioctl dashboard skywalking
|
|||
1. 链路由一组 span 组成,每个 span 对应在执行 `/productpage` 期间调用的一个 Bookinfo 服务,
|
||||
或对应 `istio-ingressgateway` 这种内部 Istio 组件。
|
||||
|
||||
## 探索 SkyWalking 官方的演示应用{#explore-skywalking-official-demo-app}
|
||||
## 探索 SkyWalking 官方的演示应用 {#explore-skywalking-official-demo-app}
|
||||
|
||||
在本教程中,我们使用 [Bookinfo](/zh/docs/examples/bookinfo/#deploying-the-application) 样例应用。
|
||||
在这个样例应用中,没有安装到服务的 SkyWalking 代理,所有链路均由 Sidecar 代理生成。
|
||||
在本教程中,我们使用 [Bookinfo](/zh/docs/examples/bookinfo/#deploying-the-application) 示例应用。
|
||||
在这个示例应用中,没有安装到服务的 SkyWalking 代理,所有链路均由 Sidecar 代理生成。
|
||||
|
||||
如果您想探索有关 [SkyWalking 语言代理](https://skywalking.apache.org/docs/#Agent)的更多信息,
|
||||
SkyWalking 团队也提供了集成语言代理的[演示应用](http://github.com/apache/skywalking-showcase),
|
||||
您可以具有更详细的链路以及其他语言代理特定的特性,例如配置文件分析。
|
||||
您可以从中了解到更详细的链路以及其他语言代理特定的特性,例如配置文件分析。
|
||||
|
||||
## 清理{#cleanup}
|
||||
## 清理 {#cleanup}
|
||||
|
||||
1. 使用 Ctrl-C 或以下命令移除可能仍在运行的所有 `istioctl` 进程:
|
||||
|
||||
|
|
|
@ -7,19 +7,20 @@ owner: istio/wg-policies-and-telemetry-maintainers
|
|||
test: yes
|
||||
---
|
||||
|
||||
Istio 提供了配置高级链路追踪选项的功能,例如采样率和向已采集的 Span 中添加自定义标签。
|
||||
Istio 提供了配置高级链路追踪选项的功能,例如采样率和向已采集的 span 中添加自定义标签。
|
||||
本任务将向您展示如何使用 Telemetry API 自定义链路追踪选项。
|
||||
|
||||
## 开始之前{#before-you-begin}
|
||||
## 开始之前 {#before-you-begin}
|
||||
|
||||
1. 请确保您的应用程序按照[这里](/zh/docs/tasks/observability/distributed-tracing/overview/)所描述的方式配置链路追踪头。
|
||||
1. 请确保您的应用程序按照[这里](/zh/docs/tasks/observability/distributed-tracing/overview/)所描述的方式配置链路追踪的标头。
|
||||
|
||||
1. 请根据您首选的追踪后端,根据[集成](/zh/docs/ops/integrations/)追踪安装指南安装适当的插件,
|
||||
并配置您的 Istio 代理将链路追踪信息发送到链路追踪部署服务端。
|
||||
|
||||
## 安装{#installation}
|
||||
## 安装 {#installation}
|
||||
|
||||
在此示例中,我们将发送跟踪信息到[`链路追踪系统 zipkin`](/zh/docs/ops/integrations/zipkin/),请确保已安装它:
|
||||
在此示例中,我们将发送跟踪信息到[`链路追踪系统 zipkin`](/zh/docs/ops/integrations/zipkin/),
|
||||
请确保已安装它:
|
||||
|
||||
{{< text bash >}}
|
||||
$ cat <<EOF > ./tracing.yaml
|
||||
|
@ -29,9 +30,9 @@ spec:
|
|||
meshConfig:
|
||||
enableTracing: true
|
||||
defaultConfig:
|
||||
tracing: {} # disabled MeshConfig tracing options
|
||||
tracing: {} # 禁用 MeshConfig 链路追踪选项
|
||||
extensionProviders:
|
||||
# add zipkin provider
|
||||
# 添加 zipkin 提供商
|
||||
- name: zipkin
|
||||
zipkin:
|
||||
service: zipkin.istio-system.svc.cluster.local
|
||||
|
@ -40,7 +41,7 @@ EOF
|
|||
$ istioctl install -f ./tracing.yaml --skip-confirmation
|
||||
{{< /text >}}
|
||||
|
||||
### 启用服务网格的链路追踪{#enable-tracing-for-mesh}
|
||||
### 启用服务网格的链路追踪 {#enable-tracing-for-mesh}
|
||||
|
||||
通过以下配置启用链路追踪:
|
||||
|
||||
|
@ -58,11 +59,11 @@ spec:
|
|||
EOF
|
||||
{{< /text >}}
|
||||
|
||||
## 自定义链路追踪采样率{#customizing-trace-sampling}
|
||||
## 自定义链路追踪采样率 {#customizing-trace-sampling}
|
||||
|
||||
采样率选项可用于控制哪些请求的百分比被采集到链路追踪系统中。
|
||||
应根据服务网格中的流量和您想要收集的链路追踪数据量来配置此选项。
|
||||
默认采样率为1%。
|
||||
采样率选项可用于控制向链路追踪系统报告的请求百分比,
|
||||
应根据服务网格中的流量和您想要收集的链路追踪数据量来配置此选项,
|
||||
默认采样率为 1%。
|
||||
|
||||
{{< text bash >}}
|
||||
$ kubectl apply -f - <<EOF
|
||||
|
@ -79,17 +80,18 @@ spec:
|
|||
EOF
|
||||
{{< /text >}}
|
||||
|
||||
## 自定义链路追踪标签{#customizing-tracing-tags}
|
||||
## 自定义链路追踪标签 {#customizing-tracing-tags}
|
||||
|
||||
可以基于文本、环境变量和客户端请求标头向 spans 添加自定义标签,以在与环境相关的 spans 中提供额外的信息。
|
||||
可以基于文本、环境变量和客户端请求标头向 span 中添加自定义标签,以在与环境相关的 span
|
||||
中提供额外的信息。
|
||||
|
||||
{{< warning >}}
|
||||
添加自定义标签的数量没有限制,但标签名称必须唯一。
|
||||
{{< /warning >}}
|
||||
|
||||
您可以使用以下三种支持的选项来自定义标签。
|
||||
您可以使用以下三种方式来添加自定义标签。
|
||||
|
||||
1. Literal 表示一个静态的值,会被添加到每个 span 中。
|
||||
1. literal 选项可以将一个静态的值添加到每个 span 中。
|
||||
|
||||
{{< text yaml >}}
|
||||
apiVersion: telemetry.istio.io/v1alpha1
|
||||
|
@ -125,11 +127,12 @@ EOF
|
|||
"cluster_id":
|
||||
environment:
|
||||
name: ISTIO_META_CLUSTER_ID
|
||||
defaultValue: Kubernetes # optional
|
||||
defaultValue: Kubernetes # 可选
|
||||
{{< /text >}}
|
||||
|
||||
{{< warning >}}
|
||||
为了基于环境变量添加自定义标签,您必须修改根 Istio 系统命名空间中的 `istio-sidecar-injector` 的 ConfigMap。
|
||||
为了基于环境变量添加自定义标签,您必须修改根 Istio 系统命名空间中的 `istio-sidecar-injector`
|
||||
的 ConfigMap。
|
||||
{{< /warning >}}
|
||||
|
||||
1. 客户端请求头选项可用于从传入的客户端请求头中添加标签。
|
||||
|
@ -149,12 +152,13 @@ EOF
|
|||
my_tag_header:
|
||||
header:
|
||||
name: <CLIENT-HEADER>
|
||||
defaultValue: <VALUE> # optional
|
||||
defaultValue: <VALUE> # 可选
|
||||
{{< /text >}}
|
||||
|
||||
## 自定义链路追踪标签长度{#customizing-tracing-tag-length}
|
||||
## 自定义链路追踪标签长度 {#customizing-tracing-tag-length}
|
||||
|
||||
默认情况下,`HttpUrl` 的 span 标签的请求最大长度为256。要修改此最大长度,请将以下内容添加到您的 `tracing.yaml` 文件中。
|
||||
默认情况下,`HttpUrl` 的 span 标签的请求最大长度为 256。要修改此最大长度,
|
||||
请将以下内容添加到您的 `tracing.yaml` 配置文件中。
|
||||
|
||||
{{< text yaml >}}
|
||||
apiVersion: install.istio.io/v1alpha1
|
||||
|
@ -163,9 +167,9 @@ spec:
|
|||
meshConfig:
|
||||
enableTracing: true
|
||||
defaultConfig:
|
||||
tracing: {} # disabled tracing options via `MeshConfig`
|
||||
tracing: {} # 通过 MeshConfig 禁用链路追踪选项
|
||||
extensionProviders:
|
||||
# add zipkin provider
|
||||
# 添加 zipkin 提供商
|
||||
- name: zipkin
|
||||
zipkin:
|
||||
service: zipkin.istio-system.svc.cluster.local
|
||||
|
@ -173,6 +177,6 @@ spec:
|
|||
maxTagLength: <VALUE>
|
||||
{{< /text >}}
|
||||
|
||||
## 验证结果{#verify-the-results}
|
||||
## 验证结果 {#verify-the-results}
|
||||
|
||||
您可以使用[Zipkin 界面](/zh/docs/tasks/observability/distributed-tracing/zipkin/)来验证结果。
|
||||
您可以使用 [Zipkin 界面](/zh/docs/tasks/observability/distributed-tracing/zipkin/)来验证结果。
|
||||
|
|
Loading…
Reference in New Issue