Datadog
Bağla
Datadog entegrasyonunu terminalden bağla. Datadog entegrasyonunun kabul ettiği bayraklar için --help geç.
polylane integration connect --type datadogDatadog siten için API anahtarı ve uygulama anahtarı.
Ajanların incelemeler sırasında günlüklerini, metriklerini, monitörlerini ve panolarını sorgulayabilmesi için Datadog'u bağla.
Kurulum
- Datadog sitenizi seç (US1, US3, US5, EU1, AP1 ve benzeri). Datadog URL'ni kontrol et:
app.datadoghq.comUS1,app.datadoghq.euEU1'dir. - Organization Settings → API Keys'den API anahtarını gir.
- Organization Settings → Application Keys'den uygulama anahtarını gir.
- Polylane her iki anahtarı doğrular ve bağlanır.
Kapsamı olmayan bir uygulama anahtarı kullanıcınla aynı erişime sahiptir ve olduğu gibi çalışır. Anahtarı kapsamlarsan user_app_keys (bağlanmak için gerekli) ile birlikte 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 ve create_webhooks ekle. Anahtarların saklanmadan önce şifrelenir ve ajan onları asla görmez.
Bağlanmak Datadog'da polylane adlı bir webhook oluşturur ve her monitörü ona abone yapar, böylece uyarılar Polylane'e düşer ve tetiklendikleri anda triyajdan geçer.
Ajanlar ne yapabilir
- Datadog sorgu sözdizimiyle günlükleri arayabilir ve filtreleyebilir
- Zaman içindeki metrik değerlerini ve eğilimleri okuyabilir
- Hangi monitörlerin uyarı verdiğini ve durumlarını kontrol edebilir
- İncelemelerde pano verilerine atıf yapabilir
Bağlantıyı kesme
Datadog'un Polylane ile bağlantısını kes, sonra uygulama ve API anahtarlarını Datadog'da iptal et.
Datadog uyarılarını Terraform ile yönetilen kaynaklarının yanında Polylane'e kaydet.
Polylane bir monitörü, mesajına @webhook-polylane bahsini ekleyerek ve polylane:managed etiketini ekleyerek abone yapar. Yinelenen bir eşitleme ikisini de her monitöre uygular, bu yüzden Terraform ile yönetilen bir monitör, Terraform yapılandırması da onları taşıyana kadar sapma gösterir. İkisini de her monitöre ekle:
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"])
}
En basit kurulum webhook'un kendisini Polylane'in yönetiminde bırakır ve Terraform'a yalnızca bahsi ve etiketi koyar. Webhook'ları da Terraform'da yönetiyorsan, Datadog webhook adları benzersiz olduğu için mevcut olanı oluşturmak yerine içe aktar. Önce kaynak bloğunu ekle, sonra içe aktar:
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
Telemetri tokenı, uyarı teslimatlarının kimliğini çalışma alanına karşı doğrular. Onu Polylane'de Settings → Telemetry tokens altında bul (datadog-integration adlı token) ya da aynı sayfada yeni bir token oluştur. Entegrasyonu yeniden bağlamak webhook'u yeni bir tokenla yeniden oluşturur, bu yüzden içe aktarılmış bir webhook'un token değişkeninin sonrasında güncellenmesi gerekir.
Bağlantıyı kes
Bağlantıyı kesmek her eşitlemeyi ve kontrolü durdurur ve Polylane'in tuttuğu kimlik bilgilerini siler. Polylane, Datadog API'sinin kaldırmasına izin verdiği her şeyi kaldırır. Şunlar sen kendin kaldırana kadar kalır:
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>Araçlar
12Ajanların threadlerde yapabileceği işlemler.