Using OpenTelemetry Collector to collect traces to send to App Insights
How to push trace events to Azure Application Insights, using the OpenTelemetry Collector.
Dapr integrates with OpenTelemetry (OTEL) Collector using the Zipkin API. This guide walks through an example using Dapr to push trace events to Azure Application Insights, using the OpenTelemetry Collector.
Prerequisites
- Install Dapr on Kubernetes
- Set up an App Insights resource and make note of your App Insights instrumentation key.
Set up OTEL Collector to push to your App Insights instance
To push events to your App Insights instance, install the OTEL Collector to your Kubernetes cluster.
Check out the open-telemetry-collector-appinsights.yaml file.
Replace the
<INSTRUMENTATION-KEY>
placeholder with your App Insights instrumentation key.Apply the configuration with:
kubectl apply -f open-telemetry-collector-appinsights.yaml
Set up Dapr to send trace to OTEL Collector
Set up a Dapr configuration file to turn on tracing and deploy a tracing exporter component that uses the OpenTelemetry Collector.
Use this collector-config.yaml file to create your own configuration.
Apply the configuration with:
kubectl apply -f collector-config.yaml
Deploy your app with tracing
Apply the appconfig
configuration by adding a dapr.io/config
annotation to the container that you want to participate in the distributed tracing, as shown in the following example:
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"
Note
If you are using one of the Dapr tutorials, such as distributed calculator, the appconfig
configuration is already configured, so no additional settings are needed.
You can register multiple tracing exporters at the same time, and the tracing logs are forwarded to all registered exporters.
That’s it! There’s no need to include any SDKs or instrument your application code. Dapr automatically handles the distributed tracing for you.
View traces
Deploy and run some applications. After a few minutes, you should see tracing logs appearing in your App Insights resource. You can also use the Application Map to examine the topology of your services, as shown below:
Note
Only operations going through Dapr API exposed by Dapr sidecar (for example, service invocation or event publishing) are displayed in Application Map topology.
Related links
- Try out the observability quickstart
- Learn how to set tracing configuration options
Last modified March 21, 2024: Merge pull request #4082 from newbe36524/v1.13 (f4b0938)