Export dat OpenTelemetry do služby Datadog v Azure Container Apps

Tato příručka ukazuje, jak nakonfigurovat Azure Container Apps pro předávání protokolů, trasování a metrik do služby Datadog pomocí spravovaného agenta OpenTelemetry.

Další informace o spravovaném agentovi OpenTelemetry najdete v tématu Set up OpenTelemetry agents in Azure Container Apps.

Co se naučíte

  • Vytvořte klíč rozhraní API služby Datadog pro příjem telemetrie.
  • Nakonfigurujte cíl služby Datadog v prostředí Container Apps pomocí Bicep, Azure CLI nebo portálu Azure.
  • Použijte aktualizace konfigurace pro stávající prostředí a aplikaci Container Apps.
  • Ověřte telemetrii ve službě Datadog.

Předpoklady

  • Předplatné Azure, ve kterém můžete vytvářet skupiny prostředků a nasazovat prostředky služby Azure Container Apps.
  • Prostředí Datadog a API klíč.
  • Azure CLI nainstalované a přihlášené.
  • Rozšíření rozhraní příkazového řádku pro Azure Container Apps je nainstalované.
az extension add --name containerapp --upgrade

Vytvoření klíče rozhraní API služby Datadog

Vytvořte klíč rozhraní API služby Datadog s oprávněními, která umožňují ingestování telemetrie.

Potřebujete následující hodnoty služby Datadog pro konfiguraci OTel spravované službou Container Apps:

  • site (úplná hodnota webu Datadog, například: datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu)
  • key (Klíč rozhraní API služby Datadog)

Informace o vytváření a správě klíčů Datadog najdete v tématu Rozhraní API služby Datadog a klíče aplikací.

Konfigurace cílů OpenTelemetry

Pomocí jedné z následujících možností nakonfigurujte službu Datadog jako cíl OpenTelemetry v prostředí Container Apps.

Important

Konfigurace spravovaného cíle OpenTelemetry automaticky nevede k vytváření telemetrie. Vaše aplikace musí být také instrumentována k odesílání tras, metrik a logů pomocí sady SDK OpenTelemetry.

Nastavte proměnné CLI pro příkaz pro nasazení:

$RESOURCE_GROUP = "<resource-group-name>"
$DATADOG_SITE = "<datadog-site>" # Example: us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu
$DATADOG_API_KEY = ""
$IMAGE = ""
$ACR_USERNAME = ""
$ACR_PASSWORD = ""

Použijte blok prostředků spravovaného prostředí jako v následujícím příkladu:

param datadogSite string
@secure()
param datadogApiKey string

var datadogDestinationName = 'dataDog'

resource environment 'Microsoft.App/managedEnvironments@2024-10-02-preview' = {
  name: ''
  location: ''
  properties: {
    openTelemetryConfiguration: {
      destinationsConfiguration: {
        dataDogConfiguration: {
          site: datadogSite
          key: datadogApiKey
        }
      }
      tracesConfiguration: {
        destinations: [
          datadogDestinationName
        ]
      }
      logsConfiguration: {
        destinations: [
          datadogDestinationName
        ]
      }
      metricsConfiguration: {
        destinations: [
          datadogDestinationName
        ]
      }
    }
  }
}

K nastavení požadovaných proměnných prostředí použijte blok prostředků kontejnerové aplikace jako v následujícím příkladu:

resource app 'Microsoft.App/containerApps@2024-10-02-preview' = {
  name: ''
  location: ''
  properties: {
    managedEnvironmentId: environment.id
    template: {
      containers: [
        {
          name: ''
          image: ''
          env: [
            {
              name: 'OTEL_SERVICE_NAME'
              value: ''
            }
            {
              name: 'OTEL_TRACES_EXPORTER'
              value: 'otlp'
            }
            {
              name: 'OTEL_METRICS_EXPORTER'
              value: 'otlp'
            }
            {
              name: 'OTEL_LOGS_EXPORTER'
              value: 'otlp'
            }
            {
              name: 'OTEL_EXPORTER_OTLP_PROTOCOL'
              value: 'grpc'
            }
          ]
        }
      ]
    }
  }
}

Pro produkční nasazení předávejte hodnoty tokenů prostřednictvím zabezpečených parametrů v Bicepu nebo služby Key Vault namísto pevného zakódování tajných údajů.

Po aktualizaci šablony nasaďte konfiguraci Bicep z kořenového adresáře úložiště:

az deployment group create `
  --resource-group $RESOURCE_GROUP `
  --template-file infra/main.bicep `
  --parameters @infra/main.parameters.json `
  image=$IMAGE `
  acrUsername=$ACR_USERNAME `
  acrPassword=$ACR_PASSWORD `
  datadogSite="$DATADOG_SITE" `
  datadogApiKey="$DATADOG_API_KEY"

Vaše aplikace kontejneru je teď nakonfigurovaná tak, aby odesílala telemetrická data do služby Datadog prostřednictvím spravovaného agenta OpenTelemetry.

Ověření dat OpenTelemetry v Datadogu

Po dokončení konfigurace začne aplikace kontejneru odesílat telemetrii do služby Datadog prostřednictvím spravovaného agenta OpenTelemetry. Pomocí služby Datadog ověřte, že protokoly, trasování a metriky přicházejí z aplikace a že se data zobrazují v očekávaném kontextu služby a prostředí.

Ověřte výsledky kontrolou nástrojů Datadog, jako je zkoumání protokolů, distribuované trasování a vyhledávání metrik. Přesný dotaz nebo navigační cesta se liší v závislosti na kontrolovaných datech.

Další informace o zkoumání dat v datadogu najdete v tématu Pozorovatelnost a telemetrie služby Datadog.