Datadog هي منصة مراقبة قابلة للملاحظة سحابية تجمع بين مراقبة البنية التحتية و APM وتسجيل السجلات والتجربة الرقمية في واجهة واحدة. تقوم المنصة بجمع المقاييس والتتبعات والسجلات من الخوادم والحاويات والأجهزة المحمولة في الوقت الفعلي، مما يمكن الفرق من العثور بسرعة على السبب الجذري للمشكلات. وفقًا لـ Datadog، 2025، تعالج المنصة أكثر من 2.5 بيتابايت من البيانات يوميًا من آلاف العملاء حول العالم. لمطوري التطبيقات المحمولة، تقدم Datadog حزم SDK أصلية لنظامي Android و iOS مع جمع تلقائي لمقاييس الأداء.
الرئيسية
Datadog هي منصة سحابية للمراقبة والمراقبة القابلة للملاحظة أُطلقت في عام 2010 بواسطة Olivier Pomel و Alexis Lê-Quôc. توفر المنصة لوحة تحكم موحدة لجمع المقاييس والسجلات والتتبعات من البنية التحتية والتطبيقات وأجهزة المستخدمين. على عكس الحلول النقطية، تجمع Datadog بين APM والسجلات ومراقبة البنية التحتية والمراقبة الاصطناعية و RUM في منتج واحد.
تعتمد بنية Datadog على وكلاء — برامج خفيفة يتم تثبيتها على الخوادم أو تضمينها في التطبيقات. يقوم الوكيل بجمع البيانات وإرسالها إلى البنية التحتية السحابية لـ Datadog عبر اتصال مشفر. للمنصات المحمولة، توفر Datadog حزم SDK أصلية تعمل على Android (Kotlin و Java) و iOS (Swift و Objective-C).
وفقًا لتقرير Gartner Magic Quadrant for APM and Observability (2024)، تم الاعتراف بـ Datadog كقائد في فئة المراقبة القابلة للملاحظة مع أوسع مجموعة من القدرات المتكاملة. تستخدم المنصة من قبل شركات مثل Samsung و Adidas و Peloton لمراقبة ملايين الأجهزة يوميًا.
بالنسبة لفرق التطوير المحمول، تعتبر Datadog ذات قيمة خاصة لأنها تربط أداء الواجهة الخلفية بتجربة المستخدم على الجهاز. إذا بدأت API في الاستجابة بشكل أبطأ، تظهر Datadog ليس فقط وقت استجابة الخادم ولكن أيضًا كيف أثر ذلك على وقت التشغيل أو عرض الشاشة على طراز هاتف محدد.
مراقبة البنية التحتية تتبع مقاييس وحدة المعالجة المركزية والذاكرة والقرص والشبكة للخوادم والحاويات ومجموعات Kubernetes. APM (مراقبة أداء التطبيقات) يجمع التتبعات لكل طلب يمر عبر نظام موزع ويظهر زمن الانتقال في كل قفزة. تقوم إدارة السجلات بمركزية جميع السجلات — من النظام إلى التطبيق — مع بحث كامل النص والقدرة على إنشاء مقاييس من السجلات. تحاكي المراقبة الاصطناعية سيناريوهات المستخدم من مواقع جغرافية مختلفة. تجمع مراقبة المستخدم الحقيقي (RUM) بيانات من أجهزة المستخدمين الحقيقية، بما في ذلك الهواتف المحمولة والأجهزة اللوحية.
تستخدم Datadog نموذج الدفع حسب الاستخدام مع تسعير حسب المنتج: مضيفي البنية التحتية، مضيفي APM، السجلات (الحجم بالغيغابايت)، جلسات RUM واختبارات Synthetic. يتم فوترة كل منتج على حدة، مما يسمح بالدفع فقط مقابل الميزات المستخدمة. يبدأ السعر من 15 دولارًا لكل مضيف شهريًا لمراقبة البنية التحتية ومن 1 دولار لكل 10,000 جلسة RUM. يمكن للشركات الناشئة التقدم لبرنامج Datadog for Startups بارصاء يصل إلى 100,000 دولار.
مراقبة أداء التطبيقات (APM) في Datadog هي نظام تتبع موزع يتتبع كل طلب من نقطة الدخول حتى اكتمال جميع العمليات المتداخلة. يقوم APM بأتمتة أدوات الأطر والمكتبات الشائعة: Spring Boot و Django و Express.js و ASP.NET Core وغيرها. لكل طلب، يقوم APM ببناء رسم بياني شعلة — تمثيل مرئي لوقت التنفيذ عبر جميع مسارات الكود.
يظهر الرسم البياني الشعلة المدة التي استغرقها كل استدعاء دالة أو طلب خدمة خارجية. إذا استغرقت طريقة قاعدة البيانات ثانيتين بدلاً من 200 مللي ثانية المتوقعة، يكون ذلك مرئيًا فورًا على الرسم البياني. يدعم Datadog APM OpenTelemetry — معيار مفتوح لجمع القياسات عن بُعد — مما يسمح بتوصيل أدوات من أي مزود متوافق.
وفقًا لمدونة Benchling Engineering (2024)، أدى الترحيل إلى Datadog APM إلى تقليل وقت تشخيص الحوادث للفريق من 45 دقيقة إلى 8 دقائق من خلال الارتباط التلقائي للتتبعات مع السجلات والمقاييس. السيناريو الرئيسي هو ارتباط التتبع بالسجل: باستخدام معرف تتبع واحد، يمكن العثور على جميع السجلات المتعلقة بطلب محدد دون بحث يدوي.
خريطة الخدمة هي رسم بياني مبني تلقائيًا لجميع خدمات النظام وترابطاتها. يتم عرض كل خدمة كعقدة، وتظهر الاتصالات بين العقد المكالمات التي تحدث بين الخدمات. يعكس لون العقدة حالة الصحة: أخضر — عملية عادية، أصفر — زمن انتقال متزايد، أحمر — أخطاء. تساعد خريطة الخدمة في تحديد الخدمة التي تشكل عنق الزجاجة بسرعة، حتى بدون معرفة مسبقة بالبنية.
import datadog.trace.api.Trace;
import io.opentelemetry.api.trace.Span;
public class PaymentService {
@Trace(resourceName = "PaymentService.processPayment")
public PaymentResult processPayment(Order order) {
Span span = Tracer.buildSpan("validate.payment").start();
try {
PaymentGateway gateway = new PaymentGateway();
PaymentResult result = gateway.charge(order.getAmount());
span.setTag("payment.provider", "stripe");
return result;
} finally {
span.close();
}
}
}
مراقبة المستخدم الحقيقي (RUM) في Datadog تجمع بيانات من أجهزة المستخدمين الحقيقية — أوقات تحميل الشاشات، استجابة اللمس، استهلاك الذاكرة، تكرار ANR (التطبيق لا يستجيب) ومعدلات الأعطال. يتم دمج حزمة SDK لـ RUM لنظامي Android و iOS في التطبيق وتقوم تلقائيًا بإنشاء جلسات، وتجميع جميع الأحداث ضمن تفاعل مستخدم واحد.
تحتوي كل جلسة RUM على سلسلة من الأحداث: فتح الشاشة، النقر على الزر، طلب الشبكة، التمرير. لكل حدث، تسجل Datadog طابعًا زمنيًا ومدة وخصائص تقنية للجهاز: الطراز ونظام التشغيل وإصدار التطبيق ونوع الاتصال. يتيح ذلك تصفية المقاييس حسب إصدارات وأجهزة محددة. على سبيل المثال، يمكن رؤية أن وقت التشغيل زاد على Android 14 مع طراز Samsung محدد.
RUM متكامل بشكل وثيق مع APM: إذا انتهت جلسة مستخدم بخطأ في شاشة الدفع، تظهر Datadog تلقائيًا التتبع الخلفي المقابل. هذا يسرع التشخيص بمقدار 5-7 مرات مقارنة بالمطابقة اليدوية لسجلات الواجهة الأمامية والخلفية. لفرق التطوير المحمول، توفر RUM أيضًا تقارير قائمة المراقبة — ملخص أسبوعي لتدهور المقاييس الرئيسية.
تقوم RUM من Datadog بجمع تقارير الأعطال تلقائيًا مع تتبعات المكدس الكاملة، بما في ذلك أرقام أسطر الكود المصدري. لنظام Android، يعمل هذا من خلال التكامل مع ACRA أو Firebase Crashlytics؛ لنظام iOS — من خلال PLCrashReporter. يتم ربط كل عطل بجلسة مستخدم، مما يسمح بإعادة تسلسل الإجراءات التي أدت إلى العطل. تتتبع RUM أيضًا ANR — أحد أكثر الأحداث حرجًا لتطبيقات Android. إذا كان التطبيق لا يستجيب لأكثر من 5 ثوانٍ، تسجل Datadog ANR وتظهر تفريغ الخيط الكامل في وقت حظر واجهة المستخدم.
إدارة السجلات في Datadog تركز جميع سجلات التطبيق والبنية التحتية في مستودع واحد مع بحث كامل النص. يتم إرسال السجلات المحمولة (الأحداث التحليلية وأخطاء API والقياسات عن بُعد) من الجهاز عبر حزمة SDK ويتم دمجها مع سجلات الخادم باستخدام معرف مشترك. تقوم Datadog بتحليل السجلات تلقائيًا إلى حقول منظمة: المستوى (INFO و WARN و ERROR) والخدمة والمضيف والطابع الزمني والرسالة.
لتصفية السجلات، تستخدم Datadog لغة استعلام خاصة بها تدعم أحرف البدل والتعبيرات العادية والأوجه. يمكن تجميع السجلات حسب الأنماط — تكتشف Datadog تلقائيًا الأنماط المتكررة وتعرضها كمجموعة واحدة. هذا مفيد بشكل خاص عند تحليل آلاف السجلات من الأجهزة المحمولة: يتم تجميع الأخطاء المتطابقة، ويرى المطور ليس 10,000 سطر بل 10 مجموعات مع تكرار الحدوث.
المقاييس هي سلاسل زمنية رقمية يتم جمعها على فترات تبدأ من ثانية واحدة. يدعم Datadog ثلاثة أنواع من المقاييس: gauge (القيمة الحالية) و count (المجموع خلال الفترة) و rate (معدل التغيير). للتطبيقات المحمولة، يمكن للمقاييس المخصصة تتبع عدد مرات فتح الشاشة أو وقت تنفيذ سيناريو عمل رئيسي أو تكرار استخدام ميزة معينة. يتم إرسال المقاييس المخصصة عبر DogStatsD — بروتوكول متوافق مع StatsD مع إضافات Datadog.
import com.datadog.android.Datadog
import com.datadog.android.log.Logger
class PaymentAnalytics {
private val logger = Logger.Builder()
.setDatadogLogsEnabled(true)
.setNetworkInfoEnabled(true)
.setBundleWithTraceEnabled(true)
.build()
fun trackCheckout(orderId: String, amount: Double) {
logger.info(
"Checkout initiated for order {orderId}",
mapOf(
"order.id" to orderId,
"order.amount" to amount,
"payment.method" to "credit_card"
)
)
}
}
حزمة SDK من Datadog لنظامي Android و iOS توفر مجموعة موحدة من الوحدات: Core (التهيئة)، RUM (مراقبة تجربة المستخدم)، Logs (إرسال السجلات)، Trace (تتبع الطلبات). لنظام Android، تتم إضافة حزمة SDK عبر Gradle؛ لنظام iOS — عبر CocoaPods أو Swift Package Manager. بعد التثبيت، تتم تهيئة حزمة SDK في Application.onCreate (Android) أو AppDelegate (iOS) عن طريق تمرير رمز العميل والبيئة واسم التطبيق.
للتتبع التلقائي لطلبات الشبكة على Android، يتم استخدام OkHttp Interceptor؛ على iOS — NSURLProtocol أو مفوض URLSession. تدعم Datadog أيضًا التكامل مع عملاء HTTP المشهورين: Retrofit و Apollo GraphQL و Ktor و Alamofire. بعد توصيل Interceptor، يتم ربط كل طلب HTTP تلقائيًا بجلسة RUM وتتبع APM، مما يشكل سلسلة واحدة من العميل إلى الخادم.
dependencies {
// حزمة SDK الرئيسية ووحدة RUM
implementation "com.datadoghq:dd-sdk-android-core:2.15.0"
implementation "com.datadoghq:dd-sdk-android-rum:2.15.0"
// التكامل مع OkHttp للتتبع التلقائي
implementation "com.datadoghq:dd-sdk-android-okhttp:2.15.0"
// الإبلاغ عن أعطال NDK
implementation "com.datadoghq:dd-sdk-android-ndk:2.15.0"
}
import DatadogCore
import DatadogRUM
import DatadogLogs
@main class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
Datadog.initialize(
with: DatadogConfiguration.builder(
clientToken: "your_client_token",
environment: "production"
).build()
)
RUM.enable(
with: RUMConfiguration(applicationID: "your_rum_app_id")
)
return true
}
}
توفر Datadog محرر لوحات معلومات رسومي حيث يمكن دمج رسوم بيانية للمقاييس وجداول السجلات وخرائط شجرة توزيع الأخطاء وعناصر واجهة SLO. تدعم لوحات المعلومات متغيرات القوالب — على سبيل المثال، يمكن إنشاء لوحة معلومات واحدة لجميع الخدمات وتبديل السياق باستخدام قائمة منسدلة باسم الخدمة. يمكن نشر كل لوحة معلومات في وضع القراءة فقط لأصحاب المصلحة الخارجيين عبر رابط عام.
يسمح نظام المراقبين (التنبيهات) بتعيين شروط حدية لأي مقياس: إذا تجاوز زمن الانتقال 500 مللي ثانية لأكثر من 5 دقائق — إرسال إشعار إلى Slack أو PagerDuty أو البريد الإلكتروني. تدعم Datadog الشروط المركبة: «إذا كانت أخطاء 5xx > 1% وعدد الطلبات > 1000/دقيقة، رفع الأولوية إلى حرجة.» لفرق التطوير المحمول، يعتبر مراقب اكتشاف الانحدار مفيدًا بشكل خاص — تقارن Datadog تلقائيًا المقياس الحالي بخط أساس تاريخي وتنبه عند تدهور ذي دلالة إحصائية.
وفقًا لـ Gartner Peer Insights (2024)، ينخفض متوسط وقت الحل (MTTR) للفرق التي تستخدم مراقبي Datadog مع الارتباط التلقائي بنسبة 35% في الشهر الأول بعد التبني. يتحقق ذلك لأن كل تنبيه لا يحتوي فقط على شرط التشغيل ولكن أيضًا على روابط للوحات المعلومات والسجلات والتتبعات ذات الصلة — لا يحتاج المطورون إلى التبديل بين الأدوات.
الأسئلة الشائعة
يتميز Datadog بمنصة موحدة تجمع المقاييس والسجلات والتتبعات و RUM في واجهة واحدة. على عكس Grafana + Prometheus (مقاييس فقط) أو ELK (سجلات فقط)، يوفر Datadog ارتباطًا مدمجًا بين جميع أنواع البيانات دون الحاجة إلى تكوين التكاملات يدويًا.
يبدأ السعر من 1 دولار لكل 10,000 جلسة RUM شهريًا. للمشاريع الصغيرة التي تحتوي على 50,000 جلسة شهريًا، ستكون التكاليف حوالي 5 دولارات. يتم فوترة APM والسجلات بشكل منفصل. يمكن للشركات الناشئة التقدم لبرنامج Datadog for Startups بارصاء يصل إلى 100,000 دولار للسنة الأولى.
حزمة SDK من Datadog تدعم Android (API 21+، Kotlin و Java) و iOS (iOS 13+، Swift و Objective-C) و React Native. تتوفر تكاملات مجتمعية لـ Flutter و Xamarin. يتم توزيع حزمة SDK عبر Maven Central و CocoaPods و Swift Package Manager.
يوفر Datadog تنظيف البيانات — إزالة تلقائية للمعلومات الشخصية من السجلات وبيانات RUM. يمكن تكوين قواعد الإخفاء: استبدال البريد الإلكتروني وأرقام الهاتف وبطاقات الائتمان بهاش أو نجوم. يتم تشفير البيانات أثناء النقل (TLS 1.3) وأثناء التخزين (AES-256).
نعم، يمكن استخدام وحدة السجلات فقط بدون APM و RUM. في هذه الحالة، تدفع فقط مقابل حجم السجلات. تقوم Datadog بفوترة كل منتج على حدة، مما يسمح بالبدء بوحدة واحدة وإضافة أخرى حسب الحاجة دون إعادة تكامل.
الخلاصة
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا