Spring Boot هو إطار عمل قوي يبسط تطوير تطبيقات Java. واحدة من أبرز ميزاته هي Spring Boot Actuator، وهو مشروع فرعي مصمم لتوفير ميزات جاهزة للإنتاج لمساعدتك في مراقبة وإدارة تطبيقك. في منشور المدونة هذا، سنتعمق في نقاط نهاية Spring Boot Actuator، ونفهم أهميتها، وكيفية الاستفادة القصوى منها في تطبيقاتك.
هل أنت مستعد للارتقاء بمراقبة تطبيقك إلى المستوى التالي؟ قم بتنزيل Apidog مجانًا وابدأ في دمجه مع نقاط نهاية Spring Boot Actuator الخاصة بك اليوم. مع Apidog، يمكنك بسهولة تصميم واختبار ومراقبة واجهات برمجة التطبيقات الخاصة بك، مما يضمن الأداء المثالي والموثوقية.
ما هي نقاط نهاية Spring Boot Actuator؟
أولاً، دعنا نوضح ما هي نقاط نهاية Spring Boot Actuator. نقاط نهاية Actuator هي URLs محددة يوفرها Spring Boot Actuator لمراقبة والتفاعل مع تطبيقك. تعرض هذه النقاط معلومات مختلفة عن التطبيق مثل الصحة، والقياسات، وخصائص البيئة، والمزيد.
يأتي Spring Boot Actuator مع مجموعة واسعة من نقاط النهاية المدمجة، ويمكنك أيضًا إنشاء نقاط نهاية مخصصة. هذه النقاط مفيدة للغاية للحصول على رؤى حول حالة تشغيل التطبيق الخاص بك ولأداء المهام الإدارية.
لماذا تستخدم نقاط نهاية Spring Boot Actuator؟
لماذا يجب أن تهتم بنقاط نهاية Spring Boot Actuator؟ حسنًا، لأنها تقدم العديد من الفوائد:
- المراقبة: يمكنك مراقبة أداء وصحة تطبيقك في الوقت الحقيقي.
- استكشاف الأخطاء: تساعد نقاط نهاية Actuator في تشخيص المشكلات من خلال تقديم معلومات مفصلة حول الحالة الداخلية للتطبيق.
- الأتمتة: يمكن دمج هذه النقاط مع أدوات المراقبة مثل Prometheus وGrafana أو Apidog لإجراء التحقق من الصحة والإشعارات تلقائيًا.
- سهولة الاستخدام: من السهل إعدادها وتتطلب الحد الأدنى من التكوين للبدء.
مع وضع هذه الفوائد في الاعتبار، دعنا نستكشف بعض من نقاط نهاية Spring Boot Actuator الرئيسية وكيفية استخدامها بفعالية.

البدء مع Spring Boot Actuator
قبل أن نتعمق في نقاط النهاية المحددة، نحتاج إلى إعداد Spring Boot Actuator في تطبيقنا. إليك دليل سريع لمساعدتك على البدء:
أضف الاعتماد: قم بتضمين اعتماد Spring Boot Actuator في ملف pom.xml الخاص بك:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
التكوين: بشكل افتراضي، يتم عرض نقاط نهاية Actuator على المسار الأساسي /actuator. يمكنك تخصيص ذلك في ملف application.properties أو application.yml الخاص بك:
management.endpoints.web.base-path=/manage
الأمان: في بيئات الإنتاج، تأمين نقاط نهاية Actuator الخاصة بك أمر بالغ الأهمية. يمكنك تكوين إعدادات الأمان لتقييد الوصول:
management.endpoints.web.exposure.include=health,info
management.endpoint.health.probes.enabled=true
management.endpoint.health.show-details=always
management.endpoints.web.exposure.exclude=env
بعد إعداد كل ذلك، دعنا ننتقل إلى استكشاف نقاط نهاية Spring Boot Actuator الأكثر استخدامًا.

