API فحص الصحة

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
إعجابَين (2)

This exists, see

/srv/status

15 إعجابًا

Ah, thank you! I was searching “health check” and that didn’t yield any results.

إعجابَين (2)

Post is 404. What are the endpoints?

I’ve updated my post.

إعجابَين (2)

Actually I don’t think /srv/status would catch migration issues like the one mentioned above…

(and it would be pretty hard to build a check that does catch issues like that one)

إعجابَين (2)

Yes… /srv/status is there as a very cheap test, all it does is ensures the apps middleware stack is working.

To catch issues where you auto deploy I would recommend monitoring 200s, if there is a large increase in non 200s alert.

5 إعجابات

هل يُعد https://discourse.example.org/srv/status مكانًا جيدًا لتوجيه مراقب وقت التشغيل إليه؟ أفكر في أن الاعتماد على قياس موثوق لـ “هل الموقع نشط” قد لا يكون كافيًا، لكن سيكون من الجيد وجود شيء يقلل الحمل على النظام لأغراض المراقبة.

(بديلاً من ذلك، هل توجد أي خطط لتوسيع المكونات المدرجة في هذه النقطة النهائية؟)

3 إعجابات

نعم، هذه نقطة معقولة، ويمكنك أيضًا الإشارة إلى موضوع محدد والبحث عن النص إذا كنت ترغب في شيء أكثر تطورًا

7 إعجابات

نعم، كنا نستخدم /about لكننا أميلون لاستخدام هذا بدلاً من ذلك.

استيقظ ذهني القديم في العمليات/الدوريات ليُذكّرني بأن الأمر قد لا يزال مثيراً للاهتمام (ومفيداً أحياناً في استكشاف الأخطاء وإصلاحها) إذا كان شيئاً مثل:

قاعدة البيانات تعمل بشكل صحيح
الوسيط يعمل بشكل صحيح
أي شيء آخر يعمل بشكل صحيح
...
جميع الأنظمة تعمل بشكل صحيح
4 إعجابات