Envoyer des logs à CloudPrem avec Observability Pipelines

Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
CloudPrem est en bêta

Participez à la bêta de CloudPrem pour profiter de nouvelles fonctionnalités autohébergées de gestion des logs.

Request Access

Présentation

Observability Pipelines fournit une couche intermédiaire flexible entre vos Agents Datadog et CloudPrem, vous permettant de traiter, transformer et router les logs avant qu’ils n’atteignent votre déploiement CloudPrem. Configurez Observability Pipelines pour recevoir des logs depuis l’Agent Datadog et les transmettre à CloudPrem :

  1. Créer et configurer le pipeline - Définissez la configuration de votre pipeline (source, processeurs, destination) dans l’interface Observability Pipelines. Cette opération crée la définition du pipeline qui sera utilisée par le worker.
  2. Déployer le worker Observability Pipelines - Installez le worker avec la configuration de votre pipeline. Le worker doit être en cours d’exécution et à l’écoute des logs avant que l’Agent puisse s’y connecter.
  3. Configurer l’Agent Datadog - Indiquez à l’Agent d’envoyer les logs au worker déployé. Cette étape doit être effectuée en dernier, car l’Agent a besoin que l’adresse du worker soit disponible.

Créer et configurer un pipeline Observability

  1. Accédez à la page Observability Pipelines.
  2. Sélectionnez le modèle Log Volume Control.
  3. Configurez votre pipeline :
    1. Choisissez la source Agent Datadog.
    2. Supprimez tous les processeurs par défaut du pipeline.
    3. Sélectionnez la destination Datadog CloudPrem pour transmettre les logs à votre instance CloudPrem. Laissez la configuration vide.

Déployer votre pipeline Observability

Après avoir créé votre pipeline dans l’interface, déployez le worker Observability Pipelines. Le worker exécute la configuration de votre pipeline et se met à l’écoute des logs en provenance de l’Agent Datadog.

La commande Helm suivante installe ou met à jour le worker, en le configurant pour écouter les logs et les transmettre à votre indexeur CloudPrem.
Remarque : vous avez besoin du pipelineId du pipeline créé à l’étape précédente. Cet identifiant relie le worker à la configuration de votre pipeline.

helm upgrade --install opw \
    -f values.yaml \
    --set datadog.apiKey=XXXXXXX \
    --set datadog.pipelineId=XXXXXXX \
    --set env[0].name=DD_OP_SOURCE_DATADOG_AGENT_ADDRESS,env[0].value='0.0.0.0:8282' \
    --set env[1].name=DD_OP_DESTINATION_CLOUDPREM_ENDPOINT_URL,env[1].value='http://<RELEASE_NAME>-indexer.<NAMESPACE_NAME>.svc.cluster.local:7280' \
    --set service.ports[0].name=dd-op-source-datadog-agent-address-port,service.ports[0].protocol=TCP,service.ports[0].port=8282,service.ports[0].targetPort=8282 \
    datadog/observability-pipelines-worker

Après une minute, vérifiez que les logs transitent bien par le pipeline et atteignent la destination CloudPrem. Cela indique que le worker est en cours d’exécution et prêt à recevoir des logs ; vous pouvez alors procéder à la configuration de l’Agent.

Configurer l’Agent Datadog

Une fois le worker Observability Pipelines déployé et en cours d’exécution, configurez votre Agent Datadog pour lui envoyer des logs. L’Agent se connecte au worker via l’adresse de service du worker. Pour plus d’informations, consultez la section Connecter l’Agent Datadog au worker Observability Pipelines.

Mettez à jour la configuration de votre Agent Datadog pour envoyer des logs au worker Observability Pipelines :

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: your-cluster
    site: datadoghq.com
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key
    env:
      - name: DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_ENABLED
        value: "true"
      - name: DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_URL
        value: "http://observability-pipelines-worker:8282"

  features:
    logCollection:
      enabled: true
      containerCollectAll: true

Vérification

Vérifiez que les logs transitent bien par le pipeline :

# Check Observability Pipelines worker status
kubectl get pods -l app=observability-pipelines-worker

# Check worker logs
kubectl logs -l app=observability-pipelines-worker

# Verify logs are reaching CloudPrem
kubectl exec -it <RELEASE_NAME>-searcher-0 -n <NAMESPACE_NAME> -- curl 'http://localhost:7280/api/v1/datadog/search?query='

Pour aller plus loin