Zabbix هو برنامج مجاني ومفتوح المصدر جاهز للمؤسسات يستخدم لمراقبة مدى توفر الأنظمة ومكونات الشبكة. يمكن لـ Zabbix مراقبة الآلاف من الخوادم أو الأجهزة الافتراضية أو مكونات الشبكة في وقت واحد. يمكن لـ Zabbix مراقبة كل شيء متعلق تقريبًا بنظام مثل وحدة المعالجة المركزية والذاكرة ومساحة القرص وإدخال المعلومات والعمليات والشبكة وقواعد البيانات والأجهزة الافتراضية وخدمات الويب. إذا تم توفير وصول IPMI إلى Zabbix ، فيمكنه أيضًا مراقبة الأجهزة مثل درجة الحرارة والجهد وما إلى ذلك.
المتطلبات الأساسية
في هذا البرنامج التعليمي ، سنستخدم 192.0.2.1كعنوان IP عام لخادم Zabbix وكعنوان 192.0.2.2IP عام لمضيف Zabbix سنقوم بمراقبته عن بُعد. يرجى التأكد من استبدال جميع حالات تكرار عنوان IP المثال بعناوين IP العامة الفعلية الخاصة بك.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات.
قم بتثبيت Apache و PHP
عند تثبيت Zabbix web ، يقوم تلقائيًا بإنشاء تكوين لخادم الويب Apache. 
قم بتثبيت خادم الويب Apache لخدمة Zabbix الأمامية أو واجهة المستخدم على الويب.
sudo apt -y install apache2
قم بتشغيل خادم الويب Apache وتمكينه من البدء في وقت التمهيد تلقائيًا.
sudo systemctl start apache2
sudo systemctl enable apache2
قم بتثبيت أحدث إصدار من PHP مع الوحدات التي يتطلبها Zabbix.
sudo apt -y install php php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-gd php7.0-bcmath php7.0-ctype php7.0-xml php7.0-sockets php7.0-mbstring php7.0-gettext php7.0-ldap php7.0-pgsql
قم بتثبيت PostgreSQL وتكوينه
PostgreSQL هو نظام قاعدة بيانات علائقية للكائنات. أضف مستودع PostgreSQL في نظامك.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
قم باستيراد مفتاح توقيع المستودع ، وقم بتحديث قوائم الحزم.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
قم بتثبيت خادم قاعدة بيانات PostgreSQL.
sudo apt -y install postgresql postgresql-contrib
قم بتشغيل خادم PostgreSQL وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start postgresql
sudo systemctl enable postgresql
قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.
sudo passwd postgres
تسجيل الدخول كمستخدم PostgreSQL.
sudo su - postgres
قم بإنشاء مستخدم PostgreSQL جديد لـ Zabbix.
createuser zabbix
يوفر PostgreSQL psqlالصدفة لتشغيل الاستعلامات في قاعدة البيانات. قم بالتبديل إلى غلاف PostgreSQL عن طريق التشغيل.
psql
تعيين كلمة مرور لمستخدم قاعدة البيانات الذي تم إنشاؤه حديثًا لقاعدة بيانات Zabbix.
ALTER USER zabbix WITH ENCRYPTED password 'StrongPassword';
إنشاء قاعدة بيانات جديدة لـ Zabbix.
CREATE DATABASE zabbix OWNER zabbix;
اخرج من psqlالقشرة.
\q
التبديل إلى sudoالمستخدم من postgresالمستخدم الحالي .
exit
تثبيت Zabbix
يوفر Zabbix ثنائيات للتثبيت لـ Ubuntu ، والتي يمكن تثبيتها مباشرة من مستودع Zabbix. أضف مستودع Zabbix في نظامك.
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
تثبيت Zabbix serverو Zabbix web.
sudo apt -y install zabbix-server-pgsql zabbix-frontend-php
قم باستيراد قاعدة بيانات PostgreSQL ، والتي يتم شحنها مع التطبيق.
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -H -u zabbix bash -c 'psql -U zabbix zabbix'
يجب أن ترى شيئًا مشابهًا لما يلي في نهاية الإخراج.
...
INSERT 0 1
INSERT 0 1
COMMIT
افتح ملف تكوين Zabbix لتحديث تفاصيل قاعدة البيانات.
sudo nano /etc/zabbix/zabbix_server.conf
ابحث عن الأسطر التالية وقم بتحديث القيم وفقًا لتكوين قاعدة البيانات. سوف تحتاج إلى غير تعليق و DBHostو DBPortخطوط.
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword
DBPort=5432
يقوم Zabbix تلقائيًا بتثبيت ملف المضيف الظاهري لـ Apache. سنحتاج إلى تكوين المضيف الظاهري لتحديث المنطقة الزمنية.
sudo nano /etc/apache2/conf-available/zabbix.conf
ابحث عن الخطوط التالية.
<IfModule mod_php7.c>
...
#php_value date.timezone Europe/Riga
حدّث الخطوط وفقًا لمنطقتك الزمنية ، كما هو موضح أدناه.
<IfModule mod_php7.c>
...
php_value date.timezone Asia/Kolkata
أعد تشغيل Apache لتطبيق هذه التغييرات في التكوين.
sudo systemctl restart apache2
أيضًا ، قم بتشغيل خادم Zabbix وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
يجب أن يكون خادم Zabbix جاهزًا للعمل. يمكنك التحقق من حالة العملية.
sudo systemctl status zabbix-server
للوصول إلى لوحة تحكم الإدارة ، يمكنك فتحها http://192.0.2.1/zabbixباستخدام متصفحك المفضل. سترى رسالة ترحيب. يجب أن تكون جميع المتطلبات الأساسية راضية عن الواجهة التالية. اتبع الإرشادات الموجودة على صفحة المثبت لتثبيت البرنامج. بمجرد تثبيت البرنامج ، قم بتسجيل الدخول باستخدام اسم المستخدم وكلمة Adminالمرور zabbix. تم تثبيت Zabbix الآن وجاهز لجمع البيانات من وكيل Zabbix.
قم بإعداد الوكيل على الخادم
لمراقبة الخادم المثبت عليه Zabbix ، يمكنك إعداد الوكيل على الخادم. سيجمع وكيل Zabbix بيانات الحدث من خادم Linux لإرسالها إلى خادم Zabbix. بشكل افتراضي ، 10050يتم استخدام رقم المنفذ لإرسال الأحداث والبيانات إلى الخادم.
تثبيت عامل Zabbix.
sudo apt -y install zabbix-agent
قم بتشغيل الوكيل وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
نظرًا لأن الاتصال بين وكيل Zabbix وخادم Zabbix يتم محليًا ، فلا حاجة لإعداد أي تشفير.
قبل أن يتمكن خادم Zabbix من تلقي أي بيانات ، تحتاج إلى تمكين المضيف. قم بتسجيل الدخول إلى لوحة تحكم إدارة الويب الخاصة بخادم Zabbix وانتقل إلى Configuration >> Host. سترى إدخالاً معطلًا لمضيف خادم Zabbix. حدد الإدخال وانقر فوق Enableالزر لتمكين مراقبة تطبيق خادم Zabbix والنظام الأساسي الذي تم تثبيت خادم Zabbix عليه.

