Spring Boot / المتقدم: المراقبة والإصدارات المتينة / الدرس 13
Actuator والصحة وقابلية المراقبة
اكشف دليلاً تشغيلياً مقصوداً مع فصل الإتاحة والتفويض ومعنى الصحة وأبعاد المقاييس والتشخيص الحساس.
في هذه الصفحة
أهداف الدرس
- تمييز إتاحة المسار من السماح بالوصول.
- تعريف الاستعداد والحياة للتطبيق.
- استخدام أبعاد محدودة ودليل تشخيص محمي.
العملية العاملة ليست مسار عمل صحيحاً
تضيف Actuator مسارات تشغيل وتكاملاً، لكن للصحة معنى خاص بالخدمة. تختلف حياة العملية وقبول المرور وتوفر التابع ونجاح الطلب. لا تثبت حالة إدارة خضراء أن مسار HTTP الرئيسي أو الاعتماد أو الحفظ يعمل. عرّف فحصاً قابلاً للإجراء بمالك ونتيجة فشل.
تختلف الإتاحة والتعريض عبر HTTP/JMX والتفويض. لا يحمي كشف التشخيص نفسه؛ فقد تكشف البيئة والخصائص والكومة والمسارات معلومات حساسة. اختر سطحاً ضيقاً لا كل المسارات للراحة، ولا يُفتح أو يُتصل بأي مسار إدارة هنا.
أعلن سياسة صحة وكشف محدودة
تختار YAML الصحة فقط وتخفي التفاصيل وتفعل مجموعات probes ومسارات المنفذ الرئيسي في تكامل 3.5 مناسب. فُحصت صياغتها فقط، دون UP مرصودة أونشر منسق. يجب أن تسمح سلسلة الأمان والتوجيه بالمعلومات المقصودة مستقلاً.
قد يبقى منفذ إدارة منفصل سليماً والرئيسي معطلاً. تساعد المسارات الإضافية في فحص طريق الخدمة مع توجيه وسياسة مناسبين. لا تربط الحياة بعطل خارجي مشترك لا يصلحه إعادة البدء، واختر توابع الاستعداد وفق العمل لا بإضافة كل مؤشر آلياً.
management:
endpoints:
web:
exposure:
include: health
endpoint:
health:
show-details: never
probes:
enabled: true
add-additional-paths: true
تعبر الوثيقة عن القصد ولا تضبط كل إذن أو تثبت مساراً حياً.
اجعل أبعاد المقياس محدودة وذات معنى
يعد counter الأحداث، ويصف timer توزيع المدة، ويراقب gauge قيمة حالية بدلالته. يسجل الجزء فئة نتيجة واحدة محدودة ويحتاج registry مُدارة ولم ينفذ. ليست زيادة العداد إيصال معاملة أودليل نجاح بعيد دائم.
لا تجعل المعرف أوالرمز أو URL كاملة أوأي رسالة خطأ وسم مقياس؛ فكثرة القيم تستهلك وتكشف بيانات. استخدم فئات وقوالب مسار معتمدة، واحفظ ربط الطلب في سجل أو trace مضبوطين. لا يعطي متوسط الزمن المئين الحاد، ويحتاج تصدير registry موفراً وعمره الخاصين.
package training.catalog;
import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.stereotype.Component;
@Component
class LookupMetrics {
private final Counter successes;
LookupMetrics(MeterRegistry registry) {
successes = Counter.builder("catalog.lookup.calls")
.tag("outcome", "success")
.description("Completed successful catalog lookups")
.register(registry);
}
void successfulLookup() { successes.increment(); }
}
المفردة ثابتة ولا يصدر الجزء قياساً فعلياً؛ ويجب وضع النداء عند النتيجة المقصودة.
اربط الأسباب دون تحويل التشخيص إلى تسريب
تجيب السجلات والمقاييس والتتبعات أسئلة مترابطة مختلفة. يحدد أخذ العينات والنقل المرئي؛ فلا يثبت غياب span غياب العمل. احفظ هوية وسبباً مقيدين دون ترويسات سرية أوشخصي غير لازم، وغطِ مسارات الفشل وإعداد التصدير بالتنقيح.
اربط التأخر بنداءات القاعدة والطابور والمهلة والجامع والأخطاء بحمل متكافئ. قد تضيف المراقبة كلفة وكشفاً فتراجع كشيفرة. لا تفعل تسجيل أجسام طلبات بيئة حقيقية لتفسير خطأ مصطنع، ولا تنشئ الدورة جهة telemetry أوتصديراً خارجياً.
تحقق من الإشارة المفيدة والتفاصيل الممنوعة
اختبر الحالة العامة والتفصيل المقيد والتشخيص المخول وغياب السلطة ورفض البدء وتغير الاستعداد والإغلاق. أكد غياب الأسرار وأن سماح الصحة لا يجيز env. قد تغير سلسلة مخصصة أمان الإدارة، فاختبر الضبط المدمج الفعلي.
حدد الإشارة التي توجه أو تعيد أوتصعد ولماذا يفيد الفعل، ولا تطلق تنبيهاً بلا مالك وخطوة تشخيص. الجاهزية دليل خدمة واسترداد لا لقطة JSON خضراء. تظل الأمثلة توضيحية حتى تحقق بيئة إطار ونشر مخولة الشروط المطلوبة.
الأخطاء الشائعة وإصلاحها
نجحت الإدارة وتعطل الموصل الرئيسي.
- لماذا يحدث؟
- لم ير الفحص طريق الخدمة المطلوب.
- كيف تصلحه؟
- راجع المسار والاستعداد.
- كيف تتجنب تكراره؟
- اختبر فشل الموصل والتابع.
صنعت المقاييس سلاسل بلا حد.
- لماذا يحدث؟
- ضمت الوسوم قيماً لكل طلب.
- كيف تصلحه؟
- اختر مفردات محدودة معتمدة.
- كيف تتجنب تكراره؟
- راجع الحجم والحساسية.
اعتُبر المكشوف محمياً تلقائياً.
- لماذا يحدث؟
- اختلط التعريض بالتفويض.
- كيف تصلحه؟
- افحص السياسة لكل سطح.
- كيف تتجنب تكراره؟
- اختبر المنع والتنقيح.
اختبر فهمك
1. لماذا لا تربط الحياة عادة بعطل قاعدة مشتركة؟
اعرض الحل المشروح
لا تصلح إعادة الجميع العطل وقد تضخمه. عرّف الحياة بقابلية العملية واختر توابع الاستعداد وفق فائدة منع المرور.
2. هل يثبت متوسط المدة p99؟
اعرض الحل المشروح
لا؛ لا يصف الذيل. اختر timer أو histogram وحساباً معرفاً وقارن حملاً وفئات متكافئة دون وسوم خاصة أوغير محدودة.
أهم ما تعلمته
- للصحة معنى مرتبط بالفعل.
- الكشف والتفويض والتنقيح فحوص منفصلة.
- يحتاج الدليل أبعاداً محدودة وحدود عينات صريحة.