Dapr 使用 Zipkin API 集成了 OpenTelemetry (OTEL) Collector。本指南演示了如何通过 Dapr 使用 OpenTelemetry Collector 将跟踪事件推送到 Azure 应用程序洞察。
要将事件推送到你的应用程序洞察实例,请在 Kubernetes 集群中安装 OTEL Collector。
用你的应用程序洞察仪器密钥替换 <INSTRUMENTATION-KEY>
占位符。
使用以下命令应用配置:
kubectl apply -f open-telemetry-collector-appinsights.yaml
创建一个 Dapr 配置文件以启用跟踪,并部署一个使用 OpenTelemetry Collector 的跟踪导出组件。
使用此 collector-config.yaml
文件创建你自己的配置。
使用以下命令应用配置:
kubectl apply -f collector-config.yaml
在你希望参与分布式跟踪的容器中添加 dapr.io/config
注解以应用 appconfig
配置,如下例所示:
apiVersion: apps/v1
kind: Deployment
metadata:
...
spec:
...
template:
metadata:
...
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "MyApp"
dapr.io/app-port: "8080"
dapr.io/config: "appconfig"
你可以同时注册多个跟踪导出器,跟踪日志会被转发到所有注册的导出器。
就是这样!无需包含任何 SDK 或对你的应用程序代码进行额外的修改。Dapr 会自动为你处理分布式跟踪。
部署并运行一些应用程序。几分钟后,你应该会在你的应用程序洞察资源中看到跟踪日志。你还可以使用 应用程序地图 来检查你的服务拓扑,如下所示: