دليل النشر

استضف Beszel على VPS: المراقبة والتنبيهات والأمان

انشر على VPS Cloud →

الأمان والمراقبة10 دقيقة قراءة

استضف Beszel على VPS: المراقبة والتنبيهات والأمان

تشغيل عدة نسخ من VPS أمر طبيعي بمجرد أن تبدأ الاستضافة الذاتية بجدية. لكن فحص كل خادم على حدة بطيء وستفوتك المشكلات قبل أن تصبح مكلفة. يحل Beszel هذا الأمر بنموذج مركز ووكيل (hub-and-agent): مركز واحد خفيف مدعوم بـ PocketBase يجمّع المقاييس في الوقت الفعلي من جميع خوادمك. يعمل المركز في وضع الخمول بأقل من 50 MB من ذاكرة RAM، والوكلاء ملفات Go ثنائية صغيرة، ويستغرق الإعداد بالكامل نحو 10 دقائق. يغطّي هذا الدليل النشر الكامل: تشغيل المركز، وإضافة عدة وكلاء، وتهيئة التنبيهات، وتأمين الإعداد، وحل المشكلات الشائعة.

لماذا يحقق Beszel التوازن الصحيح للمستضيفين ذاتيًا

يُعدّ Grafana + Prometheus المعيار الصناعي، لكنه يأتي بعبء إعداد كبير: المصدّرات (exporters)، وتهيئة Prometheus، ومصادر بيانات Grafana، ولوحات التحكم. أما Uptime Kuma فرائع لفحوصات التوفّر لكنه لا يمنحك مقاييس الموارد. Netdata غني بالبيانات لكنه يستهلك ذاكرة أكبر لكل عقدة ويتطلب حسابًا سحابيًا لتجميع عدة مضيفين. يقع Beszel في المنتصف: مقاييس موارد كاملة (CPU، RAM، القرص، عرض النطاق، درجات الحرارة)، وإحصاءات Docker لكل حاوية، ورسوم بيانية تاريخية وتنبيهات عتبات — يُنشَر بأمر Docker واحد دون أي ملفات تهيئة.

المركز مبني على PocketBase، ما يعني أنه ملف Go ثنائي واحد بقاعدة بيانات مدمجة. لا حاجة إلى Postgres أو Redis منفصل. ولا YAML لكتابته. المقابل هو أن Beszel لا يقوم بالاستعلامات المخصّصة أو لوحات التحكم الاعتباطية مثل Prometheus/Grafana — لكن لمراقبة الموارد عبر أسطول، فهو أسرع للبدء وأسهل في الصيانة.

Uptime Kuma · Beszel · Netdata — مقارنة

المعيارUptime KumaBeszelNetdata
مقاييس المواردلا (سبر HTTP/TCP فقط)نعم (CPU، RAM، القرص، عرض النطاق، الحرارة)نعم (تفصيل عالٍ)
متعدّد الخوادم بدون حساب سحابينعم (نسخة لكل خادم)نعم (مركز واحد، وكلاء غير محدودين)جزئي (يتطلب room سحابية للتجميع)
استهلاك RAM للمركز< 100 MB< 50 MB300–500 MB لكل عقدة
إحصاءات Docker لكل حاويةلانعم (اكتشاف تلقائي)نعم
تهيئة مطلوبةواجهة ويبلا شيءلا شيء
تصدير Prometheusلا (أصلي)غير أصلي (تجريبي /metrics)نعم (أصلي)

ما تحصل عليه جاهزًا

  • مقاييس CPU وRAM والقرص وعرض النطاق ودرجة الحرارة تُحدَّث كل 15 ثانية.
  • إحصاءات Docker لكل حاوية — CPU وRAM والشبكة لكل حاوية، يتم اكتشافها تلقائيًا.
  • رسوم بيانية تاريخية بدقّة ساعية ويومية وشهرية دون حدّ أقصى للاحتفاظ.
  • تنبيهات عتبات تُرسَل إلى Telegram وSlack والبريد الإلكتروني وDiscord وntfy وPagerDuty وغيرها.
  • متعدّد الخوادم: مركز واحد، وعدد غير محدود من الوكلاء — دون رسوم لكل خادم أو ميزات محجوبة.
  • يتصل الوكلاء بالمركز من الخارج — دون الحاجة إلى قواعد جدار حماية واردة على الخوادم المراقَبة.
  • رخصة MIT — مفتوح المصدر بالكامل، مستضاف ذاتيًا، دون أي اعتماد على السحابة.

المتطلبات

