Skip to content

Commit 7804a54

Browse files
Merge pull request #299485 from craigshoemaker/aca/otel-updates
[Container Apps] Update: OTel overview
2 parents de99df7 + 1a5b68d commit 7804a54

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

articles/container-apps/opentelemetry-agents.md

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn to record and query data collected using OpenTelemetry in Azu
44
services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
7-
ms.date: 04/28/2025
7+
ms.date: 05/07/2025
88
ms.author: cshoe
99
ms.topic: how-to
1010
---
@@ -43,6 +43,9 @@ The managed OpenTelemetry agent accepts the following destinations:
4343
- Datadog
4444
- Any OTLP endpoint (For example: New Relic or Honeycomb)
4545

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+
4649
The following table shows you what type of data you can send to each destination:
4750

4851
| Destination | Logs | Metrics | Traces |
@@ -123,7 +126,7 @@ az containerapp env telemetry app-insights set \
123126
```
124127

125128
>[!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.
127130
128131
# [Terraform](#tab/terraform)
129132

@@ -161,7 +164,7 @@ resource "azapi_update_resource" "app_insights_open_telemetry_integration" {
161164

162165
## Datadog
163166

164-
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.
165168

166169
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:
167170

@@ -176,7 +179,7 @@ Once you have these configuration details, you can configure the agent via your
176179

177180
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.
178181

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:
180183

181184
```azurecli
182185
az keyvault update --name <KEY_VAULT_NAME> --enabled-for-template-deployment true
@@ -316,7 +319,7 @@ az containerapp env telemetry data-dog set \
316319
```
317320

318321
>[!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.
320323
321324
# [Terraform](#tab/terraform)
322325

@@ -462,7 +465,7 @@ az containerapp env telemetry otlp add \
462465
```
463466

464467
>[!NOTE]
465-
> 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.
466469
467470
# [Terraform](#tab/terraform)
468471

@@ -577,10 +580,10 @@ The following example ARM template shows how to use an OTLP endpoint named `cust
577580
```
578581

579582
## Export system components OpenTelemetry signals
580-
583+
581584
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.
584587

585588
### Dapr Traces
586589

@@ -607,9 +610,9 @@ The following example ARM template shows how to export Dapr Traces to your trace
607610

608611
To learn more about how to use Dapr in container apps, see [Dapr Overview](./dapr-overview.md).
609612

610-
### Keda Metrics
613+
### KEDA metrics
611614

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.
613616

614617
```json
615618
{
@@ -774,7 +777,17 @@ See the destination service for their billing structure and terms. For example,
774777
- OpenTelemetry agents are in preview.
775778
- System data, such as system logs or Container Apps standard metrics, isn't available to be sent to the OpenTelemetry agent.
776779
- 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.
778791

779792
## Next steps
780793

0 commit comments

Comments
 (0)