تخطَّ إلى المحتوى
ططارق الوليديAI Developer Tools Directory
B

Beszel

نشط ومستقريعمل محلياً ✓بدون اشتراك API

Beszel لوحة ذاتية الاستضافة تراقب خوادمك وحاويات Docker، وتحفظ السجل وترسل تنبيهات من Hub خفيف تديره أنت.

$docker compose up -d
💡

الاستخدام المثالي لهذه الأداة

يناسب مطورًا منفردًا أو فريقًا صغيرًا يدير VPS أو خادمًا منزليًا أو عدة أجهزة Docker ويريد لوحة بسيطة وسجلًا وتنبيهات. قيمته أنه يجمع مقاييس المضيف والحاويات في Hub ذاتي الاستضافة. لا تستخدمه بدل منصة logs وtraces كاملة عندما تحتاج Observability متقدمة.

التفاصيل والميزات المصورة

حين يدير فرد أو فريق صغير خادمين أو ثلاثة، تبدأ المشكلة عادةً من التشتت: أمر top يعطيك لحظة واحدة، وdocker stats يريك الحاويات الآن فقط، والتنبيه لا يصل إلا بعد أن يلاحظ مستخدم أن الخدمة بطيئة. Beszel يجمع هذه الصورة في لوحة ذاتية الاستضافة: Hub بواجهة ويب، وAgent خفيف على كل نظام، وسجل تاريخي وتنبيهات يمكن ضبطها. قيمته العملية ليست «مراقبة كل شيء»، بل إعطاؤك خط أساس بسيطًا ومفهومًا قبل الانتقال إلى منصة رصد أكبر.

🧭 ما Beszel وكيف يعمل؟

Beszel منصة مفتوحة المصدر لمراقبة الخوادم، أنشأها Henry Goddard ومساهمون. يتكوّن التشغيل من جزأين:

  1. Beszel Hub يخزن الإعدادات والقياسات ويعرض لوحة الويب.
  2. Beszel Agent يعمل على كل نظام تريد مراقبته ويجمع المقاييس المتاحة له.

يسجّل Agent استخدام المعالج والذاكرة والأقراص والشبكة والحمل وبيانات الحاويات، ويمكنه إظهار درجات الحرارة والمراوح وGPU والبطارية وS.M.A.R.T. وZFS وsystemd عندما يدعم النظام ذلك وتتوفر الصلاحيات المطلوبة. يتصل الطرفان عبر SSH أو WebSocket حسب تصميم شبكتك. بعدها تقرأ الحالة الحالية والسجل من المتصفح، وتضيف قواعد تنبيه للقيم التي تستحق إشعارًا.

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

🎯 متى يفيدك؟ وما قيمته المضافة؟

يناسب Beszel مطورًا منفردًا أو فريقًا صغيرًا يدير VPS، أو خادمًا منزليًا، أو عدة أجهزة تشغّل Docker ويريد إجابة سريعة عن أسئلة مثل: هل زاد استهلاك الذاكرة بعد النشر؟ أي حاوية تستهلك الشبكة؟ هل امتلأ القرص تدريجيًا؟ وهل تعطل النظام أصلًا؟

القيمة المضافة هي جمع القياس والسجل والتنبيه في منتج صغير واحد، مع بقاء البيانات في Hub تديره أنت. وهذا أبسط من تجميع Prometheus وواجهة Grafana ومدير تنبيهات عندما لا تحتاج استعلامات متقدمة أو تتبعًا موزعًا. لكنه ليس بديلًا كاملًا عن منصة Observability: لا يقدم من تلقاء نفسه تحليل logs مركزيًا أو traces للتطبيق أو SLOs معقدة.

🌟 الميزات وطريقة استخدامها

1. راجع الخادم والحاويات عبر الزمن

بدل فتح جلسة SSH والبحث عن المشكلة بعد وقوعها، يعرض Beszel تاريخًا للمقاييس التي يجمعها Agent. ابدأ من صفحة النظام، ثم قارن المعالج والذاكرة والقرص والشبكة قبل النشر وبعده. في خادم Docker، افتح الحاوية التي ارتفع استهلاكها بدل الاكتفاء بإجمالي الخادم.

