Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak skonfigurować Azure Container Apps do przekazywania dzienników, śladów i metryk do rozwiązania Dynatrace przy użyciu zarządzanego agenta OpenTelemetry.
Aby uzyskać więcej informacji na temat zarządzanego agenta OpenTelemetry, zobacz
Czego się uczysz
- Utwórz token Dynatrace do przesyłania danych z wymaganymi uprawnieniami.
- Skonfiguruj miejsce docelowe protokołu OpenTelemetry (OTLP) w usłudze Dynatrace przy użyciu narzędzia Bicep lub portalu Azure.
- Skonfiguruj wymagane zmienne środowiskowe aplikacji na potrzeby eksportowania metryk.
- Zastosuj aktualizacje konfiguracji do istniejącego środowiska i aplikacji usługi Container Apps.
- Zweryfikuj dane telemetryczne w aplikacji Dynatrace.
Wymagania wstępne
- Subskrypcja Azure, w której można tworzyć grupy zasobów i wdrażać zasoby Azure Container Apps.
- Środowisko Dynatrace SaaS.
- Azure CLI zainstalowane i zalogowane.
- Zainstalowano rozszerzenie interfejsu wiersza polecenia Azure Container Apps.
az extension add --name containerapp --upgrade
Utwórz token ingestu Dynatrace
Utwórz token interfejsu API Dynatrace z następującymi zakresami:
logs.ingestmetrics.ingestopenTelemetryTrace.ingest
Aby uzyskać szczegółowe informacje na temat kroków tworzenia tokenów i uprawnień, zobacz Dynatrace OTLP authentication guidance (Wskazówki dotyczące uwierzytelniania Dynatrace OTLP).
Konfigurowanie miejsc docelowych OpenTelemetry
Użyj jednej z poniższych opcji, aby skonfigurować aplikację Dynatrace jako punkt końcowy OpenTelemetry w środowisku usługi Container Apps.
Ważna
Skonfigurowanie zarządzanego miejsca docelowego OpenTelemetry nie powoduje automatycznego generowania danych telemetrycznych. Aplikacja musi być również wyposażona w instrumentację umożliwiającą wysyłanie śladów, metryk i logów przy użyciu pakietu SDK OpenTelemetry.
Ustaw zmienne interfejsu wiersza polecenia dla polecenia wdrożenia:
$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$DYNATRACE_OTLP_ENDPOINT = "https://<TENANT>.live.dynatrace.com/api/v2/otlp"
$DYNATRACE_API_TOKEN = "<DYNATRACE_INGEST_TOKEN>"
Użyj tylko podstawowego punktu końcowego OTLP (/api/v2/otlp). Nie dodawaj /v1/traces, /v1/metrics ani /v1/logs; zarządzany agent automatycznie dodaje ścieżki sygnału.
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
]
}
}
}
}
Aby ustawić wymagane zmienne środowiskowe, użyj bloku zasobów aplikacji kontenera, jak w poniższym przykładzie:
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 wymaga OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA, aby pozyskiwać metryki.
W przypadku wdrożeń produkcyjnych przekaż wartości tokenów za pośrednictwem bezpiecznych parametrów Bicep lub Key Vault zamiast trwale zakodowanych wpisów tajnych.
Po zaktualizowaniu szablonu wdróż konfigurację Bicep z katalogu głównego repozytorium:
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"
Użyj tych samych wartości punktu końcowego i tokenu pokazanych wcześniej w tym przewodniku, w tym podstawowego formatu punktu końcowego OTLP.
Aplikacja kontenera jest teraz skonfigurowana do wysyłania danych telemetrycznych do aplikacji Dynatrace.
Weryfikowanie danych OpenTelemetry w rozwiązaniu Dynatrace
Po zakończeniu konfiguracji aplikacja kontenera powinna rozpocząć wysyłanie danych telemetrycznych do rozwiązania Dynatrace za pośrednictwem zarządzanego agenta OpenTelemetry. Najszybszym sposobem potwierdzenia, że metryki, dzienniki i ślady docierają z aplikacji, jest otwarcie aplikacji Usługi w aplikacji Dynatrace. Aplikacja Usługi udostępnia jeden ekran, na którym można zweryfikować wszystkie trzy sygnały telemetryczne dla usługi w jednym miejscu.
Aby zweryfikować dane telemetryczne:
- Otwórz aplikację Usługi w aplikacji Dynatrace.
- Znajdź usługę Container App i potwierdź, że metryki, dzienniki i ślady są dostępne dla oczekiwanej usługi lub środowiska.
Jeśli potrzebujesz informacji o tym, jak dane OpenTelemetry są importowane do Dynatrace, zobacz przewodnik Wprowadzenie do OpenTelemetry.
Jeśli brakuje telemetrii lub nie jest wyświetlana zgodnie z oczekiwaniami, zobacz przewodnik rozwiązywania problemów z funkcją OpenTelemetry.