المركز خفيف بشكل استثنائي. يعمل بسلاسة على VPS بسعة 512 MB / 1 vCPU — بل يتّسع جنبًا إلى جنب مع خدمات أخرى على أصغر خوادمك. خطّط لتخصيص 5–10 GB من القرص لدليل بيانات PocketBase، الذي ينمو ببطء مع تراكم المقاييس التاريخية. الوكلاء أخفّ من ذلك: بضعة MB من الذاكرة لكل واحد. يمكنك مراقبة أكثر من 20 خادمًا دون أن يبذل المركز أي جهد يُذكَر على VPS بسعة 1 GB.

المتطلبات: Docker مثبّت على المركز (لحاوية المركز) وعلى كل خادم مراقَب (للوكيل في وضع الحاوية). توجد بديل ثنائي بدون Docker للوكلاء — راجع التوثيق الرسمي لهذا البديل.

انشر المركز وأضِف عدة وكلاء

01

شغّل المركز

على VPS المخصّص للمراقبة:

docker run -d --restart=always \
  -p 8090:8090 \
  --name beszel \
  -v /opt/beszel:/beszel_data \
  henrygd/beszel:latest

يبدأ المركز فورًا — دون الحاجة إلى متغيّرات بيئة أو ملفات تهيئة.

02

أنشئ حساب المدير

افتح http://<hub-ip>:8090. أول زائر يرى معالج PocketBase الذي ينشئ حساب المدير (بريد إلكتروني + كلمة مرور قوية). هذا الحساب يتحكم بكامل لوحة التحكم — اختر كلمة مرور متينة، ستفعّل المصادقة الثنائية في الخطوة التالية.

03

فعّل المصادقة الثنائية على حساب المدير

في PocketBase، اذهب إلى Settings → Admins، افتح ملفك الشخصي وفعّل المصادقة الثنائية (TOTP). امسح رمز QR بتطبيق مصادقة (Aegis، Authy، 1Password). من الآن فصاعدًا، يتطلب كل تسجيل دخول الرمز المؤقت إضافةً إلى كلمة المرور.

04

ضع المركز خلف وكيل عكسي HTTPS

وجّه نطاقًا فرعيًا (مثل monitor.yourdomain.com) إلى VPS المركز. مع Caddy:

apt install -y caddy

محتوى /etc/caddy/Caddyfile:

monitor.yourdomain.com {
  reverse_proxy localhost:8090
}

يوفّر Caddy شهادة TLS تلقائيًا. أغلق بعدها المنفذ 8090 في جدار الحماية — إذ يمرّ كل الوصول عبر 443:

ufw delete allow 8090
ufw allow 443
05

أضِف كل خادم مراقَب

في Beszel، انقر على Add system، وأدخل اسمًا وعنوان IP للخادم أو اسم المضيف (المنفذ 45876). يولّد المركز مفتاحًا عموميًا لكل نظام — انسخه.

06

ثبّت الوكيل على كل خادم مراقَب

على كل خادم للمراقبة:

docker run -d --restart=always \
  --network host \
  --name beszel-agent \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -e KEY="<المفتاح-المنسوخ-من-المركز>" \
  henrygd/beszel-agent:latest

ينشئ الوكيل اتصالًا صادرًا بالمركز على المنفذ 45876 — دون الحاجة إلى فتح أي منفذ وارد على الخادم المراقَب. تظهر المقاييس في لوحة التحكم خلال ثوانٍ.

تهيئة تنبيهات Telegram والبريد الإلكتروني

في إعدادات Beszel، افتح تبويب Notifications وانقر على Add notification.

Telegram (موصى به للسرعة): أنشئ بوتًا عبر @BotFather للحصول على رمز، ثم استرجع chat_id الخاص بك بإرسال رسالة للبوت واستدعاء https://api.telegram.org/bot<token>/getUpdates. الصق الرمز ومعرّف المحادثة في النموذج. تأكّد الاتصال برسالة اختبار.

البريد الإلكتروني (SMTP): أدخل مضيف SMTP والمنفذ (587 لـ STARTTLS) واسم المستخدم وكلمة المرور وعنوان الوجهة. على كل نظام مراقَب، حدّد عتبات التنبيه: مثلًا، نبّه عندما يتجاوز استخدام القرص 80% أو تبقى RAM فوق 90% لمدة 5 دقائق. يمكن أن تتعايش عدة قنوات — Telegram للتنبيهات العاجلة، والبريد الإلكتروني للملخّصات.

استكشاف الأخطاء — وكيل صامت، TLS مرفوض، منفذ محجوب

الوكيل لا يظهر في لوحة التحكم. تحقّق أولًا من أن الوكيل يعمل فعلًا: docker logs beszel-agent. رسالة connection refused تعني أن المنفذ 45876 محجوب على المركز — افتحه من جهة المركز فقط (الوكلاء أنفسهم لا يحتاجون إلى أي منفذ وارد):