كيف ستفيدك؟ إذا ارتفعت الذاكرة كل ليلة، تستطيع رؤية النمط بدل مطاردة لقطة عابرة. وإذا امتلأ القرص، يمكن مقارنة اتجاه الاستخدام مع I/O والحاويات. القيد: ما يظهر يعتمد على نظام التشغيل وطريقة تشغيل Agent؛ الحاويات عديمة الجذر قد لا تعرض الحرارة والمراوح والبطارية وGPU وZFS وS.M.A.R.T. أو خدمات systemd من دون إعداد إضافي.

Beszel يجمع مقاييس الخادم والحاويات ويحوّلها إلى سجل زمني قابل للمراجعة
Beszel يجمع مقاييس الخادم والحاويات ويحوّلها إلى سجل زمني قابل للمراجعة
الرسم يشرح مسار القياس؛ لا يعرض أرقامًا فعلية أو واجهة منتج.

2. حوّل الحالة المهمة إلى تنبيه

تستطيع تفعيل تنبيهات للنظام من جدول الأنظمة، ثم ضبط قواعد للمقاييس المدعومة. يدعم Beszel قنوات إشعار عديدة عبر صيغ Shoutrrr، ومنها بريد وخدمات محادثة وWebhooks بحسب إعدادك. كما يمكنه إرسال إشعار عند فشل S.M.A.R.T. بعد أن يكون القرص قد أرسل بياناته، وعند تجاوز فقد الحزم في Network Monitor العتبة المحددة.

استخدم عددًا قليلًا من التنبيهات التي تتطلب فعلًا: تعطل النظام، مساحة قرص منخفضة، أو استهلاك مستمر يتجاوز ما يحتمله الخادم. أرسل رسالة اختبار للقناة، ثم افتعل حالة آمنة في بيئة اختبار أو اخفض عتبة مؤقتًا للتأكد من وصول المسار كاملًا. القيد: وجود القاعدة لا يضمن وصول الإشعار؛ قد يفشل مزود الرسائل أو DNS أو الشبكة، لذلك يحتاج المسار إلى اختبار ومراقبة مستقلة. بيانات الاعتماد في روابط الإشعار تحفظ داخل Hub، فقيّد الوصول إلى إعداداته ونسخه الاحتياطية.

قاعدة تنبيه في Beszel تحوّل تجاوز العتبة أو تعطل النظام إلى إشعار عبر القناة المختارة
قاعدة تنبيه في Beszel تحوّل تجاوز العتبة أو تعطل النظام إلى إشعار عبر القناة المختارة
رسم توضيحي للمسار المنطقي، وليس قياسًا لزمن وصول الإشعار.

3. راقب الشبكة وصحة التخزين عند الحاجة

لا تقتصر الأداة على CPU وRAM. يستطيع Agent فحص أهداف Network Monitor وإرسال زمن الاستجابة وفقد الحزم، وتضيف نسخة 0.21.0 فحص انتهاء شهادة TLS لأهداف HTTPS. كما يعرض Beszel بيانات S.M.A.R.T. للأقراص عندما يستطيع Agent الوصول إلى الأجهزة المطلوبة. هذه إضافات مفيدة لخادم صغير، لكنها تحتاج صلاحيات وقدرات نظام مناسبة؛ لا تضف أجهزة أو capabilities لمجرد ملء اللوحة.

4. استخدم حسابات وأدوارًا بدل مشاركة كلمة مرور واحدة

يستخدم Hub قاعدة PocketBase. حساب superuser منفصل عن حسابات المستخدمين العاديين، وتوفر الوثائق أدوار admin وuser وread-only. يستطيع المستخدم للقراءة رؤية الأنظمة المشتركة وإنشاء تنبيهاته، لكنه لا يدير الأنظمة. احتفظ ببيانات superuser للإدارة فقط، وشارك الأنظمة مع الحسابات التي تحتاجها. يمكن إضافة OAuth2 أو OIDC، لكنه ليس شرطًا للبدء.

🪜 مثال عملي: راقب VPS واحدًا يشغّل Docker

هذا مثال إعداد توضيحي؛ لم أشغله على خادم حقيقي أثناء إعداد البطاقة.

  1. أنشئ مجلدًا فارغًا على جهاز سيبقى متاحًا، وضع فيه ملف docker-compose.yml التالي لتشغيل Hub:
