RousselTMLEARNING

Article · Datadog : de la découverte à l'expertise

Agent et intégrations

1. Installer l'agent #

Linux, Docker, Kubernetes.

Linux #

DD_API_KEY=<cle_api> DD_SITE="datadoghq.eu" \
  bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
sudo datadog-agent status | head -40

Docker #

docker run -d --name dd-agent \
  -e DD_API_KEY=<cle_api> -e DD_SITE=datadoghq.eu \
  -e DD_LOGS_ENABLED=true -e DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL=true \
  -e DD_APM_ENABLED=true -e DD_APM_NON_LOCAL_TRAFFIC=true -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v /proc/:/host/proc/:ro -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
  -p 8126:8126 -p 8125:8125/udp \
  gcr.io/datadoghq/agent:7

Kubernetes avec l'opérateur #

helm repo add datadog https://helm.datadoghq.com && helm repo update
helm install datadog-operator datadog/datadog-operator -n datadog --create-namespace
kubectl -n datadog create secret generic datadog-secret --from-literal api-key=<cle_api>
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata: { name: datadog, namespace: datadog }
spec:
  global:
    site: datadoghq.eu
    clusterName: prod-eu
    credentials:
      apiSecret: { secretName: datadog-secret, keyName: api-key }
  features:
    logCollection: { enabled: true, containerCollectAll: true }
    apm: { instrumentation: { enabled: true } }
    liveProcessCollection: { enabled: true }

2. Les intégrations #

Activer un check.

Fichier de configuration #

# /etc/datadog-agent/conf.d/nginx.d/conf.yaml
init_config:
instances:
  - nginx_status_url: http://localhost:81/nginx_status
    tags: [service:front, env:prod]
sudo datadog-agent check nginx        # exécuter le check une fois
sudo systemctl restart datadog-agent

Autodiscovery des conteneurs #

Pour les conteneurs, la configuration se met dans des annotations (Kubernetes) ou des labels (Docker) : l'agent applique le check à chaque conteneur correspondant, où qu'il tourne.

metadata:
  annotations:
    ad.datadoghq.com/nginx.checks: |
      {"nginx": {"instances": [{"nginx_status_url": "http://%%host%%:81/nginx_status"}]}}
    ad.datadoghq.com/nginx.logs: '[{"source": "nginx", "service": "front"}]'
Bonne Pratique : La variable %%host%% est remplacée par l'adresse du conteneur : la même annotation fonctionne pour tous les pods.

3. Diagnostiquer l'agent #

Les commandes utiles.

Commandes #

sudo datadog-agent status            # état des checks, logs, APM, erreurs
sudo datadog-agent configcheck       # configurations chargées (dont autodiscovery)
sudo datadog-agent flare <ticket>    # paquet de diagnostic pour le support
kubectl -n datadog exec ds/datadog-agent -- agent status

📄 Installer l'agent Datadog et configurer les intégrations →

Mon suivi

  • ⏱ Durée estimée : ≈ 7 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Articles recommandés

Comprendre la notion de score

Le concept de score va permettre à Elasticsearch de classer vos documents par pertinence lors d u...

Elastic Common Schema (ECS) : le format standard des données Elastic et son rôle dans Elastic SIEM

Comprendre l'Elastic Common Schema (ECS) : format standard des champs dans Elasticsearch, convent...

Grail : Dynatrace Data Lakehouse

Désormais vous disposez dans Dynatrace (SaaS) d'un Data Lakehouse nommé Grail dont vous pouvez co...

C'est quoi l'observabilité

La capacité à connaître l'état interne d'un système à partir des données que cette dernière émet...

Les types de transactions dans les base de données

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Différences entre Technologies et Services dans Dynatrace

Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organiser et surveiller l...

Dynatrace : Différences entre SQL Modifications, SQL Queries or Procedures, et SQL Transactions

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Licences Dynatrace : modèle par unités et consumption-based licensing (DPS)

Comprendre la facturation Dynatrace : l'ancien modèle de licences segmentées par unités (Host Uni...

Les Types de Services Dynatrace : Comprendre et Optimiser Votre Surveillance Applicative

Découvrez les différents types de services que Dynatrace peut surveiller, leur rôle, et comment l...