أداء لينكس / المتقدم: الطوبولوجيا والرصد والضبط المنضبط / الدرس 14
تصميم رصد eBPF محدود
استخدم أحداث النواة والمرشحات والمخططات وضوابط العمر لتخطيط رصد دون تحميل برامج على المضيف.
في هذه الصفحة
أهداف الدرس
- تمييز نقاط التتبع والمجسات والخرائط وقارئ المستخدم.
- شرح حدود المتحقق وBTF والامتياز والنقل.
- تخطيط جمع محدود مع فحص الفقد والكلفة.
اختيار حدث يجيب السؤال
ينفذ eBPF برامج متحققاً منها بنقاط مدعومة ويجمع بالخرائط أو يرسل سجلات. تعرض tracepoint واجهة حدث، وتتعلق kprobes وuprobes بمواقع تنفيذ بثبات ورموز مختلفين. اختر الحدث لسؤال محدد كتوزيع زمن عملية نطاقية. لا يقيس عد الدخول الكمون أو النجاح تلقائياً. حدد البداية والنهاية ومفتاح الربط والتعامل مع المفقود قبل المجس.
التحقق لازم وليس ضمان كلفة
يفحص المتحقق القيود وفق النموذج، وقد يفرض المقبول كلفة أو يجمع حساساً. تعتمد الصلاحيات والأنواع على النواة والسياسة. يصف BTF الأنواع ويفيد النقل ولا يثبت كل دالة ووسيط. تساعد CO-RE تخطيطات مدعومة ولا تلغي التغير الدلالي. راجع النواة والأدوات والواجهة وأقل امتياز قبل التجربة المعزولة.
bpftool version
test -r /sys/kernel/btf/vmlinux && printf 'kernel BTF is readable\n'
لا تحمل أو تربط القراءات برنامجاً. توفر BTF شرط واحد لا إثبات توافق أو تصريح.
الترشيح المبكر والتجميع المقصود
حدد مجموعة أو عمر عملية أو نوعاً مصرحاً قبل التصدير. قد تغرق طباعة الحدث القارئ وتؤثر المسار؛ تقلل المخططات المحدودة النقل. تحتاج الخرائط مفاتيح محدودة وتنظيف الخارج وغير المتطابق. يُعاد PID وقد تتداخل طلبات الخيوط فيربط المفتاح البسيط غير المتعلق. احفظ الوحدات والحدود والمجتمع والفشل لتفسير المخطط.
تحديد دورة حياة الرصد
تحدد الخطة الهدف والمدة وميزانية الأحداث والاحتفاظ والقارئ والفصل. أدرج فقد السجلات وامتلاء المخزن وفشل الخريطة والبدايات غير المتطابقة. قد ينحاز التوزيع إذا عجز الرصد عن المواكبة. قارن الكمون والكلفة قبل تجربة صغيرة وأثناءها. لا تتعلق بكل الدوال أو تجمع الحمولة افتراضياً. نعرض تصميماً ولا نحمل مجسات أو نكتب tracefs أو السياسة.
scope: synthetic lab-report cgroup
start: remember monotonic timestamp by operation identity
finish: subtract matching timestamp; increment bounded latency bucket
missing: count unmatched events separately
stop: detach after the approved interval; export counts; clear owned state
يحدد شبه الكود الربط والعمر دون ادعاء تنفيذ BPF محمول. يحتاج الفعلي حقول الواجهة الصحيحة ومعالجة التزامن.
يضيق التتبع الآلية
تفسر عملية نواة طويلة جزءاً من التأخير عند تطابق الوقت والنطاق. قد تشمل انتظاراً أو حساباً أو اعتماداً حسب الواجهة. لا يحدد المخطط مدخل الذيل وحده. اربطه ببيانات طلب محدودة ودليل مستقل ثم اختبر فرضية. احفظ إصدارات الواجهة والأنواع. إذا أجاب عداد أو مقطع أبسط ففضله على تتبع أعقد وأكلف.
الأخطاء الشائعة وإصلاحها
اعتبار قبول المتحقق انعدام كلفة
- لماذا يحدث؟
- اختلطت الصلاحية بكلفة الجمع.
- كيف تصلحه؟
- قس الكلفة وحد الحجم بالمختبر.
- كيف تتجنب تكراره؟
- أدرج فحص التأثير في كل خطة.
الربط بـ PID وحده
- لماذا يحدث؟
- يربط الاستخدام المتكرر أو التداخل أحداثاً أخرى.
- كيف تصلحه؟
- استخدم هوية عملية وعمر مناسبة للواجهة.
- كيف تتجنب تكراره؟
- صمم التزامن والمفقود أولاً.
تجاهل سجلات التتبع المفقودة
- لماذا يحدث؟
- حرف فقد القارئ المجتمع المرصود.
- كيف تصلحه؟
- أبلغ الفقد وقلل النطاق أو الحجم.
- كيف تتجنب تكراره؟
- حدد ميزانية فقد وشرط إيقاف.
اختبر فهمك
1. يبدو المخطط سريعاً والقارئ يبلغ فقداً كثيراً. ماذا تستنتج؟
اعرض الحل المشروح
تبدو البقية سريعة وقد يخفي المفقود الفترات المكلفة. قلل الحجم واحفظ الفقد وكرر الرصد المحدود قبل ادعاء كامل.
2. لماذا لا يكفي BTF مقروء لضمان نقل المجس؟
اعرض الحل المشروح
يساعد النوع التخطيطات وتبقى النقاط والدلالات والرموز والصلاحيات والدعم مختلفة. تفحص الخطة الواجهة والدلالة ولا تفترض ثبات كل دالة.
أهم ما تعلمته
- حد النطاق والمفاتيح والحجم والمدة والاحتفاظ.
- تحقق من الفقد والخصوصية والكلفة والدلالات.