دليل النشر

استضافة Gatus على VPS: صفحة حالة بالكود ومراقبة شاملة

انشر على VPS Cloud ←

دليل عملي

استضافة Gatus على VPS: صفحة حالة بالكود ومراقبة شاملة

الاستضافة الذاتية4 دقائق للقراءةعدد الخطوات: 6

Uptime Kuma يخبرك أن خدمتك تستجيب. Gatus يخبرك أنها تستجيب *بشكل صحيح*: رمز HTTP الدقيق، زمن الاستجابة تحت العتبة، محتوى الجسم، انتهاء شهادة TLS، حل DNS إلى IP الصحيح. وينشر كل شيء على صفحة حالة جاهزة للمشاركة مع عملائك — كل ذلك مدفوع بملف YAML قابل للإصدار، بدون واجهة للتكوين.

المحتويات· لماذا Gatus بدلًا من مراقبة ping الكلاسيكية1/5
  1. 01لماذا Gatus بدلًا من مراقبة ping الكلاسيكية
  2. 02ما يراقبه Gatus — وما لا يستطيع Uptime Kuma فعله
  3. 03المعمارية: حاوية Go واحدة، أقل من 256 ميغابايت RAM
  4. 04استضافة Gatus ذاتيًا على VPS في 6 خطوات
  5. 05نصيحة: أضف config.yaml إلى مستودع git خاص

لماذا Gatus بدلًا من مراقبة ping الكلاسيكية

نقر HTTP يخبرك أن خادمك يستجيب. Gatus يخبرك أنه يستجيب *بشكل صحيح*: تحدد الشروط الدقيقة — [STATUS] == 200، [RESPONSE_TIME] < 800، [BODY] contains "ok"، [CERTIFICATE_EXPIRATION] > 14d — ويرفع Gatus تنبيهًا فور عدم استيفاء أي شرط.

الفرق العملي: تكتشف أن API يُعيد 500 في صمت، أن شهادة تنتهي خلال 10 أيام، أو أن سجل DNS يشير إلى IP خاطئ — قبل أن يكتشف عملاؤك. كل ذلك مدفوع بملف YAML تُصدره مع بقية بنيتك التحتية.

ما يراقبه Gatus — وما لا يستطيع Uptime Kuma فعله

  • شروط HTTP غنية: رمز الحالة الدقيق، زمن الاستجابة بالـ ms، محتوى الجسم بـ regex، قيمة حقل JSON — في تعريف نقطة نهاية واحدة.
  • انتهاء شهادات TLS: [CERTIFICATE_EXPIRATION] > 14d يُطلق تنبيهًا عند بقاء أقل من 14 يومًا قبل انتهاء الشهادة.
  • TCP وICMP وDNS وWebSocket: راقب قاعدة بيانات (tcp://db:5432)، نقر شبكة (icmp://gateway)، حل DNS (dns://ns1.example.com) أو صدى WebSocket من نفس الكونفيغ.
  • صفحة حالة عامة: رابط واحد تعطيه للعملاء ليتحققوا من حالة خدماتك دون مراسلتك.
  • أكثر من 40 قناة تنبيه: Slack وPagerDuty وOpsGenie وDiscord وTeams وntfy وPushover وTelegram والبريد الإلكتروني والـ webhook — مع حدود تشغيل قابلة للضبط لتجنب ضوضاء التقلبات.

المعمارية: حاوية Go واحدة، أقل من 256 ميغابايت RAM

Gatus ثنائي Go موزع في صورة distroless (أقل من 20 ميغابايت). حاوية واحدة، لا تبعية خارجية للتشغيل: سجل الفحوصات مخزّن في قاعدة SQLite في Docker volume. على ServOrbit، تُنشئ حاوية init من alpine:3.20 ملف config.yaml أوليًا عند أول تشغيل — تُعدّله بعدها عبر SSH لإضافة نقاط نهايتك الخاصة.

استهلاك الذاكرة في وضع الخمول أقل من 80 ميغابايت. VPS بـ 512 ميغابايت أكثر من كافٍ.

استضافة Gatus ذاتيًا على VPS في 6 خطوات

  1. اطلب VPS من ServOrbit

    أي خطة بـ 512 ميغابايت RAM كافية — يستهلك Gatus أقل من 80 ميغابايت في وضع الخمول. ضعه على VPS منفصل عن التطبيق الذي يراقبه: إذا تعطّل VPS التطبيق، يستمر VPS المراقبة في إرسال التنبيهات.

  2. النشر من السوق بنقرة واحدة

    لوحة ServOrbit → السوق → المراقبة → Gatus → نشر. تكتب حاوية init ملف config.yaml نموذجًا، ثم يبدأ Gatus. صفحة الحالة متاحة على http://ip-vps:8080 في ثوانٍ.

  3. عدّل ملف التكوين

    سجّل الدخول عبر SSH وعدّل /opt/stacks/gatus/config/config.yaml. استبدل نقطة النهاية النموذجية بخدماتك الفعلية. مثال لـ endpoint HTTP بسيط:

    endpoints:
      - name: "واجهة API الخاصة بي"
        url: "https://api.your-domain.com/health"
        interval: 1m
        conditions:
          - "[STATUS] == 200"
          - "[RESPONSE_TIME] < 1000"

    أعد التشغيل: cd /opt/stacks/gatus && docker compose restart gatus — تظهر نقاط النهاية الجديدة في ثوانٍ.

  4. اضبط التنبيهات

    أضف كتلة alerting: إلى كونفيغك. مثال مع ntfy (تطبيق آخر من السوق):

    alerting:
      ntfy:
        url: "http://your-ntfy-vps:8080"
        topic: "gatus-alerts"
        priority: 3
        failure-threshold: 2
        success-threshold: 3

    يُنبّه Gatus فقط بعد فشلَين متتاليَين (يتجنب الإيجابيات الكاذبة) ويُرسل تنبيه تعافٍ بعد 3 نجاحات متتالية.

  5. شارك صفحة الحالة

    صفحة الحالة على المنفذ 8080 جاهزة للمشاركة فورًا. وجّه نطاقًا فرعيًا (status.your-domain.com) إلى IP الخادم وضبط nginx ليعبر المنفذ 8080، أو فعّل requireDomain: true في السوق للحصول على vhost nginx مكتمل من ServOrbit.

  6. أول تسجيل دخول

    لا يستخدم Gatus أي حسابات: يعرض الرابط صفحة الحالة مباشرةً، وهي عمومية بشكل افتراضي. خطوتكم الأولى الحقيقية هي الإعداد — عدّلوا الملف config.yaml لتستبدلوا نقطة النهاية النموذجية بخدماتكم الخاصة، ثم أعيدوا التشغيل بالأمر التالي: docker compose restart gatus

نصيحة: أضف config.yaml إلى مستودع git خاص

ملف config.yaml الخاص بـ Gatus هو مصدر الحقيقة لمراقبتك. أنشئ مستودع git في /opt/stacks/gatus/، وأضف التغييرات عند كل تعديل، وستحصل على سجل كامل لنقاط النهاية المراقَبة وعتبات التنبيه وتطورها عبر الزمن — تمامًا كبقية كود البنية التحتية.

صفحة حالتك، خادمك

انشر Gatus على VPS ServOrbit واحصل على مراقبة صحة بالكود مع أكثر من 40 قناة تنبيه — بدون طرف ثالث، بدون اشتراك، بدون قاعدة بيانات ثقيلة.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة