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。