في حال كان لديك موقع على الإنترنت، يجب أن يكون لديك طريقة لمتابعة الموقع وأن الموقع يعمل بشكل صحيح. في الحقيقة كل من يملك موقع على الإنترنت ليس لديه الوقت لمتابعة الموقع 24 ساعة في اليوم وقد ينشغل عنه لمدة أيام قبل أن يستطيع أن يتفحصه.

هناك العديد من الأدوات المجانية والمدفوعة لتفحص الموقع الخاص بك ولكن كل الأدوات الرائعة تأتي بثمل ليس رائع وفي العادة كمالك لموقع صغير غير مربح، لن يكون لديك ميزانية لمثل هذه الأدوات. هنا يأتي دور العالم مفتوح المصدر وجمال العالم الحر مفتوح المصدر.

أداة Uptime Kuma

هي أداة مجانية حرة مفتوحة المصدر لمراقبة المواقع على الإنترنت من خلال عمل طلبات http للموقع الخاص بك وفحص الرد. في العادة، كود 200 يعني أن الموقع يعمل بشكل سليم، أي شيء آخر يعني أن هناك مشكلة.

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

تثبيت أداة Uptime Kuma

الأداة مبنية بلغة JavaScript. لتثبيتها تحتاج إلى الأدوات التالي:

  • مكتبة NodeJS لتشغيل الأداة وخادم ويب.
  • برنامج git لاستنساخ الأداة
  • برنامج pm2 وهو اختياري

ملاحظة: هذا الشرح تم على جهاز ZimaBoard يعمل بنظام Ubuntu Server 22.04.

على الرغم من توفر الأداة على Docker إلا أننا نفضل استخدام الكود المصدري.

تثبيت البرمجيات المطلوبة

أولا، نبدأ بتثبيت NodeJS النسخة 16. الأداة تحتاج إلى نسخة 14 فما فوق، أما نظام أوبنتو يحتوي على نسخة 12. لتثبيت نسخة 16، يتوجب علينا تنفيذ الأوامر التالية في الطرفية:

# apt install -y curl# curl -fsSL https://deb.nodesource.com/setup_16.x | -E bash -# apt install nodejs

للتأكد من النسخة التي تم تثبيتها

# node --version

ثم نقوم بتثبيت برنامج git من خلال الأمر التالي:

# apt install git

والآن يمكننا تثبيت برنامج pm2 لتشغيل البرنامج بشكل تلقائي. أنا شخصيا أُفضّل استخدام systemd بدون برامج إضافية ولكن لك الحرية في استخدام ما تشاء:

# npm install pm2 -g && pm2 install pm2-logrotate

تثبيت الأداة

نبدأ أولا بتحديث أداة npm في حال كان هناك تحديث:

# npm install npm -g

وبعدها نقوم باستنساخ الأداة إلى المكان الذي نرغب فيه:

git clone https://github.com/louislam/uptime-kuma.git

والآن نقوم بدخول مجلد الأداة وتثبيتها من خلال الأوامر التالي:

# cd uptime-kuma
# npm run setup

يمكنك الآن تشغيل الأداة من خلال الأمر التالي:

# node server/server.js

أو يمكنك تشغيل الأداة من خلال pm2 وتركها تعمل في الخلفية:

# pm2 start server/server.js --name uptime-kuma

إستخدام أداة Uptime Kuma

بعد تشغيل الأداة، يمكنك الآن تصفح عنوان IP الخاص بالخادم الذي تعمل عليه الأداة على المنفذ 3001. مثلا:

http://10.0.0.11:3000

في الزيارة الأولى، سيُطلب منك إنشاء مستخدم جديد:

بعد إنشاء المستخدم الأول، سيتم تسجيل دخولك إلى لوحة التحكم. هنا يمكنك إضافة أول موقع للبدء بالمراقبة.

إضافة موقع للمراقبة

يمكنك الضغط على زر Add New Monitor لإضافة موقع جديد للمراقبة:

صفحة إضافة موقع هي صفحة مثيرة للاهتمام وهنا تبرز قدرة الأداة على مراقبة كم هائل من البروتوكولات. هذه هي التفاصيل:

خيار Monitor Type يقوم بسرد الأمور التي يمكن للأداة مراقبتها. في حالة مراقبة موقع ويب عادي، يمكنك استخدام http.