services:
  beszel:
    image: henrygd/beszel
    container_name: beszel
    restart: unless-stopped
    environment:
      - APP_URL=http://localhost:8090
    ports:
      - 8090:8090
    volumes:
      - ./beszel_data:/beszel_data
  1. شغّل:
docker compose up -d
  1. افتح http://localhost:8090 وأنشئ حساب الإدارة الأول. إذا كنت ستصل إلى Hub من الإنترنت، ضع Reverse Proxy وHTTPS أمامه وعدّل APP_URL إلى عنوانك الفعلي؛ لا تنشر المنفذ الخام ثم تفترض أنه محمي.
  2. من داخل Hub اختر Add system. ستعطيك الواجهة المفتاح، ولـWebSocket تعطيك أيضًا TOKEN وHUB_URL. اتبع أمر Agent الذي تولده الواجهة لنظامك بدل نسخ قيم من مثال عام.
  3. إذا شغّلت Agent داخل Docker لمراقبة الحاويات، توثق صفحة التثبيت تركيب /var/run/docker.sock واستخدام host networking. راجع الحاجة الفعلية لكليهما؛ socket مورد حساس حتى عند تركيبه :ro لأنه يكشف معلومات عن الحاويات، وhost networking يوسع رؤية الشبكة.
  4. بعد ظهور النظام متصلًا، راجع السجل عدة ساعات أو أيام قبل اختيار العتبات. فعّل تنبيهًا واحدًا، اختبر قناة الإشعار، ثم أضف البقية تدريجيًا.
  5. اضبط نسخة احتياطية من beszel_data من صفحة Backups إلى القرص أو S3، أو أوقف Hub وانسخ المجلد. اختبر الاستعادة قبل الاعتماد على النسخة.

النتيجة المتوقعة هي ظهور النظام والقياسات التي تسمح بها منصة Agent وصلاحياته. لا أتوقع مسبقًا ظهور كل sensor؛ غياب مقياس متقدم قد يعني أن النظام أو الحاوية لا تمنح الوصول اللازم.

⚖️ Beszel مقارنة بالعمل اليدوي

المهمةأوامر يدوية متفرقةمع Beszel
فحص الحالة الآنتدخل إلى كل خادم وتشغّل top أو docker statsتفتح لوحة الأنظمة
معرفة ما حدث ليلًالا يوجد سجل ما لم تكن خزّنته سابقًاتراجع السجل التاريخي المتاح
ربط المشكلة بحاويةتقارن أوامر وملفات سجل يدويًاتعرض مقاييس الخادم والحاويات في المكان نفسه
اكتشاف تجاوز مهمتكتب cron وسكربت إرسال وتحافظ عليهتضبط تنبيهًا وقناة مدعومة
إضافة مستخدم للقراءةتبني وصولًا مخصصًا أو تشارك بيانات حساسةتستخدم حسابًا ودورًا مناسبًا

هذه مقارنة في طريقة العمل، وليست قياسًا موثقًا لتوفير الوقت أو استهلاك الموارد. إذا كان لديك بالفعل Prometheus/Grafana وتنبيهات موثوقة، فقد يضيف Beszel لوحة أخرى بدل أن يقلل التعقيد.

🚀 التثبيت والتوافق

البدء الأبسط هو Docker أو Podman لـHub، ثم Agent كحاوية أو ملف تنفيذي أو خدمة مناسبة للنظام. تعرض وثائق Agent خيارات binary وHomebrew وWinget/Scoop وHome Assistant إضافة إلى Docker/Podman. إصدار GitHub المستقر وقت الفحص هو v0.21.0 المنشور في 2 أكتوبر 2026؛ أصول الإصدار تتضمن Agent لـLinux وmacOS وFreeBSD وOpenBSD وWindows، بينما تتضمن Hub لـLinux وmacOS وFreeBSD وWindows. تختلف المعمارية المتاحة بين الأنظمة، فراجع ملف الإصدار قبل التثبيت.

أمر تشغيل Hub في مثال Docker هو:

docker compose up -d

