使用 MeshConfig 和 Pod 注解配置跟踪
Istio 提供了配置高级跟踪选项的功能,例如采样率和向报告的跨度添加自定义标签。采样是一个 Beta 功能,但添加自定义标签和跟踪标签长度在此版本中被认为是开发中的功能。
开始之前
可用的跟踪配置
您可以在 Istio 中配置以下跟踪选项
随机采样率,用于选择将生成跟踪的请求的百分比。
请求路径的最大长度,超过此长度将截断路径以进行报告。这在限制跟踪数据存储方面很有用,尤其是在您在入口网关收集跟踪时。
在跨度中添加自定义标签。这些标签可以根据静态字面值、环境值或请求头中的字段添加。这可以用于在特定于您的环境的跨度中注入其他信息。
您可以通过两种方式配置跟踪选项
通过
MeshConfig
选项全局配置。针对工作负载特定自定义的每个 Pod 注解。
安装
使用这些功能为在您的环境中管理跟踪打开了新的可能性。
在此示例中,我们将对所有跟踪进行采样,并使用注入到您的 Pod 中的ISTIO_META_CLUSTER_ID
环境变量添加名为clusterID
的标签。仅使用该值的最初 256 个字符。
使用 MeshConfig
进行跟踪设置
所有跟踪选项都可以通过MeshConfig
全局配置。为了简化配置,建议创建一个单一的 YAML 文件,您可以将其传递给istioctl install -f
命令。
使用proxy.istio.io/config
注解配置跟踪设置
您可以将proxy.istio.io/config
注解添加到您的 Pod 元数据规范中,以覆盖任何网格范围的跟踪设置。例如,要修改与 Istio 一起提供的curl
部署,您需要将以下内容添加到samples/curl/curl.yaml
中
自定义跟踪采样
采样率选项可用于控制向跟踪系统报告的请求百分比。应根据网格中的流量和您想要收集的跟踪数据量来配置此选项。默认速率为 1%。
要将默认随机采样修改为 50,请将以下选项添加到您的tracing.yaml
文件中。
采样率应在 0.0 到 100.0 之间,精度为 0.01。例如,要跟踪每 10000 个请求中的 5 个请求,请在此处使用 0.05 作为值。
自定义跟踪标签
可以根据字面量、环境变量和客户端请求头向跨度添加自定义标签,以便在特定于您环境的跨度中提供其他信息。
您可以使用以下三个支持的选项中的任何一个自定义标签。
字面量表示添加到每个跨度的静态值。
环境变量可用于从工作负载代理环境变量填充自定义标签的值。
客户端请求头选项可用于从传入的客户端请求头填充标签值。
自定义跟踪标签长度
默认情况下,作为HttpUrl
跨度标签的一部分包含的请求路径的最大长度为 256。要修改此最大长度,请将以下内容添加到您的tracing.yaml
文件中。