Datadog
ربط
اربط Datadog من الطرفية. مرّر --help للأعلام التي يقبلها Datadog.
polylane integration connect --type datadogمفتاح API ومفتاح تطبيق لموقع Datadog الخاص بك.
اربط Datadog ليستطيع الوكلاء الاستعلام عن سجلاتك ومقاييسك وشاشات المراقبة ولوحات التحكم لديك أثناء التحقيقات.
الإعداد
- اختر موقع Datadog الخاص بك (US1 أو US3 أو US5 أو EU1 أو AP1 وهلم جرا). تحقق من عنوان URL لـ Datadog لديك:
app.datadoghq.comهو US1، وapp.datadoghq.euهو EU1. - أدخل مفتاح API الخاص بك من Organization Settings → API Keys.
- أدخل مفتاح التطبيق الخاص بك من 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. تُشفَّر مفاتيحك قبل تخزينها، ولا يراها الوكيل أبداً.
ينشئ الربط webhook باسم polylane في Datadog ويشترك كل شاشة مراقبة فيه، فتصل التنبيهات إلى 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
يوثّق رمز بيانات الاستخدام (telemetry token) عمليات توصيل التنبيهات إلى مساحة عملك. تجده في 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العمليات التي يستطيع الوكلاء إجراءها في المحادثات.