OpenTelemetry verilerini Azure Container Apps'da Dynatrace'a aktarma

Bu kılavuzda, yönetilen OpenTelemetry aracısını kullanarak günlükleri, izlemeleri ve ölçümleri Dynatrace'a iletmek için Azure Container Apps yapılandırma işlemi gösterilmektedir.

Yönetilen OpenTelemetry aracısı hakkında daha fazla bilgi için Azure Container Apps'te OpenTelemetry aracılarını ayarlama konusuna bakın.

Öğrendikleriniz

  • Gerekli kapsamlara sahip bir Dynatrace veri alımı belirteci oluşturun.
  • Bicep veya Azure portalını kullanarak Dynatrace OpenTelemetry Protocol (OTLP) hedefi yapılandırın.
  • Ölçüm dışarı aktarma için gerekli uygulama ortamı değişkenlerini yapılandırın.
  • Yapılandırma güncelleştirmelerini mevcut Container Apps ortamınıza ve uygulamanıza uygulayın.
  • Dynatrace'de telemetriyi doğrulayın.

Prerequisites

  • Kaynak grupları oluşturabileceğiniz ve Azure Container Apps kaynakları dağıtabileceğiniz bir Azure aboneliği.
  • Dynatrace SaaS ortamı.
  • Azure CLI yüklendi ve oturum açtı.
  • Azure Container Apps CLI uzantısı yüklü.
az extension add --name containerapp --upgrade

Dynatrace veri alma belirteci oluşturun

Şu kapsamlara sahip bir Dynatrace API belirteci oluşturun:

  • logs.ingest
  • metrics.ingest
  • openTelemetryTrace.ingest

Belirteç oluşturma adımları ve izin ayrıntıları için bkz . Dynatrace OTLP kimlik doğrulaması kılavuzu.

OpenTelemetry hedeflerini yapılandırma

Dynatrace'i Container Apps ortamınızda OpenTelemetry uç noktası olarak yapılandırmak için aşağıdaki seçeneklerden birini kullanın.

Important

Yönetilen bir OpenTelemetry hedefini yapılandırmak otomatik olarak telemetri üretmez. Uygulamanızın ayrıca, bir OpenTelemetry SDK’sı kullanarak izler, metrikler ve günlükler üretecek şekilde araçlandırılması gerekir.

Dağıtım komutu için CLI değişkenlerini ayarlayın:

$RESOURCE_GROUP = "<RESOURCE_GROUP_NAME>"
$DYNATRACE_OTLP_ENDPOINT = "https://<TENANT>.live.dynatrace.com/api/v2/otlp"
$DYNATRACE_API_TOKEN = "<DYNATRACE_INGEST_TOKEN>"

Yalnızca OTLP temel uç noktasını (/api/v2/otlp ) kullanın. /v1/traces, /v1/metrics veya /v1/logs eklemeyin; yönetilen aracı uygulama sinyal yollarını otomatik olarak ekler.

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
        ]
      }
    }
  }
}

Gerekli ortam değişkenlerini ayarlamak için aşağıdaki örneğe benzer bir kapsayıcı uygulaması kaynak bloğu kullanın:

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, metrikleri içe aktarmak için OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=DELTA gerektirir.

Üretim dağıtımlarında, gizli bilgileri sabit olarak koda gömmek yerine belirteç değerlerini güvenli Bicep parametreleri veya Key Vault aracılığıyla iletin.

Şablonu güncelledikten sonra Bicep yapılandırmasını depo kök dizininden dağıtın:

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"

OtLP temel uç nokta biçimi de dahil olmak üzere bu kılavuzun önceki bölümlerinde gösterilen aynı uç nokta ve belirteç değerlerini kullanın.

Kapsayıcı uygulamanız artık Dynatrace'e telemetri gönderecek şekilde yapılandırıldı.

Dynatrace'te OpenTelemetry verilerini doğrulama

Yapılandırmayı tamamladıktan sonra Kapsayıcı Uygulamanızın yönetilen OpenTelemetry aracısı aracılığıyla Dynatrace'a telemetri göndermeye başlaması gerekir. Ölçümlerin, günlüklerin ve izlemelerin uygulamanızdan geldiğini doğrulamanın en hızlı yolu , Hizmetler uygulamasını Dynatrace'te açmaktır. Hizmetler uygulaması, hizmetiniz için üç telemetri sinyalinin tümünü tek bir yerde doğrulayabileceğiniz tek bir ekran sağlar.

Telemetrinizi doğrulamak için:

  1. Dynatrace'de Hizmetler uygulamasını açın.
  2. Container App service'inizi bulun ve beklenen hizmet veya ortam bağlamı için ölçümlerin, günlüklerin ve izlemelerin mevcut olduğunu onaylayın.

OpenTelemetry verilerinin Dynatrace'a nasıl alınıp alınmadığını öğrenmek için bkz. OpenTelemetry kullanmaya başlama kılavuzu.

Telemetri eksikse veya beklendiği gibi görünmüyorsa OpenTelemetry sorun giderme kılavuzuna bakın.