It would be nice to have some sort of health check API. We recently faced an issue with an update and Discourse was producing 500 errors.
However, curl returned 200:
curl -I https://forum.gitlab.com
HTTP/2 200
server: nginx
It would be nice to have some sort of health check API. We recently faced an issue with an update and Discourse was producing 500 errors.
However, curl returned 200:
curl -I https://forum.gitlab.com
HTTP/2 200
server: nginx
This exists, see
/srv/status
Ah, thank you! I was searching “health check” and that didn’t yield any results.
المشاركة غير موجودة (404). ما هي نقاط النهاية؟
لقد قمت بتحديث منشوري.
في الواقع، لا أعتقد أن /srv/status سيكتشف مشاكل الترحيل مثل المذكورة أعلاه…
(وسيتطلب ذلك جهدًا كبيرًا لبناء فحص يكتشف مشاكل من هذا النوع)
نعم… /srv/status موجود كاختبار بسيط جدًا، كل ما يفعله هو التأكد من أن طبقة الوسائط (middleware stack) للتطبيق تعمل بشكل صحيح.
للكشف عن المشكلات التي قد تحدث عند النشر التلقائي، أنصح بمراقبة استجابات الحالة 200؛ فإذا زاد عدد الاستجابات غير 200 بشكل كبير، قم بإرسال تنبيه.
هل يُعد https://discourse.example.org/srv/status مكانًا جيدًا لتوجيه مراقب وقت التشغيل إليه؟ أفكر في أن الاعتماد على قياس موثوق لـ “هل الموقع نشط” قد لا يكون كافيًا، لكن سيكون من الجيد وجود شيء يقلل الحمل على النظام لأغراض المراقبة.
(بديلاً من ذلك، هل توجد أي خطط لتوسيع المكونات المدرجة في هذه النقطة النهائية؟)
نعم، هذه نقطة معقولة، ويمكنك أيضًا الإشارة إلى موضوع محدد والبحث عن النص إذا كنت ترغب في شيء أكثر تطورًا
نعم، كنا نستخدم /about لكننا أميلون لاستخدام هذا بدلاً من ذلك.
استيقظ ذهني القديم في العمليات/الدوريات ليُذكّرني بأن الأمر قد لا يزال مثيراً للاهتمام (ومفيداً أحياناً في استكشاف الأخطاء وإصلاحها) إذا كان شيئاً مثل:
قاعدة البيانات تعمل بشكل صحيح
الوسيط يعمل بشكل صحيح
أي شيء آخر يعمل بشكل صحيح
...
جميع الأنظمة تعمل بشكل صحيح