ufw allow 45876/tcp

إذا أظهرت السجلات خطأ TLS مثل certificate signed by unknown authority، فالمركز مكشوف بشهادة موقّعة ذاتيًا أو شهادة من جهة غير معترف بها. حلّان: استخدام شهادة Let's Encrypt صحيحة (المسار الموصى به عبر Caddy)، أو تمرير AGENT_SKIP_TLS_VERIFY=true للوكيل (يُجنَّب في الإنتاج).

المركز خلف وكيل عكسي لكن الوكلاء لا يتصلون. المنفذ 45876 منفذ TCP مباشر (ليس HTTP): لا يُوكَّل بنفس الطريقة عبر Caddy أو nginx. الحل: كشف المنفذ 45876 مباشرةً على المركز (ليس عبر الوكيل) ووضع الواجهة الويب (8090) فقط خلف الوكيل HTTPS. اسمح بالمنفذ 45876 في جدار الحماية وتأكّد من أن مجموعة أمان VPS تسمح به كـ TCP وارد من عناوين IP وكلائك.

مقاييس Docker غائبة. يجب أن يتمتع الوكيل بالوصول إلى مقبس Docker. تحقّق من أن /var/run/docker.sock مركَّب للقراءة فقط في أمر تشغيل الوكيل.

تأمين المركز

يجمّع مركز المراقبة بيانات حساسة (الحمل، القرص، طوبولوجيا الشبكة الداخلية). بعض التدابير الأساسية:

تقييد الوصول إلى لوحة التحكم. بعد تفعيل المصادقة الثنائية، أضِف قيودًا على عناوين IP أو مصادقة HTTP أساسية على مستوى الوكيل العكسي إذا كان المركز متاحًا لفريق صغير فقط. مع Caddy:

monitor.yourdomain.com {
  basicauth {
    <المستخدم> <تجزئة-bcrypt>
  }
  reverse_proxy localhost:8090
}

المنفذ 45876 غير مكشوف علنًا. إذا كانت جميع وكلاؤك على نسخ VPS تشترك في شبكة خاصة، فهيّئ المركز للاستماع على عنوان IP الخاص فقط واحجب 45876 على عنوان IP العام. وإلا، قيّد هذا المنفذ على عناوين IP المعروفة للوكلاء في ufw.

احتفظ بنسخة احتياطية من دليل البيانات. يحتوي المجلد /opt/beszel على قاعدة بيانات PocketBase وتاريخ المقاييس. أدرجه في روتين النسخ الاحتياطي — الاستعادة بعد العطل فورية إذا كانت النسخة الاحتياطية محدّثة.

التصدير إلى Prometheus — للمضيّ قُدُمًا

إذا كانت لديك بالفعل منظومة Prometheus/Grafana وتريد مركزة جميع مقاييسك، يكشف Beszel نقطة نهاية تجريبية /metrics بتنسيق Prometheus على المركز. فعّلها في الإعدادات المتقدمة وأضِف مهمة scrape إلى prometheus.yml الخاص بك:

scrape_configs:
  - job_name: beszel
    static_configs:
      - targets: ['monitor.yourdomain.com']
    scheme: https
    metrics_path: /metrics
    basic_auth:
      username: '<المستخدم>'
      password: '<كلمة-المرور>'

هذا ليس المسار الأساسي لـ Beszel — إذا كان Prometheus/Grafana موجودًا بالفعل فقد لا تحتاج إلى Beszel أصلًا. لكن لفريق يريد كلتا لوحتي التحكم، فهو جسر مفيد.

شغّل مركز Beszel على VPS منفصل عن منظومتك الرئيسية. عندما يتعطّل خادم الإنتاج، تريد أن يبقى نظام المراقبة قائمًا ويرسل التنبيهات — لا أن يتعطّل معه. إن بصمة الموارد الصغيرة للمركز تعني أنه بإمكانك تبرير تخصيص VPS بسعة 512 MB للمراقبة دون الشعور بأنك تهدر المال.

التوثيق الرسمي

لمزيد من التهيئة المتقدمة والخيارات الخاصة بالأداة، راجع التوثيق الرسمي لـ Beszel. يغطّي هذا الدليل النشر على VPS والمشكلات الشائعة؛ ويبقى توثيق الناشر المرجع للتحديثات الكبرى والإعدادات الدقيقة.

راقب جميع خوادمك من مركز واحد

انشر مركز المراقبة Beszel على VPS من ServOrbit — خفيف، مستضاف ذاتيًا، وبدون رسوم لكل خادم. أضِف الوكلاء إلى كل خادم في أسطولك في دقائق.

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

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