Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este guia mostra como configurar o Azure Container Apps para encaminhar registos, rastreamentos e métricas para o Dynatrace, utilizando o agente OpenTelemetry gerido.
Para mais informações sobre o agente OpenTelemetry gerido, consulte configurar agentes OpenTelemetry em Azure Container Apps.
O que você aprende
- Criar um token de ingestão do Dynatrace com os escopos necessários.
- Configure um destino do Protocolo Dynatrace OpenTelemetry (OTLP) usando o Bicep ou o portal Azure.
- Configure as variáveis de ambiente da aplicação necessárias para exportação de métricas.
- Aplique atualizações de configuração ao seu ambiente e aplicação Container Apps existentes.
- Verifique a telemetria no Dynatrace.
Pré-requisitos
- Uma subscrição do Azure onde podes criar grupos de recursos e implementar recursos do Azure Container Apps.
- Um ambiente SaaS da Dynarace.
- CLI do Azure instalado e autenticado.
- Extensão da CLI do Azure Container Apps instalada.
az extension add --name containerapp --upgrade
Criar um token de ingestão Dynatrace
Crie um token API Dynatrace com estes escopos:
logs.ingestmetrics.ingestopenTelemetryTrace.ingest
Para os passos de criação do token e detalhes de permissões, consulte as orientações de autenticação OTLP do Dynatrace.
Configurar os destinos do OpenTelemetry
Use uma das seguintes opções para configurar o Dynatrace como um endpoint OpenTelemetry no seu ambiente Container Apps.
Importante
Configurar um destino OpenTelemetry gerido não produz automaticamente telemetria. A sua aplicação também deve ser instrumentada para emitir traços, métricas e logs usando um SDK OpenTelemetry.
Defina variáveis CLI para o comando de deployment:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$DYNATRACE_OTLP_ENDPOINT = "https://<TENANT>.live.dynatrace.com/api/v2/otlp"
$DYNATRACE_API_TOKEN = "<DYNATRACE_INGEST_TOKEN>"
Use apenas o endpoint base OTLP (/api/v2/otlp). Não adicione /v1/traces, /v1/metrics, ou /v1/logs; o agente gerido adiciona caminhos de sinal automaticamente.
var dynatraceEndpoint = 'https://<TENANT>.live.dynatrace.com/api/v2/otlp'
var dynatraceApiKey = '<DYNATRACE_INGEST_TOKEN>'
var dynatraceAuthHeader = 'Api-Token ${dynatraceApiKey}'
var dynatraceOtlpDestinationName = 'dynatrace-otlp'
resource environment 'Microsoft.App/managedEnvironments@2026-03-02-preview' = {
name: '<managed-environment-name>'
location: '<region>'
properties: {
openTelemetryConfiguration: {
destinationsConfiguration: {
otlpConfigurations: [
{
name: dynatraceOtlpDestinationName
endpoint: dynatraceEndpoint
protocol: 'http'
insecure: false
headers: [
{
key: 'Authorization'
value: dynatraceAuthHeader
}
]
}
]
}
tracesConfiguration: {
destinations: [
dynatraceOtlpDestinationName
]
}
logsConfiguration: {
destinations: [
dynatraceOtlpDestinationName
]
}
metricsConfiguration: {
destinations: [
dynatraceOtlpDestinationName
]
}
}
}
}
Para definir as variáveis de ambiente necessárias, use um bloco de recurso de aplicação contentor como o seguinte exemplo:
resource app 'Microsoft.App/containerApps@2023-05-01' = {
name: '<CONTAINER_APP_NAME>'
location: '<REGION>'
properties: {
managedEnvironmentId: environment.id
template: {
containers: [
{
name: '<CONTAINER_NAME>'
image: '<IMAGE_NAME>'
env: [
{
name: 'OTEL_SERVICE_NAME'
value: '<SERVICE_NAME>'
}
{
name: 'OTEL_TRACES_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_METRICS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_LOGS_EXPORTER'
value: 'otlp'
}
{
name: 'OTEL_EXPORTER_OTLP_METRICS_PROTOCOL'
value: 'http/protobuf'
}
{
name: 'OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE'
value: 'DELTA'
}
]
}
]
}
}
}
O Dynatrace exige OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA para ingerir métricas.
Para implementações em produção, passar os valores dos tokens através de parâmetros seguros do Bicep ou Key Vault em vez de codificar segredos de forma rígida.
Depois de atualizar o modelo, implemente a configuração do Bicep a partir da raiz do repositório:
az deployment group create `
--resource-group $RESOURCE_GROUP `
--template-file infra/main.bicep `
--parameters @infra/main.parameters.json `
dynatraceEndpoint="$DYNATRACE_OTLP_ENDPOINT" `
dynatraceApiKey="$DYNATRACE_API_TOKEN"
Use os mesmos valores de endpoint e token apresentados anteriormente neste guia, incluindo o formato base de endpoint OTLP.
A sua aplicação container está agora configurada para enviar telemetria para a Dynatrace.
Verificar os dados do OpenTelemetry no Dynatrace
Depois de concluir a configuração, a sua aplicação Container deverá começar a enviar telemetria para a Dynatrace através do agente gerido OpenTelemetry. A forma mais rápida de confirmar que métricas, registos e rastreios estão todos a chegar da sua aplicação é abrir a aplicação de Serviços no Dynatrace. A aplicação de Serviços disponibiliza um único ecrã onde pode validar os três sinais de telemetria do seu serviço num só local.
Para verificar a sua telemetria:
- Abra a aplicação de Serviços no Dynatrace.
- Localize o seu serviço Container App e confirme se estão presentes métricas, registos e traços para o contexto esperado do serviço ou ambiente.
Se precisares de contexto sobre como os dados da OpenTelemetry são incorporados no Dynatrace, consulta o guia de início da OpenTelemetry.
Se a telemetria estiver em falta ou não aparecer como esperado, consulte o guia de resolução de problemas do OpenTelemetry.