You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-apps/opentelemetry-agents.md
+25-12Lines changed: 25 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Learn to record and query data collected using OpenTelemetry in Azu
4
4
services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
-
ms.date: 04/28/2025
7
+
ms.date: 05/07/2025
8
8
ms.author: cshoe
9
9
ms.topic: how-to
10
10
---
@@ -43,6 +43,9 @@ The managed OpenTelemetry agent accepts the following destinations:
43
43
- Datadog
44
44
- Any OTLP endpoint (For example: New Relic or Honeycomb)
45
45
46
+
> [!NOTE]
47
+
> Microsoft provides support for data sent to Azure Monitor Application Insights. Once data is stored in any non-Microsoft system, data-related support is the responsibility of the endpoint's organization.
48
+
46
49
The following table shows you what type of data you can send to each destination:
47
50
48
51
| Destination | Logs | Metrics | Traces |
@@ -123,7 +126,7 @@ az containerapp env telemetry app-insights set \
123
126
```
124
127
125
128
>[!NOTE]
126
-
> Due to the sensitivity of the connection-string, you will not be able to see the detail values of the connection string when the command returns. The system will display it as null.
129
+
> Due to the sensitivity of the connection-string, you can't see the detail values of the connection string when the command returns. The system displays it as null.
You do not need to run the Datadog agent in your container app if you've enabled the managed OpenTelemetry agent for your environment.
167
+
You don't need to run the Datadog agent in your container app if you enable the managed OpenTelemetry agent for your environment.
165
168
166
169
The OpenTelemetry agent configuration requires a value for `site` and `key` from your Datadog instance. Gather these values from your Datadog instance according to this table:
167
170
@@ -176,7 +179,7 @@ Once you have these configuration details, you can configure the agent via your
176
179
177
180
Avoid specifying the value of a secret, such as your Datadog API key, directly in a production environment. Instead, use a reference to a secret stored in Azure Key Vault.
178
181
179
-
You must enable the key vault for template deployment. To do this, create the key vault with the `enabledForTemplateDeployment` property enabled, or run the following Azure CLI command, replacing the `<KEY_VAULT_NAME>` with your value:
182
+
You must enable the key vault for template deployment. To enable template deployment, create the key vault with the `enabledForTemplateDeployment` property enabled, or run the following Azure CLI command, replacing the `<KEY_VAULT_NAME>` with your value:
180
183
181
184
```azurecli
182
185
az keyvault update --name <KEY_VAULT_NAME> --enabled-for-template-deployment true
@@ -316,7 +319,7 @@ az containerapp env telemetry data-dog set \
316
319
```
317
320
318
321
>[!NOTE]
319
-
> Due to the sensitivity of the key, you will not be able to see the detail values of the key when the command returns. The system will display it as null.
322
+
> Due to the sensitivity of the key, you can't see the detail values of the key when the command returns. The system displays it as null.
> Due to the sensitivity of the headers value, you will not be able to see the detail values of the headers value when the command returns. The system will display them as null.
468
+
> Due to the sensitivity of the headers value, you can't see the detail values of the headers value when the command returns. The system displays them as null.
466
469
467
470
# [Terraform](#tab/terraform)
468
471
@@ -577,10 +580,10 @@ The following example ARM template shows how to use an OTLP endpoint named `cust
577
580
```
578
581
579
582
## Export system components OpenTelemetry signals
580
-
583
+
581
584
From the OpenTelemetry API version `2024-08-02-preview`, you can configure your container app environment to export system components OpenTelemetry signals to your data destinations.
582
-
583
-
Use the following configuration to export Dapr traces and Keda metrics.
585
+
586
+
Use the following configuration to export Dapr traces and KEDA metrics.
584
587
585
588
### Dapr Traces
586
589
@@ -607,9 +610,9 @@ The following example ARM template shows how to export Dapr Traces to your trace
607
610
608
611
To learn more about how to use Dapr in container apps, see [Dapr Overview](./dapr-overview.md).
609
612
610
-
### Keda Metrics
613
+
### KEDA metrics
611
614
612
-
The following example ARM template shows how to export Keda metrics to your metrics destinations.
615
+
The following example ARM template shows how to export KEDA metrics to your metrics destinations.
613
616
614
617
```json
615
618
{
@@ -774,7 +777,17 @@ See the destination service for their billing structure and terms. For example,
774
777
- OpenTelemetry agents are in preview.
775
778
- System data, such as system logs or Container Apps standard metrics, isn't available to be sent to the OpenTelemetry agent.
776
779
- The Application Insights endpoint doesn't accept metrics.
777
-
- The Datadog endpoint doesn't accept logs.
780
+
- Configuration settings live at the environment level. You can send different data types to different destinations, but you can't split up your data by app. For example, in the same app you can send metrics to Datadog, and traces to App Insights.
781
+
782
+
## Frequently asked questions
783
+
784
+
-**Do I need to reference the OpenTelemetry SDK in my code?**
785
+
786
+
Yes. The SDK creates telemetry data, and the managed agent is only responsible to route data.
787
+
788
+
-**Why does the `list` command return null?**
789
+
790
+
When you run `az containerapp env telemetry otlp list`, the response is `null` when the value is a sensitive token that needs protection.
0 commit comments