نقاط نهاية Spring Boot Actuator الرئيسية
1. نقطة نهاية الصحة
تقدم نقطة نهاية /health معلومات أساسية عن صحة تطبيقك. إنها واحدة من أكثر النقاط استخدامًا لأغراض المراقبة.
- URL:
/actuator/health - الاستجابة: كائن JSON يشير إلى حالة الصحة (
UP،DOWN، إلخ.)
مثال على الاستجابة:
{
"status": "UP",
"components": {
"db": {
"status": "UP",
"details": {
"database": "MySQL",
"validationQuery": "isValid()"
}
},
"diskSpace": {
"status": "UP",
"details": {
"total": 499963174912,
"free": 340105166848,
"threshold": 10485760
}
}
}
}
2. نقطة نهاية المعلومات
تقوم نقطة نهاية /info بفضح معلومات عشوائية عن التطبيق. يمكنك استخدام هذه النقطة لتقديم تفاصيل مثل الإصدار، والوصف، وبيانات التعريف الأخرى.
- URL:
/actuator/info - التكوين: يمكنك تكوين المعلومات في ملف
application.properties:
info.app.name=تطبيقي Spring Boot
info.app.description=هذا هو تطبيق نموذجي.
info.app.version=1.0.0
3. نقطة نهاية القياسات
توفر نقطة نهاية /metrics ثروة من المعلومات حول قياسات مختلفة تم جمعها بواسطة التطبيق، مثل استخدام الذاكرة، واستخدام وحدة المعالجة المركزية، وإحصائيات طلبات HTTP.
- URL:
/actuator/metrics - الاستجابة: كائن JSON يحتوي على بيانات القياسات
مثال على الاستجابة:
{
"names": [
"jvm.memory.used",
"jvm.gc.pause",
"http.server.requests",
...
]
}
يمكنك أيضًا استعلام قياسات محددة، على سبيل المثال، للحصول على إحصائيات طلبات HTTP:
- URL:
/actuator/metrics/http.server.requests - الاستجابة: بيانات قياسات تفصيلية لطلبات HTTP
4. نقطة نهاية البيئة
تكشف نقطة نهاية /env الخصائص من بيئة Spring. يمكن أن يكون هذا مفيدًا جدًا لتصحيح مشاكل التكوين.
- URL:
/actuator/env - الاستجابة: كائن JSON يحتوي على خصائص البيئة
مثال على الاستجابة:
{
"activeProfiles": ["dev"],
"propertySources": [
{
"name": "applicationConfig: [classpath:/application.properties]",
"properties": {
"server.port": {
"value": "8080"
}
}
},
...
]
}
5. نقطة نهاية الحبوب
توفر نقطة نهاية /beans قائمة بجميع حبوب Spring في سياق التطبيق جنبًا إلى جنب مع تبعياتها. هذا مفيد لفهم توصيل تطبيقك.
- URL:
/actuator/beans - الاستجابة: كائن JSON يحتوي على بيانات الحبوب
مثال على الاستجابة:
{
"contexts": {
"application": {
"beans": {
"beanName": {
"aliases": [],
"scope": "singleton",
"type": "com.example.MyBean",
"resource": "file:./classes/com/example/MyBean.class",
"dependencies": []
},
...
}
}
}
}
دمج نقاط نهاية Spring Boot Actuator مع Apidog
تقدم نقاط نهاية Spring Boot Actuator مجموعة غنية من الأدوات لمراقبة وإدارة تطبيقك. للاستفادة الكاملة من هذه الميزات، يمكن أن يكون دمجها مع أداة إدارة API قوية مثل Apidog مفيدًا للغاية. يساعد Apidog في تصميم واختبار ومراقبة واجهات برمجة التطبيقات بسلاسة، مما يعزز استراتيجية إدارة التطبيقات العامة الخاصة بك.
لماذا دمج مع Apidog؟
يوفر Apidog العديد من المزايا عند دمجه مع نقاط نهاية Spring Boot Actuator:
- المراقبة المركزية: اجمع كل بيانات نقاط نهاية Actuator الخاصة بك في مكان واحد.
- الإشعارات التلقائية: قم بإعداد إشعارات تلقائية للقياسات الحيوية الحرجة وحالات الصحة.
- تحليل محسّن: استفد من ميزات تحليلات Apidog لتحليل عميق للقياسات.
- توثيق API: قم بإنشاء توثيق شامل لواجهات برمجة التطبيقات بسهولة.
خطوات دمج Spring Boot Actuator مع Apidog
سجل واجهتك البرمجية: ابدأ بتسجيل واجهة Spring Boot البرمجية الخاصة بك مع Apidog.