ليس هذا أمر تثبيت Agent. الأفضل أن تنسخ أمر Agent من مربع Add system لأنه يضم طريقة الاتصال والقيم الخاصة بنظامك. لم أنفذ أمر التثبيت أو أختبر الترقية هنا.

🔐 الخصوصية والصلاحيات والاتصال

في إعداد ذاتي الاستضافة، تحفظ القياسات والإعدادات في Hub الذي تشغله أنت. هذا استنتاج مباشر من معمارية Hub/Agent ومسار التخزين الموثق، وليس وعدًا بأن كل تكامل يبقى محليًا: OAuth، وS3، وخدمات الإشعار، وفحص التحديثات تتصل بخدمات خارجية حين تفعلها. راجع وجهة كل Webhook ولا تضع سرًا في عنوان لا تثق به.

يوفر Beszel مسارين بين Hub وAgent:

  • SSH: يبدأ Hub الاتصال بـAgent على المنفذ 45876 افتراضيًا. يقبل Agent مفتاح ED25519 ولا يوفر PTY أو input لتنفيذ أوامر بعيدة. لكن الوثائق تحذر أن Hub لا يتحقق من host key الخاص بـAgent؛ لذلك يفترض هذا المسار شبكة موثوقة، وقد يستطيع متدخل انتحال Agent وإرسال قياسات زائفة.
  • WebSocket: يبدأ Agent الاتصال بـHub. يتحقق Hub من token، ويوقع token بمفتاحه الخاص، ويتحقق Agent من المفتاح العام ويقفل fingerprint الجهاز. عند عبور شبكة عامة، توصي الوثائق باستخدام WebSocket مع HTTPS صالح.
مقارنة اتجاه اتصال SSH واتصال WebSocket في Beszel مع ملاحظة الشبكة الموثوقة وHTTPS
مقارنة اتجاه اتصال SSH واتصال WebSocket في Beszel مع ملاحظة الشبكة الموثوقة وHTTPS
الرسم يلخص وثائق الأمان؛ لا يمثل تدقيقًا أمنيًا مستقلًا.

عامل Agent يحتاج قراءة مقاييس النظام. تركيب Docker socket، وإضافة أجهزة S.M.A.R.T. أو capabilities، وقراءة سجلات systemd كلها توسع ما يستطيع الوصول إليه. امنح فقط ما تحتاجه، وثبّت صورة أو إصدارًا معلومًا بدل latest إذا كانت سياستك تتطلب تحديثات محكومة، واحمِ Hub بـHTTPS ونسخ احتياطية وصلاحيات حساب منفصلة.

💳 التكلفة والحدود

كود Beszel مرخص MIT، ولا يحتاج API مدفوعًا لتشغيل الأساسيات. ستظل تدفع تكلفة الخادم والتخزين واسم النطاق أو S3 وخدمات الإشعار إن كانت خطتك لديها رسوم. لا أدرج سعرًا لخدمة مستضافة لأن البطاقة تقيم المشروع الذاتي الاستضافة.

القيود المهمة:

  • ليس منصة logs وtraces كاملة، ولا يحل محل مراقبة التطبيق من داخله.
  • المقاييس المتقدمة تعتمد على نظام التشغيل والأجهزة وطريقة تشغيل Agent.
  • تشغيل Agent في حاوية rootless قد يخفي مقاييس المضيف؛ الوثائق تقترح binary/service عندما تحتاج رؤية أوسع.
  • دقة التنبيه تعتمد على اتصال Hub وAgent وقناة الإشعار.
  • لم أتحقق عمليًا من أثر الموارد، أو مدة الاحتفاظ الافتراضية بالبيانات، أو مسار الترقية والرجوع إلى إصدار أقدم. راجع الوثائق والنسخة الاحتياطية قبل تحديث بيئة مهمة.

📚 المصادر وتاريخ التحقق

تم التحقق في 21 أكتوبر 2026. عرض GitHub وقت الفحص 26,376 نجمة و1,103 تفرعات، وكان آخر دفع إلى المستودع في 20 أكتوبر 2026. هذه أرقام متغيرة للشعبية والنشاط وليست تقييمًا للجودة أو الأمان. لم أجرِ تثبيتًا فعليًا، أو اختبار اختراق، أو قياس أداء.