Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här guiden visar hur du konfigurerar Azure Container Apps att vidarebefordra loggar, spårningar och mått till Dynatrace med hjälp av den hanterade OpenTelemetry-agenten.
Mer information om den hanterade OpenTelemetry-agenten finns i Set up OpenTelemetry agents in Azure Container Apps.
Det här lär du dig
- Skapa en Dynatrace-intagstoken med de nödvändiga behörigheterna.
- Konfigurera ett Dynatrace OpenTelemetry Protocol-mål (OTLP) med hjälp av Bicep eller Azure-portalen.
- Konfigurera nödvändiga appmiljövariabler för måttexport.
- Tillämpa konfigurationsuppdateringar på din befintliga Container Apps-miljö och -app.
- Kontrollera telemetrin i Dynatrace.
Förutsättningar
- En Azure-prenumeration där du kan skapa resursgrupper och distribuera Azure Container Apps resurser.
- En Dynatrace SaaS-miljö.
- Azure CLI installerat och loggat in.
- Azure Container Apps CLI-tillägget installerat.
az extension add --name containerapp --upgrade
Skapa en Dynatrace-intagstoken
Skapa en Dynatrace API-token med följande omfång:
logs.ingestmetrics.ingestopenTelemetryTrace.ingest
Information om hur du skapar token och behörighetsinformation finns i Vägledning för Dynatrace OTLP-autentisering.
Konfigurera OpenTelemetry-mål
Använd något av följande alternativ för att konfigurera Dynatrace som en OpenTelemetry-slutpunkt i containerappmiljön.
Important
När du konfigurerar ett hanterat OpenTelemetry-mål genereras inte telemetri automatiskt. Ditt program måste också instrumenteras för att generera spårningar, mått och loggar med hjälp av en OpenTelemetry SDK.
Ange CLI-variabler för distributionskommandot:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$DYNATRACE_OTLP_ENDPOINT = "https://<TENANT>.live.dynatrace.com/api/v2/otlp"
$DYNATRACE_API_TOKEN = "<DYNATRACE_INGEST_TOKEN>"
Använd endast OTLP-basslutpunkten (/api/v2/otlp). Lägg inte till /v1/traces, /v1/metricseller /v1/logs; den hanterade agenten lägger till signalsökvägar automatiskt.
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
]
}
}
}
}
Om du vill ange nödvändiga miljövariabler använder du ett containerappresursblock som i följande exempel:
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'
}
]
}
]
}
}
}
Dynatrace kräver OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA för att importera mätvärden.
För produktionsdriftsättningar anger du tokenvärden via säkra Bicep-parametrar eller Key Vault i stället för att hårdkoda hemligheter.
När du har uppdaterat mallen distribuerar du Bicep konfigurationen från lagringsplatsens rot:
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"
Använd samma slutpunkts- och tokenvärden som visades tidigare i den här guiden, inklusive OTLP-basslutpunktsformatet.
Containerappen är nu konfigurerad för att skicka telemetri till Dynatrace.
Kontrollera OpenTelemetry-data i Dynatrace
När du har slutfört konfigurationen bör containerappen börja skicka telemetri till Dynatrace via den hanterade OpenTelemetry-agenten. Det snabbaste sättet att bekräfta att mått, loggar och spårningar alla kommer från ditt program är att öppna services-appen i Dynatrace. Appen Services innehåller en enda skärm där du kan verifiera alla tre telemetrisignalerna för din tjänst på ett och samma ställe.
Så här verifierar du telemetrin:
- Öppna appen Services i Dynatrace.
- Leta upp containerapptjänsten och bekräfta att mått, loggar och spårningar finns för den förväntade tjänst- eller miljökontexten.
Om du behöver bakgrund om hur OpenTelemetry-data matas in i Dynatrace kan du läsa guiden Komma igång med OpenTelemetry.
Om telemetri saknas eller inte visas som förväntat kan du läsa felsökningsguiden för OpenTelemetry.