8.5.1 Istio跟踪采样率

Istio默认并不会捕获所有请求的追踪信息,默认采样率为1%。可以按照以下几种方式之一来修改跟踪采样百分比:

·在安装网格时,使用pilot.traceSampling Helm选项来设置追踪采样百分比。请查看Helm安装文档获取配置选项的详细信息。

·在一个运行中的网格中,如果是通过Helm安装的Istio,则可以修改Helm release中的参数值pilot.traceSampling来设置追踪采样百分比。

·在一个运行中的网格中,编辑istio-pilot deployment,通过下列步骤改变环境变量。首先运行以下命令打来文本编辑器并加载deployment配置文件:


$ kubectl -n istio-system edit deploy istio-pilot

可以看到如下类似的YAML定义,找到名称为PILOT_TRACE_SAMPLING的环境变量并修改value为期望的百分比:


containers:
  - name: discovery
    image: "docker.io/istio/pilot:1.4.2"
    imagePullPolicy: IfNotPresent
    args:
    - "discovery"
    - --monitoringAddr=:15014
    - --log_output_level=default:info
    - --domain
    - cluster.local
    - --secureGrpcAddr
    - ""
    - --keepaliveMaxServerConnectionAge
    - "30m"
    ports:
    - containerPort: 8080
    - containerPort: 15010
    readinessProbe:
      httpGet:
        path: /ready
        port: 8080
      initialDelaySeconds: 5
      periodSeconds: 5
      timeoutSeconds: 5
    env:
    - name: POD_NAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.name
    - name: POD_NAMESPACE
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.namespace
    - name: PILOT_PUSH_THROTTLE
      value: "100"
    - name: PILOT_TRACE_SAMPLING
      value: "100"

请注意,无论在哪种情况下,采样率的有效值都是0.0到100.0,精度为0.01。