[{"data":1,"prerenderedAt":212},["ShallowReactive",2],{"seo-verification":3,"blog-fail2ban-enhanced-على-خادم-vps-حجب-الهجمات-المتكررة-ma-ar":6,"promo-bar-likely":211},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-fail2ban-enhanced-على-خادم-vps-حجب-الهجمات-المتكررة-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":152,"ctaBody":153,"ctaButton":154,"ctaUrl":155,"relatedPosts":156},109,"fail2ban-enhanced-على-خادم-vps-حجب-الهجمات-المتكررة",{"fr":12,"en":13,"ar":10,"es":14},"proteger-vps-fail2ban","fail2ban-enhanced-on-vps-blocking-repeated-attacks","fail2ban-en-vps-bloquear-ataques-repetidos","Fail2Ban Enhanced على خادم VPS: حجب الهجمات المتكرّرة","اربط Fail2Ban Enhanced بكتالوج ServOrbit: حظر SSH\u002FNginx، وسجلات مقروءة، ووثائق رسمية.",11,1,false,"2026-03-03T00:00:00+00:00","2026-11-01T14:14:36+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fproteger-vps-fail2ban-poster.svg",{"categorySlug":34,"appSlug":35},"securite","fail2ban-enhanced","بمجرّد أن يُعرّض خادم VPS خدمة SSH أو تطبيق ويب، تصل المحاولات الآلية بسرعة. يوفّر Fail2Ban Enhanced شبكة أمان بسيطة: قراءة السجلات، واكتشاف حالات الفشل المتكرّرة، وحظر عناوين IP التي تُصرّ. يمضي هذا الدليل من الإعداد الأولي إلى التشغيل اليومي: الـ jails والعتبات، واختيار الـ backend، والتحقّق من أن الـ jail ما زال يراقب، واستكشاف الأعطال بالرسائل الحقيقية للأخطاء، وانسجامه مع جدار الحماية الخاص بالخادم VPS، ونسخ الإعداد احتياطيًا. الخيارات المذكورة مستمدّة من الوثائق الأصلية لـ Fail2Ban.",[38,42,52,55,80,83,87,90,114,117,132,135,146,149],{"type":39,"title":40,"body":41},"h2","لماذا تستضيف Fail2ban ذاتيًا على خادم افتراضي VPS","Fail2ban من أبسط أدوات الحماية وأوسعها انتشارًا لخادم معرَّض: يقرأ سجلاتك باستمرار، ويطبّق تعبيرات نمطية (المرشّحات) لرصد محاولات الاختراق، ويحظر عنوان IP المخالف بإضافته إلى nftables أو iptables لمدة قابلة للضبط. على خادم VPS، يمثّل خط دفاع أول يجب إعداده قبل بقية الأمور، لأنه لا يعتمد على أي خدمة خارجية، ويستهلك القليل، ويحمي SSH من القوة الغاشمة بمجرّد تفعيل الـ jail. وإلى جانب SSH، يمكنك توسيعه ليشمل Nginx (محاولات المصادقة، مسح عناوين URL) و Postfix و WordPress أو أي خدمة تكتب سجلات. يعمل كل شيء محليًا على جهازك: لا تخرج أي بيانات، ولا تتدخّل أي خدمة طرف ثالث. إنه حل مستقل وسهل التدقيق، شريطة أن تتحقّق منه من حين إلى آخر كما سنرى أدناه.",{"type":43,"title":44,"items":45},"ul","الفوائد الملموسة لهذا القالب",[46,47,48,49,50,51],"**حظر تلقائي** — تُحظر عناوين IP التي تهاجم SSH بالقوة الغاشمة بمجرّد بلوغ العتبة `maxretry` ضمن نافذة `findtime`.","**مرشّحات لخدمات عديدة** — SSH وNginx وApache وPostfix وWordPress، ومرشّحات مخصّصة تُكتب في `filter.d`.","**بصمة ضئيلة** — يعمل دون مشاكل على أصغر خوادم VPS.","**حظر تصاعدي (التكرار)** — كلما عاود عنوان IP المخالفة، طالت مدة الحظر.","**إشعارات بالبريد الإلكتروني** — ممكنة عند كل حظر، عبر الإجراءين `action_mw` أو `action_mwl` من `jail.conf`.","**مستقل ومحلّي** — بلا اعتماد على الشبكة في التشغيل اليومي، سهل التدقيق وإدارة الإصدارات.",{"type":39,"title":53,"body":54},"المتطلبات المحدّدة بالأرقام لاستضافته","Fail2ban اقتصادي: يكفي لتشغيله خادم VPS بمعالج vCPU واحد و512 ميغابايت من الذاكرة، دون أثر ملحوظ (توصية تحريرية، تُقاس على حمل خادمك). من جهة البرمجيات، يطلب ملف README الأصلي للإصدار 1.1.1 لغة Python 3.5 أو أحدث. ويبقى مكوّنان اختياريان: pyinotify 0.8.3 أو أحدث لمراقبة الملفات (نواة Linux 2.6.13 أو أحدث)، و systemd 204 أو أحدث مع حزمة python-systemd لقراءة السجل (journal). يُثبَّت Fail2ban مباشرةً على النظام (دون حاجة إلى Docker) ويتطلّب صلاحية root، وواجهة خلفية لجدار ناري (nftables أو iptables)، والوصول إلى سجلات الخدمات المراد حمايتها: سجل systemd أو `\u002Fvar\u002Flog\u002Fauth.log` لـ SSH بحسب التوزيعة، وسجلات access و error لـ Nginx. يحتفظ بحالته في قاعدة SQLite هي `\u002Fvar\u002Flib\u002Ffail2ban\u002Ffail2ban.sqlite3` افتراضيًا. لا يلزم أي نطاق أو منفذ إضافي. القاعدة الذهبية: املأ `ignoreip` بعنوان IP الخاص بك قبل تفعيل الحظر، كي لا تحبس نفسك خارج خادمك.",{"type":56,"title":57,"steps":58},"steps","تثبيت Fail2ban وإعداده على خادمك VPS",[59,62,65,68,71,74,77],{"title":60,"body":61},"تثبيت Fail2ban","على Debian أو Ubuntu: `sudo apt update && sudo apt install fail2ban`. تبدأ الخدمة تلقائيًا. تحقّق باستخدام `sudo systemctl status fail2ban`.",{"title":63,"body":64},"إنشاء ملف jail.local","لا تعدّل `jail.conf` مباشرةً أبدًا. اكتب إعداداتك في `\u002Fetc\u002Ffail2ban\u002Fjail.local` الذي يتقدّم عليه: هناك تحدّد `bantime` و `findtime` و `maxretry` وقبل كل شيء `ignoreip = 127.0.0.1\u002F8 ::1 VOTRE_IP` لحماية نفسك من الحظر الذاتي. القيم الافتراضية في `jail.conf` هي `bantime = 10m` و `findtime = 10m` و `maxretry = 5`.",{"title":66,"body":67},"تفعيل حماية SSH","جميع الـ jails معطّلة افتراضيًا في `jail.conf`: فعّل `[sshd]` صراحةً في `jail.local` مع `enabled = true`، وعلى سبيل المثال `maxretry = 3` و `bantime = 1h`. بعد 3 حالات فشل ضمن نافذة `findtime`، يُحظر عنوان IP لمدة ساعة على مستوى الجدار الناري.",{"title":69,"body":70},"إضافة jail لـ Nginx","فعّل الـ jails المسمّاة `[nginx-http-auth]` و `[nginx-botsearch]` التي يوفّرها `jail.conf`، وتأكّد من أن `logpath` يشير إلى سجلات Nginx لديك. يحظر ذلك محاولات المصادقة المتكرّرة وعمليات مسح عناوين URL الخبيثة.",{"title":72,"body":73},"اختبار الإعداد ثم إعادة تحميله","تحقّق من الصياغة أولًا: `sudo fail2ban-client -t`. ثم طبّقه: `sudo fail2ban-client reload` (أو `sudo systemctl restart fail2ban`). يسرد `sudo fail2ban-client status` الـ jails النشطة، ويُظهر `sudo fail2ban-client status sshd` عناوين IP المحظورة حاليًا.",{"title":75,"body":76},"اختبار الحظر وإلغاؤه","تحقّق من المرشّح على سجلك أنت بالأمر `sudo fail2ban-regex systemd-journal sshd`. ولمحاكاة حظر دون مهاجمة أحد: `sudo fail2ban-client set sshd banip 203.0.113.10`، ثم اقرأ `sudo fail2ban-client status sshd`. لتحرير عنوان IP مشروع حُظر بالخطأ: `sudo fail2ban-client set sshd unbanip X.X.X.X`.",{"title":78,"body":79},"أول تسجيل دخول","لا توجد واجهة ويب ولا حساب يجب إنشاؤه: fail2ban خدمة نظام تحظر، بإعداد القالب، عناوين IP بعد 4 محاولات SSH فاشلة خلال 10 دقائق. عبر SSH: `fail2ban-client status sshd` (العناوين المحظورة)، و `fail2ban-client set sshd unbanip \u003CIP>` (رفع الحظر). اضبط هذه العتبات في `jail.local`.",{"type":39,"title":81,"body":82},"ignoreip ومدة الحظر والمعاودة","يقبل `ignoreip` عناوين IP أو أقنعة CIDR أو أسماء مضيفين عبر DNS، تفصل بينها مسافات أو فواصل. افتراضيًا `ignoreself = true`: العناوين المحلية للخادم نفسه لا تُحظر أبدًا، لكن عنوان IP في مكتبك أو منزلك غير مشمول بذلك. وإن كان يتغيّر كثيرًا فاعتمد اسم مضيف ديناميكيًا أو استخدم `ignorecommand`، وهو أمر خارجي يتلقّى عنوان IP ويجيب هل يجب تجاهله. واحتفظ كذلك بمنفذ طوارئ لا يعتمد على SSH، مثل وحدة تحكّم مزوّد الخادم VPS، فيُعالَج الحظر الذاتي حينئذٍ دون مساعدة خارجية. تُضبط المدة بـ `bantime`، بالثواني أو باللواحق `m` و `h` و `d` و `w` و `mo` و `y`. وتعمل مدةً أولية حين يكون الحظر التصاعدي مفعّلًا. وللمعاودين، يضمّ `jail.conf` أيضًا jail اسمه `recidive` يقرأ سجل fail2ban نفسه.",{"type":84,"title":85,"body":86},"tip","الحظر التصاعدي: الصيغة والسقف والذاكرة","فعّل الحظر التصاعدي في `jail.local` بالقيمة `bantime.increment = true`. تضرب الصيغة الافتراضية `bantime` في 1 ثم 2 ثم 4 ثم 8 ثم 16 وهكذا عند كل معاودة؛ و `bantime.factor` (القيمة 1 افتراضيًا) معامل ضرب مشترك، و `bantime.maxtime` يضع سقفًا للمدة بالثواني، مثلًا `bantime.maxtime = 604800` لسبعة أيام. وثمة نقطة كثيرًا ما تُغفل: يجد fail2ban عمليات الحظر السابقة في قاعدة بياناته، التي تُنظَّف وفق `dbpurgeage` (يوم واحد افتراضيًا في `fail2ban.conf`). ولكي تُرصد المعاودات المتباعدة، ارفعه؛ ويذكر تعليق الـ jail المسمّى `recidive` في `jail.conf` القيمة 648000 ثانية. اقرن ذلك كله بتعطيل المصادقة بكلمة المرور (مفاتيح SSH فقط): عندئذٍ يصبح Fail2ban شبكة أمان بدلًا من أن يكون حصنك الوحيد.",{"type":39,"title":88,"body":89},"اختيار الـ backend: auto أو pyinotify أو polling أو systemd","الـ backend هو الطريقة التي يقرأ بها الـ jail سجلاته. القيمة الافتراضية في `jail.conf` هي `backend = auto`، ويمكن لكل jail تجاوزها. على Debian و Ubuntu، يضبط الملف `paths-debian.conf` في الأرشيف الأصلي 1.1.1 القيمة `sshd_backend = systemd`: فيُقرأ sshd عندئذٍ من سجل systemd لا من `\u002Fvar\u002Flog\u002Fauth.log`. اقرأ `sudo fail2ban-client status sshd` لتعرف ما يُراقَب فعلًا: يدلّ السطر `File list` على ملفات، ويدلّ السطر `Journal matches` على سجل systemd. وقد تغيّر التوزيعة هذه القيم، فلا تفترض شيئًا: عايِن. يتم تغيير الـ backend لكل jail على حدة في `jail.local`، ثم `sudo fail2ban-client reload`.",{"type":91,"title":92,"headers":93,"rows":97},"comparison","الـ backends الأربعة في Fail2ban",[94,95,96],"الـ backend","ما يراقبه","ما يجب تذكّره",[98,102,106,110],[99,100,101],"auto","ملفات (pyinotify ثم polling)؛ ينتقل إلى systemd إن لم يوجد أي ملف في `logpath` وكان المرشّح يعرّف `journalmatch`","القيمة الافتراضية في `jail.conf`",[103,104,105],"pyinotify","ملفات، عبر أحداث inotify في النواة","Linux فقط، ويتطلّب وحدة Python المسمّاة pyinotify؛ أنسب للملفات من polling بحسب الوثائق",[107,108,109],"polling","ملفات، بإعادة قراءتها على فترات منتظمة","بلا مكتبة خارجية، وهو الحل البديل الأبسط",[111,112,113],"systemd","سجل systemd، عبر python-systemd","`logpath` غير صالح؛ يمرّ المرشّح عبر `journalmatch`؛ إعدادات `journalflags` و `rotated`",{"type":39,"title":115,"body":116},"التحقّق من أن الـ jail ما زال يراقب","الـ jail المُشغَّل ليس بالضرورة jail يقرأ. بلاغ مرفوع لم يؤكّده القائمون على الصيانة: في \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffail2ban\u002Ffail2ban\u002Fissues\u002F4250\" target=\"_blank\" rel=\"noopener noreferrer\">البلاغ رقم 4250 في fail2ban\u003C\u002Fa>، المفتوح في أكتوبر 2026، يصف مدير نظام على Debian مع fail2ban 1.1.1 حالة jail من نوع `sshd` بـ backend من نوع `systemd` يتوقّف عن الحظر بعد يوم إلى يومين من التشغيل، بينما يواصل jail كل من Nginx و Postfix عمله. ويبلغ مديران آخران، كلاهما على FreeBSD بحسب رسائلهما، عن عرَض مشابه مع الـ backend من نوع `pyinotify`؛ ويقول أحدهما إن الوضع استقرّ بعد الانتقال إلى `polling`. ونبّه أحد القائمين على الصيانة إلى أن البلاغ الأصلي كان عن الـ backend من نوع `systemd`، وأن العرَضين قد لا يكونان مرتبطين. ويصف مشارك أخير، على Arch مع الـ backend من نوع `systemd`، التوقّف نفسه بعد تدوير السجل ويطرح فرضية تخصّ الإعداد `rotated`: وتبقى غير مؤكّدة. السبب غير ثابت حتى الآن، ولا شيء يسمح بتعميم الأمر على خادمك. أما التحقّق نفسه فيستغرق دقيقة.",{"type":56,"title":118,"steps":119},"التحقّق في أربع خطوات من أن الـ jail ما زال يقرأ",[120,123,126,129],{"title":121,"body":122},"قراءة حالة الـ jail","يعرض `sudo fail2ban-client status sshd` الحقلين `Currently failed` و `Total failed` للمرشّح، و `File list` أو `Journal matches` للمصدر، ثم `Currently banned` و `Total banned` و `Banned IP list` للإجراء. دوّن قيمة `Total failed`.",{"title":124,"body":125},"المقارنة مع السجل","احسب حالات الفشل الفعلية في الفترة نفسها: `sudo journalctl _COMM=sshd --since \"1 hour ago\" | grep -c \"Failed password\"`، أو `sudo grep -c \"Failed password\" \u002Fvar\u002Flog\u002Fauth.log` إن كان الـ jail يقرأ هذا الملف. ثم أعد قراءة `Total failed`: يُفترض أنه ازداد. قارن الاتجاه لا التساوي التام، لأن عناوين IP الواردة في `ignoreip` لا تُحتسب.",{"title":127,"body":128},"قراءة سجل fail2ban نفسه","`sudo tail -n 50 \u002Fvar\u002Flog\u002Ffail2ban.log`: يكتب الـ jail السليم أسطر `Found` ثم `Ban`. وتدلّ عدة أيام من أسطر `Unban` وحدها، بينما يُظهر سجل المصادقة محاولات، على jail أعمى.",{"title":130,"body":131},"إعادة التشغيل وتغيير الـ backend عند الحاجة","يعيد `sudo systemctl restart fail2ban` تشغيل القراءة؛ ويصف البلاغ عملًا طبيعيًا لمدة يوم إلى يومين بعد كل تشغيل. وبالنسبة إلى jail يقرأ ملفات، فإن `backend = polling` هو الحل البديل الأبسط. جدوِل هذا التحقّق (cron أو أداة مراقبة) بدل الاعتماد على غياب التنبيهات.",{"type":39,"title":133,"body":134},"استكشاف الأعطال: رسائل الأخطاء الحقيقية","تأتي هذه الرسائل من الشيفرة المصدرية لـ Fail2ban 1.1.1 (العملاء وقارئات الإعداد)؛ ومستوى التسجيل الافتراضي هو `INFO`. والأمر الذي يُبدأ به واحد في كل حالة: يختبر `sudo fail2ban-client -t` الإعداد، ويعطي `sudo journalctl -u fail2ban` بداية القصة.",{"type":43,"title":136,"items":137},"رسائل الأخطاء الشائعة وعلاجها",[138,139,140,141,142,143,144,145],"**`Have not found any log file for 'sshd' jail.`** — لا يشير `logpath` الخاص بالـ jail إلى أي ملف موجود فيفشل التشغيل، إلا مع `skip_if_nologs = true`. ومع الـ backend من نوع `auto`، ينتقل الـ jail الذي يعرّف مرشّحه `journalmatch` إلى systemd بدلًا من ذلك. صحّح المسار أو اضبط `backend = systemd`.","**`No file(s) found for glob \u002Fvar\u002Flog\u002Fnginx\u002Ferror.log`** — نمط في `logpath` لا يطابق شيئًا. تحقّق من الموضع الحقيقي لسجلات Nginx بالأمر `ls \u002Fvar\u002Flog\u002Fnginx`.","**`Unable to read the filter 'nginx-xyz'`** — الاسم المعطى لـ `filter =` غير موجود في `filter.d`. صحّح الخطأ الإملائي أو أضف ملف المرشّح الخاص بك.","**`Failed to access socket path: \u002Fvar\u002Frun\u002Ffail2ban\u002Ffail2ban.sock. Is fail2ban running?`** — لا يجد العميل مقبس الخادم. الخدمة متوقّفة أو معطّلة: `sudo systemctl status fail2ban` ثم سجلّها.","**`Permission denied to socket: ... (you must be root)`** — شُغّل الأمر `fail2ban-client` دون الصلاحيات الكافية. أعد تشغيله بـ `sudo`.","**`Unable to contact server. Is it running?`** — المقبس موجود لكن الخادم لا يستجيب. أعد تشغيل الخدمة ثم اقرأ سجل إقلاعها.","**`[sshd] Journal reader seems to be offline, reopen journal`** — رصد fail2ban أن قراءته لسجل systemd قد انقطعت (تدوير) فيعيد فتحه. هذه الرسالة من المستوى `MSG` أي دون `INFO`: وغيابها من سجل عادي لا يثبت شيئًا، ومن هنا جاء التحقّق في القسم السابق.","**`Error reading line from systemd journal`** — خطأ قراءة في سجل systemd، يتبعه سبب النظام. تحقّق من صلاحيات الخدمة ومن حالة السجل بالأمر `journalctl --verify`.",{"type":39,"title":147,"body":148},"nftables أو iptables وجدار حماية الخادم VPS والنسخ الاحتياطي","يُختار إجراء الحظر بـ `banaction`. يقترح `jail.conf` القيمة `iptables-multiport` مثالًا معلّقًا؛ ويضبط الملف `paths-debian.conf` في الأرشيف 1.1.1 القيمتين `banaction = nftables` و `banaction_allports = nftables[type=allports]`. وينشئ إجراء nftables افتراضيًا الجدول `f2b-table` (من عائلة `inet`) والسلسلة `f2b-chain` المعلّقة على الدخول بأولوية -1؛ ويعرض `sudo nft list table inet f2b-table` عناوين IP المحظورة. اختر عائلة واحدة من الإجراءات، هي نفسها المستعملة في بقية جدار الحماية لديك، وإلا بحثت عن قواعدك في الجدول الخطأ. يعمل جدار حماية الخادم VPS في المنبع: يرشّح ما يصل إلى الجهاز، كأن يحصر SSH في عناوينك، بينما يتفاعل Fail2ban مع ما تقوله السجلات. وهما يتكاملان، لكن أبقِ `ignoreip` متّسقًا مع قواعدك. خلف وكيل (proxy) أو شبكة CDN، تُظهر السجلات عنوان IP الخاص بالوكيل: استعد العنوان الحقيقي قبل الحظر، وإلا حظرت الوكيل. أما النسخ الاحتياطي، فأرشِف الإعداد (`sudo tar czf fail2ban-config.tar.gz \u002Fetc\u002Ffail2ban`) ومخرجات `sudo fail2ban-client --dp` التي توثّق الإعداد الفعلي. وتحتفظ قاعدة `\u002Fvar\u002Flib\u002Ffail2ban\u002Ffail2ban.sqlite3` بذاكرة عمليات الحظر.",{"type":84,"title":150,"body":151},"الوثائق الرسمية","للإعداد المتقدّم والخيارات الخاصة بالأداة وتغييرات الإصدارات، ارجع إلى \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffail2ban\u002Ffail2ban\u002Fwiki\" target=\"_blank\" rel=\"noopener noreferrer\">الوثائق الرسمية لـ Fail2Ban\u003C\u002Fa>. يغطّي هذا الدليل النشر على خادم ServOrbit VPS؛ وتبقى وثائق الناشر المرجع للضبط الدقيق.","حصّن الوصول إلى خادمك VPS","يمنحك خادم ServOrbit Cloud VPS صلاحية الوصول بحساب root وجدارًا ناريًا جاهزًا للاستخدام لإعداد Fail2ban في دقائق قليلة وإيقاف هجمات القوة الغاشمة تمامًا.","احصل على خادمي Cloud VPS","\u002Fvps-cloud",[157,176,193],{"id":158,"slug":159,"slugs":160,"title":164,"excerpt":165,"readTime":23,"views":166,"isPinned":19,"noindex":19,"publishedAt":167,"updatedAt":168,"category":169,"categories":170,"featuredImage":30,"bgImage":31,"posterImage":172,"relatedSolution":173},105,"مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma",{"fr":161,"en":162,"ar":159,"es":163},"superviser-vps-uptime-kuma","monitoring-your-vps-with-uptime-kuma","supervisar-vps-con-uptime-kuma","مراقبة خادمك الافتراضي VPS باستخدام Uptime Kuma","انشر Uptime Kuma على خادمك الافتراضي VPS لمراقبة مواقعك وخدماتك ذاتيًا، مع تنبيهات وصفحة حالة عامة.",0,"2026-03-07T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[171],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":174,"appSlug":175},"المراقبة-وقابلية-الرصد","uptime-kuma",{"id":177,"slug":178,"slugs":179,"title":183,"excerpt":184,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":185,"updatedAt":186,"category":187,"categories":188,"featuredImage":30,"bgImage":31,"posterImage":190,"relatedSolution":191},106,"مراقبة-الخادم-الافتراضي-vps-باستخدام-grafana-و-prometheus",{"fr":180,"en":181,"ar":178,"es":182},"monitoring-vps-grafana-prometheus","vps-monitoring-with-grafana-and-prometheus","monitorizacion-vps-grafana-prometheus","مراقبة VPS باستخدام Grafana وPrometheus","انشر Prometheus 3.x وGrafana 13.x وNode Exporter وAlertmanager على خادمك VPS بـ Docker Compose. لوحات معلومات وتنبيهات وتصليب.","2026-03-06T00:00:00+00:00","2026-10-05T14:05:27+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[189],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":174,"appSlug":192},"grafana",{"id":194,"slug":195,"slugs":196,"title":200,"excerpt":201,"readTime":202,"views":18,"isPinned":19,"noindex":19,"publishedAt":203,"updatedAt":204,"category":205,"categories":206,"featuredImage":30,"bgImage":31,"posterImage":208,"relatedSolution":209},107,"راقب-خادمك-الافتراضي-vps-في-الوقت-الفعلي-باستخدام-netdata",{"fr":197,"en":198,"ar":195,"es":199},"monitorer-vps-netdata","monitor-your-vps-in-real-time-with-netdata","monitorizar-vps-en-tiempo-real-con-netdata","راقب خادمك الافتراضي VPS في الوقت الفعلي باستخدام Netdata","ثبّت Netdata على خادمك الافتراضي VPS للحصول على مراقبة لحظية بدقة الثانية: آلاف المقاييس، دون أي إعداد، مع تنبيهات مضمّنة.",3,"2026-03-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[207],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":174,"appSlug":210},"netdata",true,1794270336345]