1. Concevoir #
Une question par dashboard.
Structure #
| Widget | Pour |
|---|---|
| Timeseries | Évolution d'une métrique dans le temps |
| Query value | Un chiffre actuel avec seuils de couleur |
| Top list | Classement (services les plus lents, hôtes les plus chargés) |
| Heatmap, distribution | Répartition des latences, au-delà de la moyenne |
| SLO, Monitor summary | Engagements et alertes en cours |
| Log stream, Trace list | Les événements derrière une courbe |
Bonne Pratique : Organisez par signaux dorés (latence, trafic, erreurs, saturation) en haut, détails techniques en dessous, et des template variables$envet$servicepour qu'un seul dashboard serve à tous les services.
2. Formules et fonctions #
Calculer dans le widget.
Exemples #
# Taux d'erreur en %
(sum:trace.http.request.errors{$env,$service}.as_count() / sum:trace.http.request.hits{$env,$service}.as_count()) * 100
# Comparaison avec la semaine précédente
week_before(avg:system.load.1{$env})
# Prévision et anomalies
forecast(avg:system.disk.in_use{$env} by {host}, 'linear', 1)
anomalies(sum:orders.created{$env}.as_count(), 'agile', 2)3. Notebooks et partage #
Investiguer, documenter.
Usages #
- Notebooks : graphiques, requêtes de logs et texte mêlés, pour un post-mortem ou une investigation reproductible.
- Powerpacks : groupes de widgets réutilisables entre dashboards (par exemple le bloc « golden signals » standard de l'entreprise).
- Partage par lien public ou intégration dans un écran de NOC, avec des template variables fixées.
- Dashboards en Terraform (
datadog_dashboard_json) ou exportés en JSON et versionnés.
