فقط راه اندازی سرورها و استقرار برنامه های کاربردی روی آنها کافی نیست. همچنین مهم است که بتوان به راحتی عملکرد همه سرورها را از یک مکان متمرکز برای افزایش کارایی نظارت کرد. اینجاست که ابزارهای مدیریت متمرکز سرور مجازی یا اختصاصی مانند Zabbix Server وارد می شوند. در این مقاله در مورد یکی از این ابزارها، یعنی Zabbix صحبت میکنیم و نحوه نصب Zabbix روی سرور را بررسی خواهیم کرد.
Zabbix چیست؟
Zabbix یک پلتفرم متنباز برای مانیتورینگ بر عملکرد سیستمها و شبکهها است که به کاربران این امکان را میدهد تا به طور مداوم وضعیت سرورها (مانند سرور اختصاصی)، دستگاهها و سرویسهای مختلف را زیر نظر داشته باشند.
این ابزار از پروتکلهای مختلفی برای جمعآوری دادهها استفاده کرده و قادر است به صورت real-time مشکلات را شناسایی کند و هشدارهای فوری ارسال کند.
Zabbix در بسیاری از سازمانها برای بهبود کارایی و کاهش زمان بروز مشکلات به کار میرود و به راحتی میتوان آن را برای انواع کارهای مختلف مقیاسبندی کرد. این سیستم به دلیل ویژگیهای پیشرفته خود مانند
داشبوردهای قابل تنظیم، گزارشهای جامع و ادغام با سایر ابزارهای IT، به عنوان یکی از ابزارهای محبوب در زمینه نظارت و مدیریت زیرساختهای IT شناخته میشود.
نصب Zabbix روی سرور
در ادامه، قصد داریم مرحله به مرحله نصب Zabbix را روی سرور اختصاصی یا سرور مجازی لینوکس بررسی کنیم. Zabbix یک نرمافزار مانیتورینگ متنباز و کاملا رایگان است که به شما اجازه میدهد تعداد نامحدودی از هاستها و سرورها را مدیریت کنید. این پلتفرم سالهاست که به عنوان یکی از قابلاعتمادترین ابزارهای مانیتورینگ در حوزه میزبانی وب شناخته میشود.
برای اجرای موفقیتآمیز سرور مانیتورینگ Zabbix، ابتدا باید زیرساخت وب و دیتابیس (LAMP Stack) را آماده کنید. در این راهنما، مراحل را برای توزیع های لینوکس مبتنی بر دبیان/اوبونتو و RHEL/CentOS پیش میبریم.
گام اول: نصب وبسرور آپاچی و زبان PHP
در اولین قدم، باید پکیجهای سیستمعامل را بهروزرسانی کرده و سپس وب سرور Apache را به همراه زبان PHP و افزونه های مورد نیاز Zabbix نصب کنید.
۱. دستورات زیر را با توجه به توزیع لینوکس خود اجرا کنید:
در توزیعهای اوبونتو و دبیان:
$ sudo apt update && sudo apt upgrade
$ sudo apt install apache2 php php-mysql php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-pdo php-xml libapache2-mod-php
در توزیعهای مبتنی بر RHEL (مانند CentOS و آلما لینوکس):
# yum update && yum upgrade
# yum -y install epel-release
# yum install httpd php php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-xml
۲. برای عملکرد صحیح Zabbix، باید برخی از مقادیر فایل پیکربندی PHP را تغییر دهید. ابتدا فایل php.ini را باز کنید:
در اوبونتو/دبیان:
sudo nano /etc/php/7.X/apache2/php.ini
در RHEL/CentOS:
vi /etc/php.ini
سپس مقادیر زیر را پیدا کرده و مطابق لیست زیر ویرایش کنید (عدد نسخه PHP در مسیر فایل ممکن است متفاوت باشد):
post_max_size = 16M
upload_max_filesize = 2M
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
session.auto_start = 0
mbstring.func_overload = 0
date.timezone = Asia/Tehran
نکته: پارامتر date.timezone را بر اساس موقعیت جغرافیایی سرور خود تنظیم کنید. (برای ایران: Asia/Tehran)
۳. پس از ذخیره تغییرات، برای اعمال آنها سرویس آپاچی را ریستارت کنید:
در اوبونتو/دبیان:
sudo systemctl restart apache2.service
در RHEL/CentOS:
systemctl restart httpd.service
گام دوم: نصب و پیکربندی پایگاه داده MariaDB
زبیکس برای ذخیره دادههای خود به یک دیتابیس نیاز دارد. در این آموزش از MariaDB استفاده میکنیم.
۴. دستور زیر را برای نصب دیتابیس و کتابخانههای مورد نیاز اجرا کنید:
در اوبونتو/دبیان:
$ sudo apt-get install mariadb-server mariadb-client libmysqld-dev
نکته: در اوبونتو/دبیان، احتمالا در حین نصب از شما خواسته میشود یک رمز عبور برای کاربر Root دیتابیس انتخاب کنید؛ حتما از یک گذرواژه قوی استفاده کنید.
در RHEL/CentOS:
# yum install mariadb-server mariadb-client mariadb-devel
۵. پس از اتمام نصب، ابتدا سرویس را Start کرده و سپس اسکریپت امنیتی را اجرا کنید تا دسترسیهای غیرمجاز محدود شود:
$ sudo systemctl start mariadb
$ sudo mysql_secure_installation
در پاسخ به سوالات این اسکریپت، پیشنهاد میشود برای همه گزینهها (حذف کاربران ناشناس، غیرفعال کردن ورود ریموت برای root و حذف دیتابیس تست) عبارت yes را وارد کنید.
۶. وارد محیط متنی دیتابیس شوید و دستورات زیر را برای ساخت پایگاه داده اختصاصی زبیکس اجرا کنید:
# mysql -u root -p
-- ایجاد دیتابیس با پشتیبانی از کاراکترهای فارسی و خاص
create database zabbixdb character set utf8 collate utf8_bin;
-- ایجاد کاربر و تعیین دسترسیها (رمز عبور دلخواه خود را به جای password1 بگذارید)
grant all privileges on zabbixdb.* to 'zabbixuser'@'localhost' identified by 'password1';
-- اعمال تغییرات و خروج
flush privileges;
exit
نکته امنیتی: حتما در دستورات بالا، نام دیتابیس (zabbixdb)، نام کاربری (zabbixuser) و رمز عبور (password1) را مطابق با استانداردهای امنیتی خود تغییر دهید.
گام سوم: نصب و راهاندازی سرور Zabbix
در این مرحله، باید مخازن (Repositories) رسمی زبیکس را به سیستمعامل خود اضافه کرده و سپس پکیجهای اصلی سرور، رابط کاربری وب (Frontend) و Agent را نصب کنید.
برای اضافه کردن مخازن و نصب پکیجها بسته به نسخه سیستمعامل خود، دستورات مربوطه را اجرا کنید:
خانواده دبیان:
دبیان 11:
$ sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
$ sudo dpkg -i zabbix-release_5.4-1+debian11_all.deb
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
دبیان 10: (مشابه نسخه ۱۱، با پکیج مخصوص خود):
$ sudo wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
$ sudo dpkg -i zabbix-release_5.4-1+debian10_all.deb
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
اوبونتو 20.04:
$ sudo wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+ubuntu20.04_all.deb
$ sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb
$ sudo apt update
$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
CentOS/RHEL 8:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
برای اعمال تنظیمات جدید Zabbix روی آپاچی، یکبار سرویس را ریاستارت کنید. همچنین باید در سیستمهای RHEL، موقتا SELinux را غیرفعال کنید:
sudo systemctl restart apache2(دبیان/اوبونتو)systemctl restart httpdوsetenforce 0(سنتاواس)
گام چهارم: پیکربندی نهایی سرور و Agent در Zabbix
حالا باید ساختار دیتابیس پیشفرض Zabbix را به پایگاه دادهای که در گام دوم ساختیم، منتقل کنیم. برای وارد کردن جداول دیتابیس یا همان Import Schema دستورات زیر را وارد کنید:
$ sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbixuser -p zabbixdb
نکته: پس از اجرای دستور، رمز عبوری که برای کاربر zabbixuser در مراحل قبل ساخته بودید را وارد کنید.
برای مشاهده تنظیمات اتصال به دیتابیس فایل اصلی پیکربندی سرور Zabbix را باز کنید:
sudo nano /etc/zabbix/zabbix_server.conf
خطوط زیر را پیدا کرده و با اطلاعات دیتابیس خود مقداردهی کنید:
DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=password1
برای راه اندازی سرویس سرور تغییرات را ذخیره کرده (Ctrl+O و سپس Ctrl+X) و سرویس را ریستارت کنید:
# systemctl restart zabbix-server.service
Agent زبیکس برای مانیتور کردن خود سرور استفاده میشود. برای تنظیمات Zabbix Agent فایل تنظیمات آن را باز کنید:
sudo nano /etc/zabbix/zabbix_agentd.conf
مطمئن شوید مقادیر زیر به درستی تنظیم شده باشند:
Server=127.0.0.1
ListenPort=10050
در نهایت، سرویس ایجنت را ریستارت کنید تا آماده به کار شود:
# systemctl restart zabbix-agent.service
در این مرحله شما با موفقیت پیشنیازها و سرویسهای اصلی Zabbix را نصب کردید. مرحله بعدی، ورود به پنل تحت وب Zabbix و تکمیل مراحل نصب گرافیکی است.
گام پنجم: نصب و پیکربندی رابط کاربری (Frontend)
پس از اتمام تنظیمات کنسول، مراحل زیر را برای فعالسازی پنل مدیریت وب دنبال کنید:
گام ۱: برای دسترسی به پنل مدیریت آدرس زیر را در مرورگر خود وارد کنید (به جای server-IP آدرس IP سرور خود را قرار دهید):
http://server-IP/zabbix
گام ۲: برای بررسی پیشنیازها در صفحه باز شده، تمامی پیشنیازهای سیستم بررسی میشوند. در صورت سبز بودن تمامی موارد، روی دکمه Next Step کلیک کنید.
گام ۳: مشخصات دیتابیسی که در مراحل قبل ساختید (نام دیتابیس، نام کاربری و رمز عبور) را وارد نموده و سپس روی Next Step کلیک کنید.
گام ۴: در این مرحله برای تایید تنظیمات سرور تنظیمات پیشفرض سرور را مشاهده میکنید؛ بدون تغییر روی Next Step کلیک کنید.
گام ۵: خلاصهای از تمام تنظیمات به شما نمایش داده میشود. پس از تایید، روی Next Step کلیک کنید تا نصب نهایی شود.
گام ۶: ورود به سیستم (Login) حالا میتوانید با مشخصات زیر وارد پنل شوید:
-
نام کاربری:
Admin -
رمز عبور:
zabbix
نکته بسیار مهم: نام کاربری و رمز عبور به حروف بزرگ و کوچک حساس (Case Sensitive) هستند. حتما بلافاصله پس از اولین ورود، جهت حفظ امنیت سیستم، رمز عبور خود را تغییر دهید.
راهنمای نصب و راهاندازی Zabbix Agent
پس از اینکه سرور اصلی Zabbix را آماده کردید، نوبت به نصب Zabbix Agent روی سایر سرورها میرسد تا بتوانید وضعیت آنها را مانیتور کنید.
گام ۱: ورود به سرور مقصد از طریق SSH
ابتدا با دسترسی روت و از طریق SSH به سروری که قصد مانیتور کردن آن را دارید، متصل شوید:
ssh root@IP-Address
گام ۲: نصب پکیج Zabbix Agent
با استفاده از دستور زیر، ایجنت زبیکس را روی سرور نصب کنید:
apt install -y zabbix-agent
گام ۳: ویرایش و بهروزرسانی فایل پیکربندی (اتصال به سرور اصلی)
برای اینکه Agent بداند اطلاعات را باید به کدام سرور ارسال کند، فایل تنظیمات را ویرایش میکنیم:
nano /etc/zabbix/zabbix_agentd.conf
در این فایل، عبارت Server=127.0.0.1 را پیدا کنید و آدرس 127.0.0.1 را پاک کرده و IP سرور مانیتورینگ (سرور اصلی) خود را جایگزین آن کنید:
Server=آدرس_آیپی_سرور_مرکزی
پس از تغییر، فایل را ذخیره کرده و از آن خارج شوید.
گام ۴: راهاندازی مجدد سرویس Agent
برای اینکه تنظیمات جدید اعمال شود، سرویس Agent را ریستارت کنید:
گام ۵: تعریف هاست جدید در پنل مدیریت Zabbix
حالا باید سرور جدید را در محیط گرافیکی Zabbix معرفی کنید:
1. به پنل مدیریت Zabbix در مرورگر بروید و وارد مسیر Configuration > Hosts شوید.
2. در گوشه سمت راست بالا، روی دکمه Create Host کلیک کنید.
3. اطلاعات اصلی مانند نام هاست (Hostname)، آدرس IP سرور مقصد را وارد کرده و یک گروه (Host Group) برای آن انتخاب کنید.
4. برزای انتخاب قالب به تب Templates بروید، قالب Linux OS Template را جستجو، انتخاب و سپس روی دکمه Add کلیک کنید. در پایان روی دکمه آبیرنگ Add کلیک کنید تا تغییرات ذخیره شوند.
اگر تمام مراحل را به درستی انجام داده باشید، پس از چند دقیقه در ستون Availability، عبارت ZBX به رنگ سبز روشن میشود که نشاندهنده برقراری ارتباط موفق و شروع مانیتورینگ است.
پیکربندی سیستم اعلانها
پس از جمعآوری دادهها، گام بعدی این است که در صورت بروز هرگونه اختلال در سرورها، سیستم به صورت خودکار به شما اطلاع دهد.
۱. تنظیمات اعلان از طریق ایمیل (Email)
برای شروع، باید مشخصات سرور ایمیل خود را در Zabbix تعریف کنید:
تنظیم سرور ایمیل
به مسیر Administration > Media Types بروید.
در این صفحه، میتوانید مشخصات سرور ایمیل (SMTP) خود را که قرار است وظیفه ارسال هشدارها را بر عهده داشته باشد، وارد کنید.
پس از وارد کردن تنظیمات (مانند آدرس سرور، پورت و احراز هویت)، آن را تست کنید تا از صحت عملکرد ارسال ایمیل مطمئن شوید.
تخصیص ایمیل به کاربر
حالا باید تعیین کنید که ایمیلها به چه کسی ارسال شوند. به مسیر Administration > Users بروید.
کاربر مورد نظر خود را انتخاب کرده و به تب Media بروید. در اینجا روی لینک Add کلیک کرده، آدرس ایمیل مقصد را وارد کنید و مشخص کنید که کدام سطح از هشدارها (مثلا فقط هشدارهای بحرانی یا Disaster) برای این کاربر ارسال شود.
۲. تنظیمات اعلان از طریق پیامک (SMS)
اگر مایل هستید در زمان قطعی کامل سرور (که ممکن است به ایمیل دسترسی نداشته باشید) از طریق پیامک باخبر شوید:
-
یکپارچهسازی با پنلهای پیامکی: پروژههای متعددی در گیت هاب وجود دارند که به شما اجازه میدهند زبیکس را به ارائهدهندگان خدمات پیامکی (مانند Twilio یا پنلهای پیامکی داخلی) متصل کنید.
-
عملکرد: با استفاده از این اسکریپتها، به محض اینکه سرور از دسترس خارج شود، یک درخواست به وبسرویس پیامک ارسال شده و هشدار مستقیماً روی تلفن همراه شما ظاهر میشود.
نکته: پیشنهاد میشود برای هشدارهای با اولویت پایین از ایمیل و برای هشدارهای بسیار ضروری و قطعیهای کامل (Critical/Disaster) حتما از سیستم پیامک استفاده کنید تا در کوتاهترین زمان ممکن واکنش نشان دهید.
راهاندازی صفحات مانیتورینگ
یکی از قدرتمندترین ویژگیهای زبیکس، قابلیت شخصیسازی کامل در نمایش دادههاست. زبیکس انواع داشبوردها، اسکرینها و نمودارهای متنوعی را در اختیار شما قرار میدهد که میتوانید از آنها برای بررسی وضعیت سلامت کل زیرساخت و سرورهای خود، تنها در یک نگاه استفاده کنید.
پیشنهاد: توصیه میشود حتما زمان کافی برای طراحی و چیدمان این صفحات اختصاص دهید. شما میتوانید بر اساس نیازهای خاص سازمان یا پروژه خود، نمودارهای مربوط به مصرف CPU، رم، ترافیک شبکه و فضای دیسک را در کنار هم قرار دهید تا در لحظه، دید کاملی از عملکرد تمامی سرورها داشته باشید.
جمع بندی
Zabbix Server یک ابزار نظارتی منبع باز کلاس سازمانی است. Zabbix نرم افزاری است که پارامترهای متعدد یک شبکه و سلامت و یکپارچگی سرورها را کنترل می کند. این ابزار از یک مکانیسم اعلان انعطاف پذیر استفاده میکند که به کاربران اجازه میدهد تا هشدارهای مبتنی بر ایمیل را برای تقریباً هر رویدادی پیکربندی کنند.
همچنین در این مقاله با یکدیگر آموختیم که چگونه Zabbix Server را نصب و راه اندازی کنیم. امیدواریم که این مطلب برای شما مفید بوده باشد.

















