Datadog
Conectar
Conecte Datadog pelo terminal. Passe --help para ver as flags que Datadog aceita.
polylane integration connect --type datadogChave de API e chave de aplicação do seu site Datadog.
Conecte o Datadog para que os agentes possam consultar seus logs, métricas, monitores e dashboards durante investigações.
Configuração
- Selecione seu site Datadog (US1, US3, US5, EU1, AP1 e assim por diante). Confira a URL do seu Datadog:
app.datadoghq.comé US1,app.datadoghq.eué EU1. - Informe sua chave de API de Organization Settings → API Keys.
- Informe sua chave de aplicação de Organization Settings → Application Keys.
- O Polylane valida as duas chaves e conecta.
Uma chave de aplicação sem escopos tem o mesmo acesso que o seu usuário e funciona como está. Se você restringir a chave a escopos, inclua user_app_keys (obrigatório para conectar) mais 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 e create_webhooks. Suas chaves são criptografadas antes de serem armazenadas, e o agente nunca as vê.
Conectar cria um webhook chamado polylane no Datadog e inscreve todos os monitores nele, para que os alertas cheguem ao Polylane e passem por triagem assim que disparam.
O que os agentes podem fazer
- Pesquisar e filtrar logs com a sintaxe de consulta do Datadog
- Ler valores e tendências de métricas ao longo do tempo
- Verificar quais monitores estão alertando e seu status
- Referenciar dados de dashboards em investigações
Desconectar
Desconecte o Datadog no Polylane, depois revogue as chaves de aplicação e de API no Datadog.
Registre os alertas de Datadog no Polylane junto com seus recursos gerenciados pelo Terraform.
O Polylane inscreve um monitor acrescentando a menção @webhook-polylane à sua mensagem e adicionando a tag polylane:managed. Uma sincronização recorrente aplica ambos a todos os monitores, então um monitor gerenciado pelo Terraform mostra drift até que sua configuração do Terraform também os carregue. Adicione ambos a cada monitor:
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"])
}
A configuração mais simples mantém o próprio webhook gerenciado pelo Polylane e coloca apenas a menção e a tag no Terraform. Se você também gerencia webhooks no Terraform, importe o existente em vez de criá-lo, já que os nomes de webhook do Datadog são únicos. Adicione o bloco de recurso primeiro, depois 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
O token de telemetria autentica as entregas de alertas ao seu workspace. Encontre-o no Polylane em Settings → Telemetry tokens (o token chamado datadog-integration), ou crie um novo token na mesma página. Reconectar a integração recria o webhook com um token novo, então um webhook importado precisa ter sua variável de token atualizada depois.
Desconectar
Desconectar interrompe todas as sincronizações e verificações e apaga as credenciais que o Polylane guardava. O Polylane remove o que a API de Datadog permite remover. O seguinte permanece até que você mesmo remova:
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>Ferramentas
12Operações que os agentes podem executar em threads.