Datadog
Подключить
Подключите Datadog из терминала. Передайте --help, чтобы увидеть флаги, которые принимает Datadog.
polylane integration connect --type datadogAPI-ключ и ключ приложения для вашего сайта Datadog.
Подключите Datadog, чтобы агенты могли запрашивать ваши логи, метрики, мониторы и дашборды во время расследований.
Настройка
- Выберите ваш сайт Datadog (US1, US3, US5, EU1, AP1 и так далее). Проверьте URL вашего Datadog:
app.datadoghq.comсоответствует US1,app.datadoghq.euсоответствует EU1. - Введите ваш API key из Organization Settings → API Keys.
- Введите ваш Application key из Organization Settings → Application Keys.
- Polylane проверяет оба ключа и подключается.
Ключ приложения без областей имеет тот же доступ, что и ваш пользователь, и работает как есть. Если вы ограничиваете ключ областями, включите user_app_keys (обязательно для подключения), а также 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 и create_webhooks. Ваши ключи шифруются перед сохранением, и агент никогда их не видит.
Подключение создаёт в Datadog webhook с именем polylane и подписывает на него каждый монитор, поэтому алерты попадают в Polylane и проходят триаж сразу при срабатывании.
Что могут агенты
- Искать и фильтровать логи с синтаксисом запросов Datadog
- Читать значения метрик и их динамику во времени
- Проверять, какие мониторы алертят, и их статус
- Ссылаться на данные дашбордов в расследованиях
Отключение
Отключите Datadog в Polylane, затем отозовите ключ приложения и API-ключ в Datadog.
Зарегистрируйте алерты Datadog в Polylane вместе с ресурсами, которыми вы управляете через Terraform.
Polylane подписывает монитор, добавляя упоминание @webhook-polylane в его сообщение и тег polylane:managed. Периодическая синхронизация применяет оба к каждому монитору, поэтому монитор, управляемый через Terraform, показывает дрейф, пока его конфигурация Terraform тоже их не содержит. Добавьте оба к каждому монитору:
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"])
}
Самый простой вариант: оставить сам webhook под управлением Polylane и держать в Terraform только упоминание и тег. Если вы управляете webhooks через Terraform тоже, импортируйте существующий вместо создания нового, поскольку имена webhooks в Datadog уникальны. Сначала добавьте блок ресурса, затем импортируйте:
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
Токен телеметрии аутентифицирует доставку алертов в ваше рабочее пространство. Найдите его в Polylane в разделе Settings → Telemetry tokens (токен с именем datadog-integration) или создайте новый токен на той же странице. Повторное подключение интеграции пересоздаёт webhook с новым токеном, поэтому у импортированного webhook после этого нужно обновить переменную токена.
Отключить
Отключение останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Polylane удаляет то, что позволяет удалить API Datadog. Следующее остаётся, пока вы не удалите его сами:
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>Инструменты
12Операции, которые агенты могут выполнять в тредах.