الانتقال إلى المحتوى الرئيسي
الصحة والمراقبة

ما يجب فحصه وما يجب مراقبته وما لا تستطيع الفحوصات إخبارك به.

Markdown

الفحوصات​

نقطة النهايةالردالاستخدام
GET /health/live200 {"status":"ok"} طالما تخدم العملية الطلباتالحيوية (liveness)
GET /health/ready200 {"status":"ok"} عندما تردّ PostgreSQL، وإلا 503 {"status":"unavailable"}الجاهزية (readiness): وجّه الطلبات فقط بعد أن يصبح جاهزًا
livenessProbe:
httpGet: { path: /health/live, port: 8080 }
readinessProbe:
httpGet: { path: /health/ready, port: 8080 }
timeoutSeconds: 5

اضبط timeoutSeconds في فحص الجاهزية. إذا كانت PostgreSQL تقبل الاتصالات لكنها توقفت عن الرد، فقد ينتظر الفحص مدة أطول بكثير، وتجعل المهلة الفحص يفشل بدلًا من أن يتعلق.

ما لا يتحقق منه فحص الجاهزية​

يفحص فحص الجاهزية قاعدة البيانات فقط. وهو لا يتحقق من صلاحية مفتاح الوصول ولا من إمكانية الوصول إلى Unico. يظهر مفتاح الوصول الخاطئ على شكل أخطاء عند الإنشاء، وليس كفشل في الفحص. ضمّن طلب إنشاء حقيقيًا في فحوصات ما بعد النشر.

السجلات​

السجلات أسطر JSON على المخرج القياسي، وتحتوي على timestamp وseverity وservice وmessage. تتضمن الإخفاقات المتعلقة بعملية مخزّنة قيمة id الخاصة بها. لا تُسجَّل الأخطاء التي يرتكبها المستدعي (400 و404 و409 و422).

يسجّل البدء السليم هذه الأسطر، بهذا الترتيب، بين رسائل الاتصال بـ PostgreSQL (تتغير قيمتا version وcount للفهرس مع كل إصدار من الفهرس):

{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}

ما الذي ينبغي إنشاء تنبيهات عليه​

  • فشل الجاهزية: قاعدة البيانات لا يمكن الوصول إليها.
  • تكرار ردود 503 DATABASE_UNAVAILABLE أو 502 UPSTREAM_UNAVAILABLE على استدعاءات الواجهة الخلفية لديك.
  • إعادات تشغيل الحاوية: تعني حلقة إعادة التشغيل عادةً إعدادًا مفقودًا أو فهرسًا لا يمكن الوصول إليه أو مشكلة في قاعدة البيانات. يوضح السجل أيًّا منها.
  • أسطر السجل من مستوى الخطأ، مثل creating process أو retrieving process.

لا يصدّر Human Plugin مقاييس. استخدم البوابة (gateway) أو شبكة الخدمات (service mesh) لديك لمعرفة معدلات الطلبات وزمن الاستجابة.