Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Handbuch wird gezeigt, wie Sie Azure Container Apps so konfigurieren, dass Protokolle, Ablaufverfolgungen und Metriken mithilfe des verwalteten OpenTelemetry-Agents an Datadog weitergeleitet werden.
Weitere Informationen zum verwalteten OpenTelemetry-Agent finden Sie unter Set up OpenTelemetry agents in Azure Container Apps.
Was Sie lernen
- Erstellen Sie einen Datadog-API-Schlüssel für die Telemetrieerfassung.
- Konfigurieren Sie ein Datadog-Ziel in Ihrer Container-Apps-Umgebung mithilfe von Bicep, Azure CLI oder dem Azure-Portal.
- Wenden Sie Konfigurationsupdates auf Ihre vorhandene Container-Apps-Umgebung und -App an.
- Telemetriedaten in Datadog überprüfen.
Voraussetzungen
- Ein Azure-Abonnement, in dem Sie Ressourcengruppen erstellen und Azure Container Apps Ressourcen bereitstellen können.
- Eine Datadog-Umgebung und ein API-Schlüssel.
- Azure CLI installiert und angemeldet.
- Azure Container Apps CLI-Erweiterung installiert.
az extension add --name containerapp --upgrade
Erstellen eines Datadog-API-Schlüssels
Erstellen Sie einen Datadog-API-Schlüssel mit Berechtigungen, mit denen Telemetriedaten aufgenommen werden können.
Sie benötigen die folgenden Datadog-Werte für die verwaltete OTel-Konfiguration von Container-Apps:
-
site(vollständiger Wert der Datadog-Website, zum Beispiel:datadoghq.com,us3.datadoghq.com,us5.datadoghq.com,datadoghq.eu) -
key(Datadog-API-Schlüssel)
Informationen zur Erstellung und Verwaltung von Datadog-Schlüsseln finden Sie unter Datadog-API und Anwendungsschlüssel.
Konfigurieren von OpenTelemetry-Zielen
Verwenden Sie eine der folgenden Optionen, um Datadog als OpenTelemetry-Ziel in Ihrer Container-Apps-Umgebung zu konfigurieren.
Important
Das Konfigurieren eines verwalteten OpenTelemetry-Ziels erzeugt nicht automatisch Telemetrie. Ihre Anwendung muss außerdem mit einem OpenTelemetry-SDK instrumentiert werden, um Ablaufverfolgungsdaten, Metriken und Protokolle auszugeben.
Festlegen von CLI-Variablen für den Bereitstellungsbefehl:
$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 = ""
Verwenden Sie einen Ressourcenblock für verwaltete Umgebungen wie das folgende Beispiel:
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
]
}
}
}
}
Verwenden Sie einen Container-App-Ressourcenblock wie das folgende Beispiel, um erforderliche Umgebungsvariablen festzulegen:
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'
}
]
}
]
}
}
}
Für Produktionsbereitstellungen übergeben Sie Tokenwerte über sichere Bicep-Parameter oder den Schlüsseltresor, anstatt Geheimnisse fest im Code zu hinterlegen.
Nachdem Sie die Vorlage aktualisiert haben, stellen Sie die Bicep-Konfiguration im Stammverzeichnis des Repositorys bereit:
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"
Ihre Container-App ist jetzt so konfiguriert, dass Telemetrie über den verwalteten OpenTelemetry-Agent an Datadog gesendet wird.
Überprüfen von OpenTelemetry-Daten in Datadog
Nachdem Sie die Konfiguration abgeschlossen haben, sendet Ihre Container-App über den verwalteten OpenTelemetry-Agent Telemetrie an Datadog. Verwenden Sie Datadog, um zu bestätigen, dass Protokolle, Ablaufverfolgungen und Metriken aus der Anwendung stammen und dass die Daten unter dem erwarteten Dienst- und Umgebungskontext angezeigt werden.
Überprüfen Sie die Ergebnisse, indem Sie Datadog-Tools wie Log-Exploration, verteilte Ablaufverfolgung und Metriksuche überprüfen. Der genaue Abfrage- oder Navigationspfad variiert je nach überprüften Daten.
Weitere Informationen zur Datensuche in Datadog finden Sie unter Datadog-Observability und Telemetrie.