وكيل الإعداد على أجهزة Linux البعيدة
هناك ثلاث طرق يمكن من خلالها لعامل Zabbix البعيد إرسال الأحداث إلى خادم Zabbix. الطريقة الأولى هي استخدام اتصال غير مشفر ، والثانية هي استخدام مفتاح مشترك مسبقًا آمن. الطريقة الثالثة والأكثر أمانًا هي تشفير الإرسال باستخدام شهادات RSA.
قبل أن ننتقل إلى تثبيت وتكوين وكيل Zabbix على الجهاز البعيد ، نحتاج إلى إنشاء الشهادات على نظام خادم Zabbix. في هذا البرنامج التعليمي ، سنستخدم الشهادات الموقعة ذاتيًا.
قم بتشغيل الأوامر التالية على خادم Zabbix sudoكمستخدم .
إنشاء دليل جديد لتخزين مفاتيح Zabbix وإنشاء المفتاح الخاص للمرجع المصدق.
mkdir ~/zabbix-keys && cd ~/zabbix-keys
openssl genrsa -aes256 -out zabbix-ca.key 4096
سيطلب منك عبارة مرور لحماية المفتاح الخاص. بمجرد إنشاء المفتاح الخاص ، تابع إنشاء الشهادة للمرجع المصدق.
openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
قدِّم عبارة مرور المفتاح الخاص. سوف يطلب منك بعض التفاصيل حول بلدك ، والدولة ، والمنظمة. قدِّم التفاصيل وفقًا لذلك.
user@vultr:~/zabbix-keys$ openssl req -x509 -new -key zabbix-ca.key -sha256 -days 3560 -out zabbix-ca.crt
Enter pass phrase for zabbix-ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:My State
Locality Name (eg, city) []:My City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:My Unit
Common Name (e.g. server FQDN or YOUR name) []:Zabbix CA
Email Address []:[email protected]
لقد أنشأنا شهادة CA بنجاح. أنشئ المفتاح الخاص و CSR لخادم Zabbix.
openssl genrsa -out zabbix-server.key 2048
openssl req -new -key zabbix-server.key -out zabbix-server.csr
يُرجى عدم تقديم عبارة مرور لتشفير المفتاح الخاص عند تشغيل الأمر أعلاه. باستخدام CSR ، قم بإنشاء الشهادة لخادم Zabbix.
openssl x509 -req -in zabbix-server.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-server.crt -days 1825 -sha256
وبالمثل ، قم بإنشاء المفتاح الخاص والمسؤولية الاجتماعية للشركات لمضيف أو وكيل Zabbix.
openssl genrsa -out zabbix-host1.key 2048
openssl req -new -key zabbix-host1.key -out zabbix-host1.csr
الآن إنشاء شهادة.
openssl x509 -req -in zabbix-host1.csr -CA zabbix-ca.crt -CAkey zabbix-ca.key -CAcreateserial -out zabbix-host1.crt -days 1460 -sha256
انسخ الشهادات إلى دليل تهيئة Zabbix.
sudo mkdir /etc/zabbix/keys
sudo cp zabbix-ca.* zabbix-server.* /etc/zabbix/keys
توفير ملكية الشهادات لمستخدم Zabbix.
sudo chown -R zabbix: /etc/zabbix/keys
افتح ملف التكوين الخاص بخادم Zabbix لتحديث مسار الشهادات.
sudo nano /etc/zabbix/zabbix_server.conf
ابحث عن هذه السطور في ملف التكوين وقم بتغييرها كما هو موضح أدناه.
TLSCAFile=/etc/zabbix/keys/zabbix-ca.crt
TLSCertFile=/etc/zabbix/keys/zabbix-server.crt
TLSKeyFile=/etc/zabbix/keys/zabbix-server.key
احفظ الملف واخرج من المحرر. أعد تشغيل خادم Zabbix حتى تصبح التغييرات في التكوين نافذة المفعول.
sudo systemctl restart zabbix-server
انسخ الشهادات باستخدام scpالأمر إلى الكمبيوتر المضيف الذي ترغب في مراقبته.
cd ~/zabbix-keys
scp zabbix-ca.crt zabbix-host1.* [email protected]:~
تأكد من استبدال 192.0.2.2عنوان IP الفعلي للمضيف البعيد الذي تريد تثبيت عامل Zabbix عليه.
قم بتثبيت Zabbix Host
الآن بعد أن قمنا بنسخ الشهادات إلى النظام المضيف ، نحن على استعداد لتثبيت وكيل Zabbix.
من الآن فصاعدًا ، يجب تنفيذ جميع الأوامر على المضيف الذي ترغب في مراقبته .
أضف مستودع Zabbix إلى النظام. 
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
تثبيت عامل Zabbix في النظام.
sudo apt -y install zabbix-agent
لتكوين وإعداد Zabbix ، توجه إلى خطوة تثبيت Zabbix Host في دليل Zabbix لـ CentOS 7 .