Beszel
نشط ومستقريعمل محلياً ✓بدون اشتراك APIBeszel لوحة ذاتية الاستضافة تراقب خوادمك وحاويات Docker، وتحفظ السجل وترسل تنبيهات من Hub خفيف تديره أنت.
docker compose up -dالاستخدام المثالي لهذه الأداة
يناسب مطورًا منفردًا أو فريقًا صغيرًا يدير VPS أو خادمًا منزليًا أو عدة أجهزة Docker ويريد لوحة بسيطة وسجلًا وتنبيهات. قيمته أنه يجمع مقاييس المضيف والحاويات في Hub ذاتي الاستضافة. لا تستخدمه بدل منصة logs وtraces كاملة عندما تحتاج Observability متقدمة.
التفاصيل والميزات المصورة
حين يدير فرد أو فريق صغير خادمين أو ثلاثة، تبدأ المشكلة عادةً من التشتت: أمر top يعطيك لحظة واحدة، وdocker stats يريك الحاويات الآن فقط، والتنبيه لا يصل إلا بعد أن يلاحظ مستخدم أن الخدمة بطيئة. Beszel يجمع هذه الصورة في لوحة ذاتية الاستضافة: Hub بواجهة ويب، وAgent خفيف على كل نظام، وسجل تاريخي وتنبيهات يمكن ضبطها. قيمته العملية ليست «مراقبة كل شيء»، بل إعطاؤك خط أساس بسيطًا ومفهومًا قبل الانتقال إلى منصة رصد أكبر.
🧭 ما Beszel وكيف يعمل؟
Beszel منصة مفتوحة المصدر لمراقبة الخوادم، أنشأها Henry Goddard ومساهمون. يتكوّن التشغيل من جزأين:
- Beszel Hub يخزن الإعدادات والقياسات ويعرض لوحة الويب.
- Beszel Agent يعمل على كل نظام تريد مراقبته ويجمع المقاييس المتاحة له.
يسجّل Agent استخدام المعالج والذاكرة والأقراص والشبكة والحمل وبيانات الحاويات، ويمكنه إظهار درجات الحرارة والمراوح وGPU والبطارية وS.M.A.R.T. وZFS وsystemd عندما يدعم النظام ذلك وتتوفر الصلاحيات المطلوبة. يتصل الطرفان عبر SSH أو WebSocket حسب تصميم شبكتك. بعدها تقرأ الحالة الحالية والسجل من المتصفح، وتضيف قواعد تنبيه للقيم التي تستحق إشعارًا.

🎯 متى يفيدك؟ وما قيمته المضافة؟
يناسب 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 من دون إعداد إضافي.

2. حوّل الحالة المهمة إلى تنبيه
تستطيع تفعيل تنبيهات للنظام من جدول الأنظمة، ثم ضبط قواعد للمقاييس المدعومة. يدعم Beszel قنوات إشعار عديدة عبر صيغ Shoutrrr، ومنها بريد وخدمات محادثة وWebhooks بحسب إعدادك. كما يمكنه إرسال إشعار عند فشل S.M.A.R.T. بعد أن يكون القرص قد أرسل بياناته، وعند تجاوز فقد الحزم في Network Monitor العتبة المحددة.
استخدم عددًا قليلًا من التنبيهات التي تتطلب فعلًا: تعطل النظام، مساحة قرص منخفضة، أو استهلاك مستمر يتجاوز ما يحتمله الخادم. أرسل رسالة اختبار للقناة، ثم افتعل حالة آمنة في بيئة اختبار أو اخفض عتبة مؤقتًا للتأكد من وصول المسار كاملًا. القيد: وجود القاعدة لا يضمن وصول الإشعار؛ قد يفشل مزود الرسائل أو DNS أو الشبكة، لذلك يحتاج المسار إلى اختبار ومراقبة مستقلة. بيانات الاعتماد في روابط الإشعار تحفظ داخل Hub، فقيّد الوصول إلى إعداداته ونسخه الاحتياطية.

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
هذا مثال إعداد توضيحي؛ لم أشغله على خادم حقيقي أثناء إعداد البطاقة.
- أنشئ مجلدًا فارغًا على جهاز سيبقى متاحًا، وضع فيه ملف
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
- شغّل:
docker compose up -d
- افتح
http://localhost:8090وأنشئ حساب الإدارة الأول. إذا كنت ستصل إلى Hub من الإنترنت، ضع Reverse Proxy وHTTPS أمامه وعدّلAPP_URLإلى عنوانك الفعلي؛ لا تنشر المنفذ الخام ثم تفترض أنه محمي. - من داخل Hub اختر Add system. ستعطيك الواجهة المفتاح، ولـWebSocket تعطيك أيضًا
TOKENوHUB_URL. اتبع أمر Agent الذي تولده الواجهة لنظامك بدل نسخ قيم من مثال عام. - إذا شغّلت Agent داخل Docker لمراقبة الحاويات، توثق صفحة التثبيت تركيب
/var/run/docker.sockواستخدام host networking. راجع الحاجة الفعلية لكليهما؛ socket مورد حساس حتى عند تركيبه:roلأنه يكشف معلومات عن الحاويات، وhost networking يوسع رؤية الشبكة. - بعد ظهور النظام متصلًا، راجع السجل عدة ساعات أو أيام قبل اختيار العتبات. فعّل تنبيهًا واحدًا، اختبر قناة الإشعار، ثم أضف البقية تدريجيًا.
- اضبط نسخة احتياطية من
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 صالح.

عامل 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 وقناة الإشعار.
- لم أتحقق عمليًا من أثر الموارد، أو مدة الاحتفاظ الافتراضية بالبيانات، أو مسار الترقية والرجوع إلى إصدار أقدم. راجع الوثائق والنسخة الاحتياطية قبل تحديث بيئة مهمة.
📚 المصادر وتاريخ التحقق
- المستودع الأصلي وصفحة الإصدار v0.21.0
- ما Beszel؟ وتثبيت Hub
- تثبيت Agent وأمان الاتصال
- الإشعارات ومراقبة الشبكة
- حسابات المستخدمين وOAuth/OIDC
تم التحقق في 21 أكتوبر 2026. عرض GitHub وقت الفحص 26,376 نجمة و1,103 تفرعات، وكان آخر دفع إلى المستودع في 20 أكتوبر 2026. هذه أرقام متغيرة للشعبية والنشاط وليست تقييمًا للجودة أو الأمان. لم أجرِ تثبيتًا فعليًا، أو اختبار اختراق، أو قياس أداء.