Datadog
Connecter
Connecte Datadog depuis le terminal. Passe --help pour les options que Datadog accepte.
polylane integration connect --type datadogClé API et clé d'application pour ton site Datadog.
Connecte Datadog pour que les agents puissent interroger tes logs, métriques, moniteurs et tableaux de bord pendant les investigations.
Configuration
- Sélectionne ton site Datadog (US1, US3, US5, EU1, AP1, etc.). Vérifie ton URL Datadog :
app.datadoghq.comest US1,app.datadoghq.euest EU1. - Saisis ta clé API depuis Organization Settings → API Keys.
- Saisis ta clé d'application depuis Organization Settings → Application Keys.
- Polylane valide les deux clés et se connecte.
Une clé d'application sans scopes a le même accès que ton utilisateur et fonctionne telle quelle. Si tu limites la clé à des scopes, inclus user_app_keys (requis pour se connecter) plus logs_read_data, timeseries_query, metrics_read, monitors_read, monitors_write, monitors_downtime, dashboards_read, slos_read, hosts_read, events_read, incident_read, apm_read, aws_configuration_read et create_webhooks. Tes clés sont chiffrées avant d'être stockées, et l'agent ne les voit jamais.
La connexion crée un webhook nommé polylane dans Datadog et y abonne chaque moniteur, pour que les alertes arrivent dans Polylane et soient triées au moment où elles se déclenchent.
Ce que les agents peuvent faire
- Chercher et filtrer les logs avec la syntaxe de requête Datadog
- Lire les valeurs de métriques et leurs tendances dans le temps
- Vérifier quels moniteurs sont en alerte et leur état
- Référencer les données de tableaux de bord dans les investigations
Déconnexion
Déconnecte Datadog dans Polylane, puis révoque la clé d'application et la clé API dans Datadog.
Enregistre les alertes Datadog auprès de Polylane à côté de tes ressources gérées par Terraform.
Polylane abonne un moniteur en ajoutant la mention @webhook-polylane à son message et en ajoutant l'étiquette polylane:managed. Une synchronisation récurrente applique les deux à chaque moniteur, donc un moniteur géré par Terraform affiche une dérive tant que sa configuration Terraform ne les porte pas aussi. Ajoute les deux à chaque moniteur :
resource "datadog_monitor" "high_error_rate" {
name = "High error rate on checkout"
type = "metric alert"
query = "sum(last_5m):sum:trace.http.request.errors{service:checkout}.as_count() > 50"
message = <<-EOT
{{#is_alert}}Error rate on checkout is above threshold.{{/is_alert}}
@webhook-polylane
EOT
tags = concat(var.tags, ["polylane:managed"])
}
La configuration la plus simple laisse le webhook lui-même géré par Polylane et ne met que la mention et l'étiquette dans Terraform. Si tu gères aussi les webhooks dans Terraform, importe celui qui existe au lieu de le créer, puisque les noms de webhooks Datadog sont uniques. Ajoute d'abord le bloc de ressource, puis importe :
resource "datadog_webhook" "polylane" {
name = "polylane"
url = "https://sinks.polylane.com/v1/datadog"
encode_as = "json"
custom_headers = jsonencode({
"x-polylane-telemetry-token" = var.polylane_telemetry_token
})
payload = jsonencode({
alert_id = "$ALERT_ID"
alert_metric = "$ALERT_METRIC"
alert_query = "$ALERT_QUERY"
alert_scope = "$ALERT_SCOPE"
alert_status = "$ALERT_STATUS"
alert_title = "$ALERT_TITLE"
alert_transition = "$ALERT_TRANSITION"
alert_type = "$ALERT_TYPE"
date = "$DATE_POSIX"
event_msg = "$EVENT_MSG"
event_title = "$EVENT_TITLE"
event_type = "$EVENT_TYPE"
hostname = "$HOSTNAME"
id = "$ID"
link = "$LINK"
logs_sample = "$LOGS_SAMPLE"
org_id = "$ORG_ID"
org_name = "$ORG_NAME"
priority = "$PRIORITY"
snapshot = "$SNAPSHOT"
tags = "$TAGS"
user = "$USER"
username = "$USERNAME"
})
}
terraform import datadog_webhook.polylane polylane
Le token de télémétrie authentifie les livraisons d'alertes vers ton espace de travail. Trouve-le dans Polylane sous Settings → Telemetry tokens (le token nommé datadog-integration), ou crée un nouveau token sur la même page. Reconnecter l'intégration recrée le webhook avec un nouveau token, donc un webhook importé a besoin que sa variable de token soit mise à jour ensuite.
Déconnecter
La déconnexion arrête chaque synchronisation et chaque vérification et supprime les identifiants que Polylane détenait. Polylane retire ce que l'API de Datadog lui permet de retirer. Ce qui suit reste jusqu'à ce que tu le retires toi-même :
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>Outils
12Les opérations que les agents peuvent effectuer dans les threads.