تثبيت Zabbix 7.0 LTS على Ubuntu 24.04
ثبّت Zabbix 7.0 LTS على Ubuntu 24.04 خطوة بخطوة: أضف المستودع، استورد مخطط MySQL، واضبط nginx وagent2، مع حلول لأخطاء الإعداد الشائعة.
ما ستبنيه
خادم VPS واحد يعمل بنظام Ubuntu 24.04 ويشغّل حزمة Zabbix 7.0 LTS كاملة: برنامج zabbix-server الذي يجمع البيانات ويرسل التنبيهات، وقاعدة بيانات MariaDB/MySQL التي تخزّن كل المقاييس، وواجهة PHP الأمامية التي يقدّمها nginx، وzabbix-agent2 الذي يجمع المقاييس من الخادم نفسه. بعد تشغيله، توجّهه إلى خادم ثانٍ، وتربط قالبًا، وتتلقى رسالة بريد إلكتروني فور امتلاء قرص أو توقف خدمة.
Zabbix أثقل من أداة لصفحة حالة: فهو نظام سلاسل زمنية فعلي يوفّر القوالب والمشغلات والتصعيد والاحتفاظ بالسجل التاريخي. تحدث معظم المشكلات في 3 خطوات يتجاوزها المستخدمون، وهي استيراد مخطط قاعدة البيانات، وضبط كلمة مرور قاعدة البيانات التي يقرأها الخادم فعلًا، وإلغاء التعليق عن سطرين في إعدادات nginx. نفّذ هذه الخطوات بشكل صحيح، وستكون بقية العملية عبارة عن معالج إعداد. إذا كنت تريد فقط فحوصات التشغيل والتوقف وصفحة حالة قابلة للمشاركة، فإن مراقب حالة Uptime Kuma خفيف الوزن ينفّذ ذلك داخل حاوية واحدة؛ وتستحق Zabbix مواردها عندما تحتاج إلى حدود لكل مقياس وتصعيد عبر العديد من المضيفين.
استخدم سلسلة 7.0 LTS: إذ إن الخادم والواجهة الأمامية وagent2 والمخطط لها الإصدارات نفسها، وتحصل على إصلاحات أمنية لسنوات. قبل نسخ اسم ملف المستودع أدناه، راجع سريعًا صفحة التنزيل الرسمية لـ Zabbix؛ فحزمة الإصدار latest تحل دائمًا إلى أحدث إصدار نقطي من 7.0، ولكن إذا كنت تفضّل تثبيت إصدار 7.0-N محدد، فستعرض الصفحة اسم الملف الخاص به أيضًا. جميع الأوامر الأخرى هنا مستقرة عبر سلسلة 7.0 بأكملها.
تحديد الموارد والمنافذ والمتطلبات الأساسية
افترض استخدام Ubuntu 24.04 حديث على KVM VPS مع صلاحيات root أو sudo. كن واقعيًا بشأن الموارد: يُعد 2 GB من ذاكرة RAM و2 من vCPU الحد الأدنى الواقعي لتشغيل الخادم وقاعدة البيانات وnginx وPHP على جهاز واحد يراقب عددًا محدودًا من المضيفين. يعمل جهاز بسعة 1 GB، لكنه لا يوفر موارد كافية لقاعدة البيانات مع ازدياد السجل التاريخي؛ خطط لاستخدام 4 GB عند تجاوز عدد المضيفين بضع عشرات، وعند تجاوز 100 مضيف انقل قاعدة البيانات إلى خادم مستقل. يزداد حجم القرص بحسب عدد العناصر التي تجمع بياناتها ومدة الاحتفاظ بالسجل التاريخي؛ خصص بضعة GB للبدء، وتعمل خدمة housekeeper على حذف البيانات القديمة وفق فترات الاحتفاظ التي تحددها.
المنافذ: 80 و443 للواجهة الأمامية، ويمكن إتاحتهما للعامة أو تقييدهما على عنوان IP الخاص بك. يستمع الخادم على TCP 10051 لاستقبال البيانات التي ترسلها الوكلاء النشطون، ويستمع كل وكيل على TCP 10050 كي يستعلم منه الخادم. افتح فقط المنافذ التي تتيحها إذا كان هناك جدار حماية أمام الخادم. من المفيد إنشاء سجل DNS من نوع A للواجهة الأمامية، لأنك ستحتاج إلى شهادة حقيقية لها، ويراقب خادم Zabbix كل خدمة أخرى تشغّلها، لذلك يندرج ضمن منظومة الاستضافة الذاتية الأوسع التي تستحق التشغيل في 2026 بدلًا من إضافته لاحقًا دون تخطيط.
الخطوة 1: إضافة مستودع Zabbix 7.0 الرسمي
تنفذ حزمة zabbix-release مهمة واحدة: تضع قائمة مصادر apt ومفتاح التوقيع على نظامك. ثبّتها، ثم حدّث الفهرس.
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt updateإذا أعاد wget القيمة 404 Not Found، فهذا يعني أن اسم الملف تغيّر. افتح صفحة تنزيل Zabbix، واختر Ubuntu 24.04، وانسخ عنوان zabbix-release الدقيق الذي تعرضه الصفحة. يعرض apt update السليم سطر repo.zabbix.com ولا يعرض أي تحذير بشأن المفتاح؛ أما The following signatures couldn't be verified because the public key is not available فيعني أن حزمة الإصدار لم تثبّت مفتاحها، لذا أعد تشغيل dpkg -i ثم حدّث الفهرس مرة أخرى.
الخطوة 2، تثبيت الخادم والواجهة الأمامية والوكيل
ثبّت الخادم المبني لدعم MySQL، وواجهة PHP الأمامية، وإعدادات nginx، وملفات مخطط SQL، وagent2 دفعة واحدة.
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2zabbix-server-mysql هو الخادم المترجم لدعم MySQL/MariaDB؛ ولـ PostgreSQL، ثبّت zabbix-server-pgsql بدلًا منه وعدّل خطوات قاعدة البيانات أدناه. يحتوي zabbix-sql-scripts على المخطط الذي ستستورده لاحقًا. وهو حزمة منفصلة في الإصدار 7.0. ونسيانه هو السبب تحديدًا في ظهور مسار الاستيراد مفقودًا لاحقًا. لا تثبّت أي من هذه الحزم محرك قاعدة بيانات، لذلك ثبّت MariaDB الآن إذا لم يكن موجودًا على الخادم.
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadbالخطوة 3، إنشاء قاعدة البيانات باستخدام مجموعة المحارف الصحيحة
يتطلب Zabbix إعداد ترتيب محارف محددًا: يجب أن تكون قاعدة البيانات utf8mb4 مع utf8mb4_bin، وإلا يتوقف الاستيراد في منتصفه بسبب أخطاء المفاتيح الخارجية. افتح shell لحساب root باستخدام sudo mysql ونفّذ:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'choose-a-strong-password';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;يمثل سطر SET GLOBAL إجراءً احتياطيًا للاستيراد. ينشئ مخطط Zabbix دوال مخزنة، ولا يستطيع حساب غير SUPER مثل zabbix إنشاءها أثناء تفعيل التسجيل الثنائي. يفعّل MySQL 8 التسجيل الثنائي افتراضيًا، كما تفعّله بعض إصدارات MariaDB المُدارة أيضًا، بينما لا يفعّله MariaDB القياسي. إذا تخطيت هذا الخيار على خادم مفعّل فيه التسجيل الثنائي، يتوقف الاستيراد مع ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled. يؤدي تعيينه باستخدام root إلى حل المشكلة. عطّله مرة أخرى بعد الاستيراد. دوّن كلمة المرور كما هي تمامًا، إذ يجب أن يحتوي إعداد الخادم على السلسلة نفسها بايتًا ببايت.
الخطوة 4، استيراد المخطط (الخطوة التي يتجاوزها الناس)
هذا هو السبب الأكثر شيوعًا لرفض واجهة أمامية جديدة التحميل: قاعدة البيانات التي أنشأتها فارغة. حمّل المخطط المتوفر في zabbix-sql-scripts إليها.
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p zabbixسيطلب كلمة مرور zabbix، ويستغرق تشغيله من ثلاثين إلى ستين ثانية على VPS صغير، ولا يطبع شيئًا عند النجاح؛ الصمت صحيح هنا. يعني zcat: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz: No such file or directory أن حزمة zabbix-sql-scripts غير مثبتة (ارجع إلى الخطوة 2). ويعني ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' أن كلمة المرور أو المنح من الخطوة 3 غير صحيحة. بعد اكتماله، عطّل علامة الأمان مرة أخرى:
sudo mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"تحقّق من التحميل باستخدام sudo mysql -e "SELECT COUNT(*) FROM zabbix.users;"؛ ظهور رقم، وليس خطأ doesn't exist، يعني أن المخطط أُدرج.
الخطوة 5، تعيين كلمة مرور قاعدة البيانات في zabbix_server.conf
يقرأ الخادم بيانات اعتماد قاعدة البيانات من /etc/zabbix/zabbix_server.conf. يجب تعيين كلمة المرور فقط؛ إذ إن DBName وDBUser مضبوطتان افتراضيًا على zabbix. أزل التعليق من سطر # DBPassword= واضبطه:
DBName=zabbix
DBUser=zabbix
DBPassword=choose-a-strong-passwordيجب أن تكون كلمة المرور مطابقة بايتًا ببايت لكلمة المرور من الخطوة 3. تُعد قيمة DBPassword الفارغة أو الخاطئة السبب الأكثر شيوعًا لظهور الرسالة "خادم Zabbix لا يعمل" التي ستواجهها لاحقًا: تبدأ الخدمة الخفية، وتفشل في تسجيل الدخول، ثم تخرج. لا يظهر ذلك على الشاشة؛ ولا يوضحه إلا السجل.
الخطوة 6، وجّه nginx إلى الواجهة الأمامية
تثبّت حزمة zabbix-nginx-conf كتلة خادم في /etc/zabbix/nginx.conf وتربطها بـ nginx من /etc/nginx/conf.d/zabbix.conf، لكنها تأتي مع سطري listen وserver_name معلّقين، لذلك لا يقدّم nginx أي محتوى لـ Zabbix حتى تعدّلهما:
server {
listen 80;
server_name zabbix.example.com;
...
}استخدم نطاقك، أو عنوان IP العام للخادم إذا لم يكن لديك DNS بعد. انتبه إلى نقطتين. يستمع موقع ترحيب nginx الافتراضي في Ubuntu أيضًا على المنفذ 80، ويُعرَّف على أنه الخادم الافتراضي. لذلك يفوز بأي طلب لا يطابق اسمه. أزله، وإلا فستُحمّل الصفحة الخاطئة: sudo rm -f /etc/nginx/sites-enabled/default. وإذا كان /etc/nginx/conf.d/zabbix.conf مفقودًا لسبب ما، وهو خلل معروف في الحزم، فأنشئ الرابط يدويًا باستخدام sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf. ثم اختبر الإعداد وأعد تحميل nginx:
sudo nginx -t
sudo systemctl reload nginxيجب أن يطبع nginx -t القيمة test is successful. وإذا طبع بدلًا من ذلك nginx: [emerg] a duplicate default server for 0.0.0.0:80، فهذا يعني أن الموقع الافتراضي وكتلة Zabbix يعلنان كِلاهما عن default_server. أزل الموقع الافتراضي وأعد الاختبار. وفي حالات أكثر، ينجح الاختبار مع تحذير conflicting server name فقط، لكن المتصفح لا يزال يعرض صفحة الترحيب العادية. السبب هو أن الموقع الافتراضي يفوز عند استخدام اسم غير مطابق، وإزالته تحل المشكلة.
الخطوة 7، بدء الخدمات وتمكينها
شغّل الخادم والوكيل وPHP-FPM وnginx، ومكّنها لكي تستمر في العمل بعد إعادة التشغيل.
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpmيأتي Ubuntu 24.04 مع PHP 8.3، لذلك تكون خدمة FPM هي php8.3-fpm؛ وتشغّل حزمة zabbix-nginx-conf واجهتها الأمامية تحت نفس العملية الرئيسية. تحقّق من أن الخادم بدأ العمل واستمر فيه:
sudo systemctl status zabbix-server --no-pager
sudo tail -n 20 /var/log/zabbix/zabbix_server.logينتهي السجل السليم برسالة تفيد ببدء الخادم، مع تشغيل عمليات housekeeper وpoller وtrapper الخاصة به. إذا رأيت [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost'، فإن DBPassword من الخطوة 5 غير متطابق. أصلح ذلك ثم أعد التشغيل. ويعني ظهور سطر [Z3005] query failed: [1146] Table 'zabbix.dbversion' doesn't exist أنك تخطّيت استيراد المخطط في الخطوة 4، ولذلك لا يملك الخادم شيئًا ليقرأه.
الخطوة 8، إكمال معالج إعداد الويب
انتقل إلى http://your-domain-or-ip. سيفتح معالج إعداد Zabbix. اتبع خطواته:
- الترحيب، اختر لغة.
- التحقق من المتطلبات الأساسية، يجب أن تعرض كل صف الحالة OK مباشرة؛ إذ يرفع تجمع
/etc/zabbix/php-fpm.confالمضمّن حدود PHP التي يحتاج إليها Zabbix. - تكوين اتصال قاعدة البيانات، اختر MySQL لنوع قاعدة البيانات، والمضيف
localhost، والمنفذ0(ما يعني استخدام المنفذ أو المقبس الافتراضي)، واسم قاعدة البياناتzabbix، والمستخدمzabbix، وكلمة المرور من الخطوة 3. تظهر بيانات الاعتماد الخاطئة أو المخطط المفقود هنا مباشرة. - الإعدادات، اترك مضيف خادم Zabbix على
localhost، والمنفذ على10051، وأدخل اسم التثبيت. - ملخص ما قبل التثبيت، ثم اختر التثبيت؛ سيكتب المعالج
/etc/zabbix/web/zabbix.conf.php. - الإنهاء، سجّل الدخول باستخدام
Admin(بحرف A كبير) وكلمة المرورzabbix، وغيّر كلمة المرور هذه فورًا ضمن المستخدمون.
إذا أبلغ المعالج عن Cannot create the configuration file، فهذا يعني أن مستخدم الويب لا يستطيع الكتابة إلى /etc/zabbix/web/. نزّل zabbix.conf.php الذي يعرضه المعالج، وضعه هناك يدويًا باستخدام sudo، ثم انقر على «إنهاء».
الخطوة 9: إضافة المضيف المحلي وإرفاق قالب
لا يراقب Zabbix نفسه تلقائيًا. انتقل إلى Data collection → Hosts → Create host، واضبط اسم المضيف على zabbix-server، وأضفه إلى مجموعة Linux servers، ثم أضف واجهة Agent بعنوان IP هو 127.0.0.1 والمنفذ 10050. ضمن Templates، اربط Linux by Zabbix agent (نسخة الاستطلاع السلبي؛ بينما يستخدم Linux by Zabbix agent active دفع البيانات من الوكيل). احفظ.
خلال دقيقة، سيعرض صف المضيف تسمية ZBX خضراء، وستصل المقاييس ضمن Monitoring → Latest data. تشير تسمية ZBX حمراء إلى أن الخادم لا يستطيع الوصول إلى الوكيل. وتتناول الأقسام التالية حالة الفشل هذه، وهي ليست خطأ في هذه الخطوة.
الخطوة 10، مشغّل مفيد واحد وتنبيه عبر البريد الإلكتروني
يأتي قالب Linux by Zabbix agent مزوّدًا بمشغّلات لحالات ارتفاع استخدام CPU وانخفاض الذاكرة وامتلاء الأقراص، لذلك تحصل على التنبيهات فور ربطه. لمعرفة كيفية إنشاء أحدها، أضف مشغّلًا خاصًا بك: افتح المضيف، وانتقل إلى Triggers → Create trigger، وسمّه Root filesystem over 90% full on {HOST.NAME}، واضبط مستوى الخطورة على High، واستخدم هذا التعبير:
last(/zabbix-server/vfs.fs.dependent.size[/,pused])>90يمثل vfs.fs.dependent.size[/,pused] عنصر النسبة المئوية للاستخدام الذي ينشئه اكتشاف نظام الملفات في القالب لنظام الملفات الجذر (يجمع قالب Linux في الإصدار 7.0 قيمة vfs.fs.get مرة واحدة، ويشتق منها عناصر تابعة لكل نقطة تحميل)، لذلك يعمل المشغّل من دون جمع بيانات إضافية. احفظه.
لا يغيّر المشغّل لون صف في لوحة المعلومات إلا بعد أن يرسل إجراء إشعارًا إلى شخص ما. ضمن Alerts → Media types → Email، اضبط خادم SMTP والمنفذ وعنوان المرسل وأمان الاتصال (عادةً STARTTLS) وأي بيانات اعتماد للترحيل، ثم استخدم Test. يعني فشل الاختبار أن مسار SMTP غير صحيح، قبل أن يعتمد عليه أي تنبيه فعلي. أضف عنوانًا إلى المستخدم Admin ضمن Users → Users → Admin → Media → Add، وحدد مستويات الخطورة التي ترسل إشعارات. ثم اربطه ضمن Alerts → Actions → Trigger actions → Create action: أضف شرطًا مثل Trigger severity >= Warning، وضمن Operations أرسل الإشعار إلى Admin عبر Email. احفظ الإجراء وفعّله. تفضّل الدردشة؟ يأتي Zabbix 7.0 مزوّدًا بأنواع وسائط عبر webhook لخدمات Slack وDiscord وTelegram. اضبط أحدها بالطريقة نفسها المستخدمة مع Email، ثم عيّنه لمستخدم.
مراقبة خادم ثانٍ باستخدام الوكيل
لمراقبة خادم آخر، أضف مستودع Zabbix إليه أيضًا، إذ لا توفر Ubuntu 24.04 حزم Zabbix خاصة بها، ثم ثبّت الوكيل فقط:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
sudo apt install -y zabbix-agent2حرّر /etc/zabbix/zabbix_agent2.conf، واضبط Server على عنوان IP لخادم Zabbix للاستطلاع السلبي، وبالنسبة إلى عمليات الفحص النشطة، اضبط ServerActive بالإضافة إلى Hostname فريد يطابق المضيف الذي تنشئه في الواجهة الأمامية:
Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=web-01شغّل sudo systemctl enable --now zabbix-agent2 وافتح المنفذ TCP 10050 من خادم Zabbix إلى هذا الخادم. بعد ذلك، في الواجهة الأمامية، أنشئ مضيفًا تشير فيه واجهة Agent إلى عنوان IP لذلك الجهاز، واربط قالب Linux، وسيبدأ بإرسال التقارير خلال دقيقة.
أوضاع الفشل، مع النصوص التي ستظهر لك
تعرض الواجهة الأمامية Error connecting to database أو خطأ في قاعدة البيانات. في خطوة قاعدة البيانات في المعالج، يعني Access denied for user 'zabbix'@'localhost' (using password: YES) أن كلمة المرور لا تطابق ما أُدخل في الخطوة 3، أو أن GRANT لم يُشغَّل مطلقًا. إذا اتصلت الواجهة بقاعدة البيانات، لكنها تعرض The frontend does not match Zabbix database أو Table 'zabbix.users' doesn't exist، فهذا يعني أن استيراد المخطط في الخطوة 4 تم تخطيه أو فشل. أعد تشغيله في قاعدة بيانات أُنشئت حديثًا.
شريط برتقالي: Zabbix server is not running: the information displayed may not be current. الواجهة الأمامية تعمل، لكنها لا تستطيع الوصول إلى خادم قيد التشغيل. توجد ثلاثة أسباب، مرتبة من الأكثر احتمالًا. قد تكون الخدمة متوقفة؛ افحص systemctl status zabbix-server ثم شغّلها. وقد تعمل الخدمة، لكنها لا تستطيع الوصول إلى قاعدة بياناتها؛ يعرض السجل [Z3001] connection to database 'zabbix' failed: [1045] Access denied، ما يعني أن قيمة DBPassword خاطئة أو فارغة. أو قد تشير الواجهة الأمامية إلى خادم خاطئ؛ وتُخزَّن قيمتا المضيف localhost والمنفذ 10051 في /etc/zabbix/web/zabbix.conf.php. لا يتوفر SELinux في Ubuntu افتراضيًا، لذلك لا ينطبق سبب مقبس SELinux الذي تذكره أدلة RHEL. في هذه الحالة، يكون السبب تقريبًا دائمًا كلمة مرور قاعدة البيانات أو توقف الخدمة.
يعرض المضيف تسمية حمراء ZBX؛ وخطأ العنصر هو Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused. الوكيل لا يعمل أو لا يستمع. افحص systemctl status zabbix-agent2 وتحقق من ListenPort=10050. يعني انتهاء المهلة، بدلًا من ظهور "الاتصال مرفوض"، أن جدارًا ناريًا يحظر المنفذ 10050. ويعني Received empty response from Zabbix Agent. Assuming that agent dropped connection because of access permissions. المرتبط به أن الوكيل يمكن الوصول إليه، لكن سطر Server= فيه لا يدرج عنوان IP لخادم Zabbix؛ أضف العنوان ثم أعد تشغيل الوكيل.
تظهر صفحة ترحيب nginx العادية، أو 502 Bad Gateway. تعني صفحة الترحيب أن الموقع الافتراضي لا يزال مفعّلًا، أو أن كتلة Zabbix غير مرتبطة. أزل /etc/nginx/sites-enabled/default وتحقق من وجود /etc/nginx/conf.d/zabbix.conf، كما في الخطوة 6. ويعني 502 أن nginx وصل إلى PHP، لكن PHP-FPM متوقف أو يستمع على مقبس مختلف. شغّل php8.3-fpm وتحقق من أن مقبس fastcgi_pass في كتلة Zabbix يطابق مجموعة العمليات قيد التشغيل.
النسخ الاحتياطية والترقيات وTLS
قاعدة البيانات هي السجل الكامل، لذا أنشئ نسخة احتياطية منها باستخدام mysqldump وفق جدول زمني، واحتفظ بالتفريغ خارج الخادم:
mysqldump --single-transaction zabbix | gzip > zabbix-$(date +%F).sql.gzملفات إعداد /etc/zabbix صغيرة، ومن المفيد حفظها أيضًا، لكنها قابلة لإعادة الإنشاء؛ أما البيانات فلا يمكن إعادة إنشائها. الاستعادة هي العملية العكسية: أنشئ قاعدة البيانات، واستورد التفريغ، ووجّه الإعدادات إليها.
تُعد عمليات apt update && apt upgrade ضمن سلسلة 7.0 عادية؛ ويطبّق الخادم أي عمليات ترحيل للمخطط عند بدء تشغيله التالي. لذلك حدّث الحزم وأعد تشغيل zabbix-server. أما الانتقال إلى سلسلة رئيسية مستقبلية فهو تغيير مقصود. اقرأ ملاحظات الترقية الخاصة بها، وأنشئ تفريغًا لقاعدة البيانات أولًا، وتوقّع تغييرًا أحادي الاتجاه في المخطط. وهذا الانتقال الأحادي الاتجاه هو سبب تثبيتك على سلسلة LTS والبقاء عليها.
لا تترك الواجهة الأمامية تعمل عبر HTTP عادي. بعد أن يشير DNS إلى الخادم، ثبّت شهادة عليه باستخدام Certbot وLet's Encrypt على nginx لنظام Ubuntu 24.04، إذ يعيد ذلك كتابة كتلة الخادم للاستماع على 443 وإعادة توجيه 80. وأثناء تعزيز أمان خادم يسجّل الدخول لمراقبة كل خادم آخر تديره، أمّن SSH فيه أيضًا باستخدام fail2ban لحظر محاولات SSH بالقوة الغاشمة. يجب ألا تنتقل بيانات تسجيل الدخول للمراقبة بنص واضح، ويجب ألا يظل مدخلها الأمامي مفتوحًا أمام من يحاولون تخمين كلمات المرور.
FAQ
هل أحتاج إلى وكيل Zabbix، أم يمكنني المراقبة بدونه؟
كلا الخيارين يعمل. يوفر الوكيل (agent2) مقاييس تفصيلية لكل مضيف، مثل وحدة المعالجة المركزية والذاكرة والأقراص والعمليات والخدمات وملفات السجل. وهو الخيار المعتاد للخوادم التي تتحكم فيها. تغطي المراقبة من دون وكيل الأجهزة التي لا يمكنك تثبيت البرامج عليها: يستخدم SNMP للمبدلات والطابعات، وICMP ping للتحقق من إمكانية الوصول، وفحوص HTTP لنقاط النهاية، وIPMI للتحقق من سلامة العتاد. تجمع معظم عمليات النشر الفعلية بين الخيارين.
لماذا تقول الواجهة الأمامية إن خادم Zabbix لا يعمل؟
تعمل الواجهة الأمامية، لكنها لا تستطيع الوصول إلى عملية zabbix-server قيد التشغيل. عادةً ما يبدأ الخادم، ثم يفشل في تسجيل الدخول لأن DBPassword في zabbix_server.conf غير صحيحة أو فارغة، ثم يتوقف مباشرة. شغّل systemctl status zabbix-server واقرأ /var/log/zabbix/zabbix_server.log؛ ويؤكد سطر [Z3001] connection to database ... failed ذلك. أصلح كلمة المرور وأعد التشغيل، وستختفي الرسالة خلال دقيقة.
هل يجب أن أستخدم MySQL، أم يمكنني استخدام PostgreSQL؟
كلاهما مدعوم بالكامل: zabbix-server-mysql مع MariaDB أو MySQL كما يوضح هذا الدليل، أو zabbix-server-pgsql مع PostgreSQL. بالنسبة إلى عمليات التثبيت الصغيرة، لا يكاد الاختيار يهم. أما في عمليات التثبيت الكبيرة، فإن PostgreSQL مع إضافة TimescaleDB يقسم جداول السجل التاريخي إلى أقسام، ويجعل عمليات التنظيف أقل تكلفة بكثير. لذلك تميل المواقع الكبيرة إليه. اختر أحدهما والتزم به، فترحيل قاعدة البيانات لاحقًا يتطلب تصديرًا وإعادة استيراد كاملين، وليس مجرد تبديل إعداد.
ما مقدار ذاكرة RAM التي يحتاج إليها خادم Zabbix متكامل؟
بالنسبة إلى خادم واحد يراقب عددًا قليلًا من المضيفين، يمثل 2 GB حدًا أدنى واقعيًا، وتكون 4 GB مريحة بعد تجاوز بضع عشرات من المضيفين. تذهب معظم الذاكرة إلى ذاكرة التخزين المؤقت لقاعدة البيانات وعمال الاستطلاع في الخادم. يعمل VPS بسعة 1 GB، لكنه لا يوفر موارد كافية لقاعدة البيانات مع نمو السجل التاريخي. بعد تجاوز مئة مضيف، انقل قاعدة البيانات إلى خادم مستقل واضبط مخزنها المؤقت بدلًا من إضافة المزيد من الذاكرة إلى جهاز واحد.
هل يعد Zabbix مبالغًا فيه لبضعة خوادم؟
قد يكون كذلك. إذا كان كل ما تحتاج إليه هو معرفة «هل يعمل؟» وصفحة يمكنك مشاركتها، فستكون أداة أخف مثل Uptime Kuma لمراقبة وقت التشغيل والحالة أسرع في الإعداد وأسهل في القراءة بنظرة واحدة. اختر Zabbix عندما تحتاج إلى حدود لكل مقياس، ورسوم بيانية تاريخية، ومضيفين يستخدمون القوالب، وقواعد تصعيد. هذه وظائف لا يمكن لأداة فحص اتصال بسيطة توفيرها لك عبر مجموعة كبيرة من الخوادم.