كلاودفلار تتيح معالجة سجلات Logpush عبر SQL قبل التصدير
تستطيع فرق المراقبة الآن تعديل بيانات السجلات داخل خط أنابيب التصدير مباشرة، دون الحاجة إلى خدمات معالجة خارجية.

تسريع معالجة السجلات قبل التصدير
أعلنت كلاودفلار عن إطلاق ميزة Transformers ضمن خدمة Logpush، وهي أداة تتيح للفرق تصفية تدفقات السجلات وإعادة تشكيلها وإخفاء البيانات الحساسة باستخدام لغة SQL قبل عملية التصدير. تأتي هذه الخطوة كجزء من تحديثات واسعة لمنصة المراقبة، حيث تهدف إلى نقل عمليات المعالجة التي كانت تتطلب سابقاً خدمات خارجية مستقلة إلى داخل خط أنابيب التصدير نفسه. هذا التغيير يهدف إلى تبسيط البنية التحتية للبيانات وتقليل التعقيد التشغيلي على فرق الهندسة.
تقليل التكاليف وتحسين جودة البيانات
عادةً ما تحتاج فرق الأمن والمراقبة إلى إزالة فحوصات الصحة أو إخفاء حقول محددة قبل إرسال السجلات إلى أنظمة إدارة المعلومات والأحداث (SIEM) أو منصات التحليلات. في النماذج التقليدية، يتطلب ذلك نشر خدمات معالجة إضافية يجب مراقبتها وتوسيعها، مما يرفع التكاليف التشغيلية. مع Transformers، يمكن للفرق تعريف استعلام SQL يحدد بدقة السجلات المراد تصديرها، مما يقلل من حجم البيانات المنقولة والمخزنة، وبالتالي خفض التكاليف المرتبطة بالتصدير والتخزين.

آلية عمل المحرك الداخلي
يعمل كل Transformer كاستعلام SQL مخصص لمجموعة بيانات محددة في Logpush. يطبق النظام هذا الاستعلام على كل دفعة من السجلات قبل التصدير؛ حيث تُحذف السجلات التي لا تطابق شرط WHERE، وتُعاد صياغة الحقول المتبقية بناءً على جملة SELECT. يتم تصدير النتائج النهائية بصيغة NDJSON، مما يسمح بتغيير هيكل البيانات ومحتواها، مثل إعادة تسمية الحقول أو دمجها أو حذف الحقول غير الضرورية، لضمان توافق البيانات مع مخططات العرض الداخلي للشركة.
اختيار Apache DataFusion للأداء العالي
واجهت كلاودفلار تحدياً في تصميم هذه الميزة لضمان عدم إبطاء عملية التسليم. بعد تجربة نموذج أولي يعتمد على WebAssembly داخل Cloudflare Workers، تبيّن أن استدعاءات الشبكة الخارجية قد تسبب تأخيرات مؤقتة. لذلك، قررت الشركة تنفيذ المحرك داخل العملية (in-process) لضمان موثوقية التسليم. اختارت كلاودفلار محرك Apache DataFusion، وهو محرك استعلامات مكتوب بلغة Rust ويعتمد على Apache Arrow، نظراً لكفاءته في معالجة البيانات العمودية (Columnar) وسرعته العالية.

تكامل تقني بين Go و Rust
تتطلب البنية التقنية ربط خدمة التسليم المكتوبة بلغة Go مع محرك DataFusion المكتوب بلغة Rust. استخدمت كلاودفلار صيغة Apache Arrow IPC لتبادل الدفقات بين اللغتين عبر واجهة C ABI. تضمنت التصميمات إجراءات صارمة لإدارة الذاكرة، حيث تنتقل ملكية البيانات بشكل صريح بين اللغتين لتجنب أخطاء إدارة الذاكرة عبر حدود التشغيل. أظهرت الاختبارات أن معالجة دفعة من 5000 سجل تستغرق حوالي 3 مللي ثانية، مما يعادل معالجة 1.6 مليون سجل في الثانية من خيط برمجة واحد.
إدارة التحويلات عبر لوحة التحكم
يمكن للعملاء إنشاء ومعاينة وإدارة Transformers من خلال لوحة تحكم كلاودفلار باستخدام أداة Transformer Studio، أو برمجياً عبر واجهة API. عند حفظ تحويل جديد، يُنشأ إصدار جديد يمكن مراجعته، مما يتيح تتبع التغييرات بمرور الوقت. بعد الحفظ، يمكن ربط التحويل بمهام Logpush المتوافقة التي تستخدم نفس مجموعة البيانات، مما يضمن تطبيق القواعد الجديدة على التدفقات المستقبلية دون تعطيل العمليات الحالية.
المصادر
- Cloudflare BlogFilter, reshape, and redact logs before export with Transformers
تابع التسلسل الزمني