خيار Friendly Name هو عبارة عن اسم سهل يمكنك من خلاله معرفة الخدمة التي نريد مراقبتها.

خيار URL هو عبارة عن رابط الموقع الذي ترغب في مراقبته

خيار Heartbeat Interval (Check every 60 seconds) هو تردد الفحص. بشكل افتراضي هو 60 ثانية. يمكنك تعيينه على أن يكون أقل أو أكثر حسب الحاجة.

خيار Retries وهو عدد مرات فشل الرد التي بعدها سيتم التنبيه على أن الموقع لا يعمل. بشكل افتراضي، يتم التبليغ عند أولا فشل، يمكنك عملها أكثر من 0.

خيار Heartbeat Retry Interval (Retry every 60 seconds) وهو تردد فحص الموقع بعد أن يتم اكتشاف فشل الفحص.

خيار Resend Notification if Down X times consequently (Resend disabled) وهو عبارة عن عدد التنبيهات التي سيتم إرسالها بعد التنبيه الأول في حال استمر فشل الفحص. رقم 0 يعني انه لن يتم إرسال تنبيهات إضافية.

بعد الانتهاء، يمكنك الضغط على Save للبدء بمراقبة الموقع. هنا سوف تجد الموقع على الجانب الأيسر من الشاشة.

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

الفكرة الرئيسية من هذه الأداة هي التنبيهات. بدون التنبيهات، ليس هناك فائدة من هذه الأداة!

بشكل افتراضي، ليس هناك أي تنبيهات مفعلة، ولكن يمكنك ضبط تنبيهات من خلال عدد كبير جدا من الخدمات مثل البريد الإلكتروني، سلاك، تيليجرام، أو حتى ntfy!

هنا سوف أتحدث عن ضبط إشعارات للهاتف المحمول من خلال ntfy.

لإضافة طريقة تنبيه، يمكنك الضغط على اسنم في الجانب الأيمن من الشاشة، ثم اختيار Settings ثم الضغط على Notifications ومن ثم Setup Notification.

من القائمة المنبثقة، قم باختيار وسيلة التنبيه المفضلة لك، ومن ناحيتي قمت باختيار ntfy.

خيارات التنبيهات كالتالي:

اختيار Notification Type هو لتحديد نوع التنبيهات. هنا اخترت ntfy.

اختيار Friendly Name هو لتحديد اسم سهل بالنسبة لك لتتذكره ومن خلاله تعرف ما هو موضوع التنبيهات.

اختيار ntfy Topic هو لتحديد موضوع التنبيهات وهو ما سوف تستخدمه لوصل هاتفك بالتنبيهات. يمكن أن يكون كود عشوائي.

اختيار Default enabled لتفعيل التنبيهات بشكل تلقائي لجميع المواقع الجديدة.

اختيار Apply on all existing monitors هو لتفعيل التنبيهات للمواقع الحالية.

عند الانتهاء، قم بالضغط على Save.

فيما يتعلق بهاتفك، كل ما عليك عمله في هاتفك هو تثبيت برنامج ntfy من المتجر المفضل لديك. بعد تثبيت البرنامج يمكنك ضبط الإعدادات كالتالي:

هذا كل ما يجب عليك فعله لتتلقى الإشعارات على هاتفك المحمول.

الخاتمة

أداة Uptime Kuma ممتازة في مراقبة تطبيقاتك وبرامجك ومواقعك على الإنترنت، وأفضل ما فيها هو أنها تعمل على جهازك الخاص بدون الحاجة لكشف معلوماتك لأي طرف ثالث أو حتى دفع مقابل الخدمة. من ناحيتي قمت بتشغيل الأداة على خادم ZimaBoard الخاص بي في منزلي. خادم ZimaBoard يستهلك قدر ضئيل جدا من الطاقة ويُعتمد عليه في هذا النوع من المهام. يمكنك أيضا تشغيل الخدمة على أي خادم سحابي مثل AWS Lightsail وهو خادم صغير جدا بتكلفة 3.5$ دولار أمريكي في الشهر.

تجربتي للأداة كانت رائعة وهي مميزة بالفعل وتقدم جميع الخدمات التي تجدها في الخدمات المدفوعة وبجودة مرتفعة جدا!

هل أعجبتك الأداة؟ وهل ترغب في استخدامها لمراقبة المواقع الخاصة بك؟ شاركنا رأيك في الموضوع.