Datadog
Verbinden
Verbinde Datadog aus dem Terminal. Mit --help siehst du die Flags, die Datadog akzeptiert.
polylane integration connect --type datadogAPI-Schlüssel und Application Key für deine Datadog-Site.
Verbinde Datadog, damit Agents während Untersuchungen deine Logs, Metriken, Monitore und Dashboards abfragen können.
Einrichtung
- Wähle deine Datadog-Site (US1, US3, US5, EU1, AP1 und so weiter). Prüfe deine Datadog-URL:
app.datadoghq.comist US1,app.datadoghq.euist EU1. - Gib deinen API-Schlüssel aus Organization Settings → API Keys ein.
- Gib deinen Application Key aus Organization Settings → Application Keys ein.
- Polylane prüft beide Schlüssel und verbindet.
Ein Application Key ohne Scopes hat denselben Zugriff wie dein Benutzer und funktioniert so, wie er ist. Wenn du den Schlüssel einschränkst, nimm user_app_keys (zum Verbinden erforderlich) 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 und create_webhooks auf. Deine Schlüssel werden vor dem Speichern verschlüsselt, und der Agent sieht sie nie.
Beim Verbinden wird in Datadog ein Webhook namens polylane angelegt und jeder Monitor darauf abonniert, Alerts landen also in Polylane und werden triagiert, sobald sie auslösen.
Was Agents tun können
- Logs mit der Datadog-Abfragesyntax suchen und filtern
- Metrikwerte und Trends über die Zeit lesen
- Prüfen, welche Monitore alarmieren, und ihren Status
- Dashboard-Daten in Untersuchungen heranziehen
Verbindung trennen
Trenne Datadog in Polylane, dann widerrufe Application Key und API-Schlüssel in Datadog.
Registriere Datadog-Alerts bei Polylane neben deinen mit Terraform verwalteten Ressourcen.
Polylane abonniert einen Monitor, indem es die Erwähnung @webhook-polylane an dessen Nachricht anhängt und den Tag polylane:managed hinzufügt. Ein wiederkehrender Sync wendet beides auf jeden Monitor an, ein mit Terraform verwalteter Monitor zeigt also Drift, bis seine Terraform-Konfiguration beides ebenfalls trägt. Füge beides jedem Monitor hinzu:
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"])
}
Am einfachsten lässt du den Webhook selbst von Polylane verwalten und legst nur Erwähnung und Tag in Terraform ab. Wenn du auch Webhooks in Terraform verwaltest, importiere den bestehenden, statt ihn neu anzulegen, denn Datadog-Webhook-Namen sind eindeutig. Füge zuerst den Ressourcenblock hinzu, dann importiere:
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
Der Telemetry-Token authentifiziert Alert-Zustellungen an deinen Workspace. Du findest ihn in Polylane unter Settings → Telemetry tokens (der Token namens datadog-integration), oder du erstellst auf derselben Seite einen neuen Token. Wird die Integration neu verbunden, wird der Webhook mit einem frischen Token neu angelegt, bei einem importierten Webhook muss die Token-Variable danach also aktualisiert werden.
Trennen
Beim Trennen stoppen alle Syncs und Checks, und die Zugangsdaten, die Polylane gespeichert hatte, werden gelöscht. Polylane entfernt, was sich über die API von Datadog entfernen lässt. Folgendes bleibt bestehen, bis du es selbst entfernst:
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>Tools
12Operationen, die Agents in Threads ausführen können.