Datadog
เชื่อมต่อ
เชื่อมต่อ Datadog จากเทอร์มินัล ส่ง --help เพื่อดูแฟล็กที่ Datadog รับ
polylane integration connect --type datadogคีย์ API และ application key สำหรับไซต์ Datadog ของคุณ
เชื่อมต่อ Datadog เพื่อให้เอเจนต์สอบถาม log เมตริก monitor และแดชบอร์ดของคุณระหว่างการสืบสวน
การตั้งค่า
- เลือก Datadog site ของคุณ (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 ตรวจสอบคีย์ทั้งสองและเชื่อมต่อ
application key ที่ไม่มีสโคปมีสิทธิ์เท่ากับผู้ใช้ของคุณและใช้ได้ทันที หากคุณกำหนดสโคปให้คีย์ ให้รวม 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 คีย์ของคุณถูกเข้ารหัสก่อนจัดเก็บ และเอเจนต์ไม่มีทางเห็นมัน
การเชื่อมต่อสร้าง webhook ชื่อ polylane ใน Datadog และสมัครรับทุก monitor เข้ากับมัน alert จึงมาถึง Polylane และถูกคัดกรองเมื่อทำงาน
สิ่งที่เอเจนต์ทำได้
- ค้นหาและกรอง log ด้วยไวยากรณ์คิวรีของ Datadog
- อ่านค่าเมตริกและแนวโน้มตามเวลา
- ตรวจว่า monitor ใดกำลัง alert และสถานะของมัน
- อ้างอิงข้อมูลแดชบอร์ดในการสืบสวน
การยกเลิกการเชื่อมต่อ
ยกเลิกการเชื่อมต่อ Datadog ใน Polylane แล้วเพิกถอน application key และคีย์ API ใน Datadog
ลงทะเบียน alert ของ Datadog กับ Polylane ควบคู่กับทรัพยากรที่คุณจัดการด้วย Terraform
Polylane สมัครรับ monitor โดยต่อท้ายการกล่าวถึง @webhook-polylane ในข้อความของมันและเพิ่มแท็ก polylane:managed การซิงก์ที่เกิดซ้ำนำทั้งสองอย่างไปใช้กับทุก monitor ดังนั้น monitor ที่จัดการด้วย Terraform จะแสดง drift จนกว่าการกำหนดค่า Terraform ของมันจะมีทั้งสองอย่างด้วย เพิ่มทั้งสองอย่างให้แต่ละ 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"])
}
การตั้งค่าที่ง่ายที่สุดให้ Polylane จัดการตัว webhook เองและใส่เฉพาะการกล่าวถึงและแท็กใน Terraform หากคุณจัดการ webhook ใน Terraform ด้วย ให้ import อันที่มีอยู่แทนการสร้างใหม่ เนื่องจากชื่อ webhook ของ Datadog ต้องไม่ซ้ำกัน เพิ่มบล็อก resource ก่อน แล้ว import:
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
โทเค็นเทเลเมทรียืนยันตัวตนการส่ง alert ไปยัง workspace ของคุณ หาได้ใน Polylane ใต้ Settings → Telemetry tokens (โทเค็นชื่อ datadog-integration) หรือสร้างโทเค็นใหม่บนหน้าเดียวกัน การเชื่อมต่อการผสานรวมใหม่จะสร้าง webhook ใหม่พร้อมโทเค็นใหม่ webhook ที่ import ไว้จึงต้องอัปเดตตัวแปรโทเค็นของมันในภายหลัง
ยกเลิกการเชื่อมต่อ
การยกเลิกการเชื่อมต่อหยุดทุกการซิงก์และการตรวจสอบ และลบข้อมูลรับรองที่ Polylane เก็บไว้ Polylane ลบสิ่งที่ API ของ Datadog อนุญาตให้ลบ สิ่งต่อไปนี้ยังคงอยู่จนกว่าคุณจะลบด้วยตัวเอง:
- @webhook-polylane appended to every monitor message
- polylane:managed tag on every monitor
polylane integration disconnect <id>เครื่องมือ
12การดำเนินการที่เอเจนต์ทำได้ในเธรด