RousselTMLEARNING

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

Monitors, SLO et Terraform

1. Les monitors #

Alerter dans Datadog.

Types #

TypeExemple
Metricavg(last_5m):avg:system.cpu.user{env:prod} by {host} > 85
LogPlus de 50 logs service:checkout status:error en 5 min
APMTaux d'erreur ou latence p95 d'un service
Anomaly, Forecast, OutlierÉcart au comportement habituel, disque plein prévu
CompositeCombinaison logique de monitors
SLOBurn rate d'un SLO
{{#is_alert}}
CPU à {{value}} % sur {{host.name}} ({{env.name}}).
Runbook : https://wiki.example.org/cpu
@slack-alertes-plateforme @pagerduty-plateforme
{{/is_alert}}
{{#is_recovery}}Retour à la normale sur {{host.name}}.{{/is_recovery}}
Bonne Pratique : Les variables de modèle ({{host.name}}) et les blocs conditionnels permettent un seul monitor « multi-alert » par service au lieu d'un par hôte.

2. SLO et dashboards #

Piloter.

SLO #

Un SLO Datadog se définit à partir de monitors (temps de bon fonctionnement) ou de métriques (ratio bons / total), avec une cible et une fenêtre (7, 30 ou 90 jours). Des monitors de burn rate s'y rattachent (voir la formation SRE pour les concepts).

Dashboards et notebooks #

  • Dashboards avec variables de modèle ($env, $service) pour un seul dashboard par type de service.
  • Notebooks pour les enquêtes et post-mortem : graphes et texte au même endroit.
  • Powerpacks pour réutiliser des groupes de widgets.

3. Datadog as code #

Terraform.

Exemple #

terraform {
  required_providers { datadog = { source = "DataDog/datadog" } }
}
provider "datadog" {
  api_url = "https://api.datadoghq.eu/"      # clés : variables DD_API_KEY et DD_APP_KEY
}

resource "datadog_monitor" "cpu" {
  name    = "CPU élevé sur {{host.name}}"
  type    = "metric alert"
  query   = "avg(last_5m):avg:system.cpu.user{env:prod} by {host} > 85"
  message = "{{#is_alert}}CPU à {{value}} % sur {{host.name}}{{/is_alert}} @slack-alertes-plateforme"
  monitor_thresholds {
    critical = 85
    warning  = 75
  }
  tags = ["env:prod", "team:plateforme", "managed-by:terraform"]
}
terraform init && terraform plan && terraform apply
À savoir : Les monitors et dashboards existants s'exportent en JSON depuis l'interface ; des outils comme terraformer génèrent le code Terraform correspondant pour reprendre l'existant.

📄 Monitors, SLO, dashboards et Datadog as code →

Mon suivi

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

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

💬 Discussions récentes de la formation

Poser une question sur cette leçon →Voir toutes les discussions de la formation

Articles recommandés

APM Datadog et OpenTelemetry : traces, services et corrélation avec les logs

Instrumenter ses applications pour l'APM Datadog (dd-trace, instrumentation en une étape, OpenTel...

Les SLO dans Dynatrace : objectifs, budget d’erreur et burn rate

SLI, SLO et SLA, budget d'erreur et taux de consommation : définir un SLO de disponibilité ou de ...

Sécurité avec Datadog : Cloud SIEM, Cloud Security et protection des applications

Découvrir les produits de sécurité de Datadog : Cloud SIEM et règles de détection, Cloud Security...

Grail : le data lakehouse de Dynatrace et le langage DQL

Grail stocke toutes les données d'observabilité de Dynatrace SaaS (logs, métriques, traces, événe...

Infrastructure avancée avec Datadog : réseau, cloud, conteneurs et bases de données

Superviser l'infrastructure au-delà des hôtes : Network Performance Monitoring, intégrations AWS,...

Installer l'agent Datadog et configurer les intégrations

Installer l'agent Datadog sur Linux, Docker et Kubernetes (Datadog Operator), comprendre datadog....

Métriques et tags dans Datadog : tagging unifié, DogStatsD et cardinalité

Exploiter les métriques Datadog : tagging unifié (env, service, version), requêtes et agrégations...

Chaos engineering : principes, outils et mise en pratique avec les SLO

Guide complet du chaos engineering : principes, régime permanent et hypothèse, rayon d'impact, li...

Piloter ses SLO avec Pyrra

Pyrra : définir des SLO de disponibilité et de latence en CRD Kubernetes ou en fichiers, générer ...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !