dapr仅支持otel和zipkin格式的链路追踪数据,所以想要接入skywalking的话,需要打开skywalking的zipkin功能(9.6.0支持otel了),然后dapr上报zipkin到skywalking的zipkin receiver
安装skywalking
1. 设置变量
export SKYWALKING_RELEASE_NAME=skywalking
export SKYWALKING_RELEASE_VERSION=4.5.0
export SKYWALKING_RELEASE_NAMESPACE=skywalking
2. 由于使用yaml部署,需要一个额外的配置文件(values.yaml)
oap:
image:
tag: 9.5.0
storageType: elasticsearch
persistence:
enabled: true
ports:
zipkinreceiver: 9411
zipkinquery: 9412
elasticsearch:
persistence:
enabled: true
ui:
image:
tag: 9.5.0
3. helm安装skywalking
# 拉取chart配置
helm pull --untar "${SKYWALKING_RELEASE_NAME}" oci://registry-1.docker.io/apache/skywalking-helm --version "${SKYWALKING_RELEASE_VERSION}" -n "${SKYWALKING_RELEASE_NAMESPACE}"
# 安装
helm install skywalking ./skywalking-helm -f values.yaml
4. 发现即使在yaml中增加了zipkinreceiver和zipkinquery但是还是不会加入相应的环境变量,所以需要手动加入
# 设置oap环境变量
kubectl set env deployment/skywalking-skywalking-helm-oap SW_RECEIVER_ZIPKIN=default SW_RECEIVER_ZIPKIN_REST_PORT=9411 SW_QUERY_ZIPKIN=default SW_QUERY_ZIPKIN_REST_PORT=9412
# 设置ui环境变量
kubectl set env deployment/skywalking-skywalking-helm-ui SW_OAP_ADDRESS=http://skywalking-skywalking-helm-oap:12800 SW_ZIPKIN_ADDRESS=http://skywalking-skywalking-helm-oap:9412
接入Skywalking
修改相应服务的configuration配置
kind: Configuration
spec:
tracing:
samplingRate: "1"
zipkin:
endpointAddress: http://skywalking-skywalking-helm-oap.skywalking:9411/api/v2/spans
在skywalking ui上查询zipkin数据