سيسمح هذا لـ Apidog بالتعرف على نقاط نهاية Actuator الخاصة بك والتفاعل معها.

تأكد من أن نقاط نهاية Actuator الخاصة بك مكشوفة وقابلة للوصول. قم بضبط إعدادات الأمان الخاصة بك إذا لزم الأمر للسماح لـ Apidog بالوصول إلى هذه النقاط.
راقب الصحة: استخدم Apidog لمراقبة النقطة باستمرار. ستساعدك هذه الخطوة في تتبع حالة صحة تطبيقك وإعلامك بأي مشكلات.

استفد من قدرات تحليلات Apidog لجمع معلومات من النقطة. سيساعدك ذلك في فهم اتجاهات الأداء وتحديد الاختناقات المحتملة.
فوائد الدمج
يوفر دمج نقاط نهاية Spring Boot Actuator مع Apidog حلاً قويًا للمراقبة. إليك بعض الفوائد الرئيسية:
- المراقبة في الوقت الحقيقي: احصل على تحديثات في الوقت الحقيقي حول صحة وأداء تطبيقك.
- حل المشكلات بشكل استباقي: تتيح لك التنبيهات التلقائية معالجة المشكلات قبل أن تؤثر على المستخدمين.
- تحليل شامل: تساعد التحليلات التفصيلية في فهم أنماط الاستخدام وتحسين تخصيص الموارد.
- إدارة مبسطة: تجعل إدارة واجهات برمجة التطبيقات المركزية من السهل مراقبة وإدارة خدمات متعددة.
يفتح هذا الدمج عالمًا من الاحتمالات لإدارة التطبيقات بشكل استباقي. ابدأ بالدمج اليوم واختبر فوائد المراقبة والإدارة السلسة مع Spring Boot Actuator وApidog.
نصائح وحيل متقدمة لاستخدام نقاط نهاية Spring Boot Actuator
الآن بعد أن فهمنا الأساسيات، دعنا نتعمق في بعض النصائح والحيل المتقدمة التي يمكن أن تساعدك في الحصول على المزيد من نقاط نهاية Spring Boot Actuator.
ضبط جمع القياسات
بشكل افتراضي، يقوم Spring Boot Actuator بجمع مجموعة كبيرة من القياسات. ومع ذلك، في بيئة الإنتاج، قد ترغب في تخصيص القياسات التي يتم جمعها لتحسين الأداء والتخزين.
تمكين القياسات المحددة: يمكنك ضبط القياسات المسموح بها باستخدام الخصائص في application.properties أو application.yml.
management.metrics.enable.jvm=true
management.metrics.enable.process=true
management.metrics.enable.http.server.requests=true
العينة والتوزيع: قم بضبط معدل العينة وإعدادات التوزيع للتحكم في دقة وأداء جمع القياسات.
management.metrics.distribution.percentiles.http.server.requests=0.5,0.95,0.99
management.metrics.distribution.expiry=http.server.requests=60s
إنشاء مؤشرات الصحة المركبة
تجمع مؤشرات الصحة المركبة العديد من مؤشرات الصحة في حالة صحة واحدة. يمكن أن يكون هذا مفيدًا بشكل خاص إذا كان لديك عدة أنظمة فرعية لمراقبتها.
إنشاء مؤشرات الصحة: قم بتنفيذ مؤشرات الصحة المخصصة عن طريق تمديد AbstractHealthIndicator.
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;
@Component
public class CustomHealthIndicator implements HealthIndicator {
@Override
public Health health() {
// منطق التحقق من الصحة المخصص
return Health.up().withDetail("custom", "جميع الأنظمة تعمل").build();
}
}
تجميع مؤشرات الصحة: استخدم HealthAggregator لتجميع مؤشرات الصحة المتعددة.
import org.springframework.boot.actuate.health.CompositeHealthContributor;
import org.springframework.boot.actuate.health.HealthContributor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HealthConfig {
@Bean
public HealthContributor customHealthContributor() {
return CompositeHealthContributor.fromMap(Map.of(
"custom", new CustomHealthIndicator(),
"db", new DataSourceHealthIndicator(dataSource)
));
}
}
تخصيص مسارات النقاط وعرضها
قد ترغب في تغيير المسارات الافتراضية أو التحكم في النقاط التي يتم عرضها بناءً على بيئات مختلفة (مثل dev مقابل prod).
المسار المخصص: غير المسار الأساسي لجميع نقاط نهاية Actuator.
management.endpoints.web.base-path=/monitoring
العرض الخاص بالبيئة: استخدم الملفات التعريفية لتخصيص عرض النقاط لانتهاء مجموعة مختلفة.
# application-dev.properties
management.endpoints.web.exposure.include=*
# application-prod.properties
management.endpoints.web.exposure.include=health,info,metrics
الاستفادة من أدوات المراقبة التابعة لجهات خارجية
بينما يوفر Spring Boot Actuator أساسًا قويًا، يمكن أن يوفر الدمج مع أدوات من جهات خارجية قدرات مراقبة أكثر قوة. يمكن لأدوات مثل Prometheus و Grafana و New Relic استيعاب القياسات من نقاط نهاية Actuator وتوفير تحليلات متقدمة، وإشعارات، ورسوم بيانية.
Prometheus: قم بتكوين نقطة نهاية Prometheus لجمع القياسات.
management.endpoint.prometheus.enabled=true
Grafana: استخدم Grafana لتصور قياسات Prometheus بإضافة مصدر بيانات يشير إلى خادم Prometheus الخاص بك.
تصحيح الأخطاء وتسجيل
يمكن أن تساعد التعزيزات في تسجيل البيانات حول نقاط نهاية Actuator في تصحيح المشكلات. خصص مستويات التسجيل لنقاط نهاية Actuator في application.properties.
logging.level.org.springframework.boot.actuate=DEBUG
logging.level.org.springframework.boot.actuate.endpoint=TRACE
الأتمتة مع CI/CD
قم بإدماج نقاط نهاية Actuator في خطوط أنابيب CI/CD الخاصة بك لأتمتة التحقق من الصحة والمراقبة.
يتوفر CI/CD على Apidog

التحقق من المسبق للنشر: قبل النشر، قم بتشغيل برنامج نصي يتحقق من نقطة الصحة.
curl -f http://localhost:8080/actuator/health || exit 1
المراقبة بعد النشر: بعد النشر، راقب باستمرار القياسات الرئيسية وأعد الإشعارات لأي شذوذ.
خاتمة
نقاط نهاية Spring Boot Actuator ليست مجرد أداة للمراقبة؛ بل هي حل شامل للحفاظ على صحة وأداء وموثوقية تطبيقك. من خلال الاستفادة من قوة هذه النقاط، يمكنك الحصول على رؤى عميقة حول كيفية عمل تطبيقك من الداخل، وأتمتة مهام الإدارة، وضمان أن نظامك يبقى قويًا وقابلًا للاستجابة تحت ظروف مختلفة.
سواء كنت قد بدأت للتو مع Spring Boot أو كنت تبحث عن تحسين استراتيجيتك للمراقبة، توفر نقاط Endereات Actuator أساسًا قويًا. بالاقتران مع أدوات مثل Apidog، يمكنك رفع قدرات المراقبة لديك إلى آفاق جديدة، مما يضمن أن تطبيقاتك تعمل دائمًا بسلاسة وكفاءة.
تذكر، بينما تعمل الإعدادات الافتراضية بشكل رائع من البداية، القوة الحقيقية تكمن في تخصيص هذه النقاط ودمجها في سير العمل الخاص بك. لذا، ابدأ في الاستكشاف، والتعديل، ودمج نقاط نهاية Actuator اليوم وشاهد كيف تتحول مراقبة تطبيقك من الأساسيات إلى الروعة.
