مقاله
آموزش زبیکس (Zabbix): راهنمای جامع برای مانیتورینگ و مدیریت شبکه
آموزش زبیکس (Zabbix): راهنمای جامع برای مانیتورینگ و مدیریت شبکه
1. زبیکس چیست؟
زبیکس (Zabbix) یک نرمافزار مانیتورینگ متنباز (Open Source) و قدرتمند است که برای نظارت بر زیرساختهای فناوری اطلاعات استفاده میشود. این نرمافزار میتواند:
سلامت و عملکرد شبکهها
وضعیت سرورها و ماشینهای مجازی
سرویسهای نرمافزاری
و حتی اپلیکیشنهای سازمانی
را بهصورت لحظهای رصد کند.
با کمک زبیکس، مدیران شبکه و سیستم میتوانند:
مشکلات احتمالی را قبل از وقوع بحران شناسایی کنند،
از طریق هشدارهای خودکار اطلاعرسانی شوند،
و با گزارشهای دقیق، تحلیل بهتری از وضعیت IT سازمان داشته باشند.
به دلیل رایگان بودن، پایداری بالا، امکانات جامع و جامعه کاربری گسترده، زبیکس امروز یکی از محبوبترین ابزارهای مانیتورینگ در جهان به شمار میآید.
2. تاریخچه و معرفی کلی Zabbix
پروژه زبیکس در سال ۲۰۰۱ توسط Alexei Vladishev توسعه یافت. هدف اولیه آن، مانیتورینگ ساده سرورهای لینوکسی بود. اما به مرور زمان و با افزایش نیاز سازمانها به ابزارهای مانیتورینگ حرفهای، زبیکس به یک پلتفرم کامل و سازمانی تبدیل شد.
امروزه زبیکس توسط هزاران شرکت و سازمان بزرگ دنیا از جمله:
Dell
ICANN
Orange
NASA
Cisco
مورد استفاده قرار میگیرد.
ویژگی مهم زبیکس این است که به صورت پیوسته در حال توسعه است و در نسخههای جدید، قابلیتهای متناسب با فناوریهای مدرن (مانند Cloud، Container، Docker و Kubernetes) اضافه میشود.
3. چرا باید از زبیکس استفاده کنیم؟
دلایل اصلی انتخاب زبیکس در میان سازمانها و مدیران سیستم عبارتند از:
متنباز و رایگان بودن: بدون نیاز به خرید لایسنسهای گرانقیمت.
پشتیبانی از هزاران هاست: امکان مانیتورینگ تعداد زیادی دستگاه و سرویس.
قابلیت سفارشیسازی بالا: انعطافپذیر در تعریف قوانین و آلارمها.
مانیتورینگ جامع: پشتیبانی از شبکه، سرور، اپلیکیشن و حتی تجهیزات IoT.
هشداردهی پیشرفته: اطلاعرسانی از طریق Email، SMS، Telegram و Webhook.
گزارشگیری و داشبوردهای گرافیکی: نمایش دادهها به شکل نمودار، نقشه شبکه و ویجتهای متنوع.
پشتیبانی از پروتکلهای مختلف مانند SNMP، IPMI، JMX و همچنین مانیتورینگ مبتنی بر Agent.
4. مقایسه زبیکس با ابزارهای مشابه
ابزارهای مانیتورینگ دیگری هم وجود دارند، مانند:
Nagios → قدیمی و پرکاربرد، اما پیچیدهتر در پیکربندی.
Prometheus → محبوب در محیطهای Cloud Native و Kubernetes.
Cacti → بیشتر برای گرافینگ و جمعآوری دادههای شبکه.
PRTG → تجاری و کاربرپسند، اما غیررایگان.
مزیتهای زبیکس در مقایسه با این ابزارها:
رابط کاربری سادهتر نسبت به Nagios
مانیتورینگ توزیعشده، برخلاف Cacti که محدودتر است
مقیاسپذیری بالا مشابه Prometheus، اما با امکانات گرافیکی بیشتر
انعطاف در هشداردهی (Email، Telegram، Webhook و …)
جامعه کاربری گسترده و پشتیبانی خوب
5. نصب و راهاندازی زبیکس
یکی از بخشهای مهم یادگیری زبیکس، نحوه نصب و راهاندازی آن است. نصب به روشهای مختلفی انجام میشود که پرکاربردترین آنها عبارتند از:
نصب روی Ubuntu / Debian
افزودن مخزن رسمی زبیکس
نصب پکیجهای Server، Frontend و Agent
ایجاد دیتابیس (MySQL یا PostgreSQL)
ایمپورت جداول اولیه
ویرایش فایل تنظیمات
zabbix_server.confراهاندازی سرویسها و دسترسی به رابط وب از طریق مرورگر
نصب روی CentOS / RHEL
افزودن مخزن رسمی
نصب پکیجها با استفاده از
yumیاdnfراهاندازی دیتابیس و سرور زبیکس
اجرای وباینترفیس
نصب روی ویندوز
زبیکس Server برای ویندوز ارائه نشده، اما Zabbix Agent روی ویندوز قابل نصب است. این Agent میتواند اطلاعاتی مانند مصرف CPU، RAM، وضعیت سرویسها و رخدادهای Event Viewer را جمعآوری کند.
نصب و راهاندازی زبیکس (Zabbix)
زبیکس را میتوان روی سیستمعاملهای مختلف و حتی بهصورت کانتینری اجرا کرد. انتخاب روش نصب به نیاز شما، نوع زیرساخت و میزان تجربهتان بستگی دارد.
نصب زبیکس روی Ubuntu
برای نصب زبیکس روی Ubuntu مراحل زیر را طی میکنیم:
افزودن مخزن رسمی Zabbix
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo apt update
2.نصب Zabbix Server، Frontend و Agent
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
3.ایجاد دیتابیس MySQL برای زبیکس
sudo mysql -uroot -p
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'StrongPassword';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
4.ایمپورت جداول اولیه
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
5.ویرایش فایل کانفیگ سرور
sudo nano /etc/zabbix/zabbix_server.conf
در این بخش نام دیتابیس، کاربر و پسورد را وارد کنید.
راهاندازی سرویسها
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
حالا با وارد کردن آدرس سرور در مرورگر میتوانید به رابط وب زبیکس دسترسی داشته باشید.
نصب روی CentOS / RHEL
تقریباً مشابه Ubuntu است اما به جای apt از yum یا dnf استفاده میشود:
rpm -ivh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
زبیکس Agent روی ویندوز هم اجرا میشود و امکان مانیتورینگ سیستمعامل، سرویسها و اپلیکیشنهای ویندوزی را فراهم میکند. برای نصب کافی است فایل اجرایی Agent را از سایت Zabbix Download
اجرای زبیکس با Docker:
version: '3.5'
services:
zabbix-server:
image: zabbix/zabbix-server-mysql:alpine-6.4-latest
environment:
DB_SERVER_HOST: mysql
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pass
ports:
- "10051:10051"
zabbix-web:
image: zabbix/zabbix-web-apache-mysql:alpine-6.4-latest
environment:
DB_SERVER_HOST: mysql
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pass
ZBX_SERVER_HOST: zabbix-server
ports:
- "8080:8080"
mysql:
image: mysql:8.0
environment:
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pass
MYSQL_ROOT_PASSWORD: root_pass
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
با اجرای دستور زیر، کل سرویسها اجرا میشوند:
docker-compose up -d
6. معماری زبیکس
زبیکس از چند بخش اصلی تشکیل شده است:
Zabbix Server → قلب سیستم، وظیفه پردازش دادهها را بر عهده دارد.
Zabbix Agent → روی سرورها نصب میشود و دادهها را جمعآوری میکند.
Database → ذخیره دادهها در پایگاه داده (MySQL، PostgreSQL).
Frontend → رابط وب برای مشاهده گزارشها و داشبوردها.
7. اولین ورود به Zabbix
بعد از نصب، با مرورگر به آدرس زیر بروید:
http://your-server-ip/zabbix
یوزرنیم پیشفرض: Admin
پسورد پیشفرض: zabbix
8. افزودن هاست (Host)
برای اینکه یک سرور یا دستگاه شبکه وارد فرآیند مانیتورینگ شود، باید آن را بهعنوان Host در زبیکس اضافه کنید. در این مرحله:
نام هاست و گروه (Host Group) انتخاب میشود.
آدرس IP یا نام دامنه سرور وارد میشود.
روش مانیتورینگ تعیین میگردد (Agent، SNMP، ICMP یا IPMI).
سپس میتوان برای هاست Template مناسب اختصاص داد.
بهطور معمول برای سرورهای لینوکسی یا ویندوزی، Zabbix Agent نصب میشود، و برای تجهیزات شبکه (مانند روتر و سوئیچ)، SNMP فعال خواهد شد.
9. آیتمها (Items)
Itemها واحدهای جمعآوری داده در زبیکس هستند. هر آیتم یک نوع داده را از هاست میگیرد و در دیتابیس ذخیره میکند. نمونههایی از آیتمهای پرکاربرد:
استفاده CPU (مثلاً میانگین بار سیستم)
مصرف RAM
وضعیت سرویسها (در حال اجرا یا متوقف بودن)
ترافیک ورودی و خروجی کارت شبکه
پاسخ ICMP (پینگ)
هر آیتم یک کلید (Key) دارد که نوع داده جمعآوریشده را مشخص میکند.
10. تریگرها (Triggers)
تریگرها قوانین یا شرایطی هستند که بر اساس دادههای جمعآوریشده توسط آیتمها عمل میکنند. هر زمان شرطی برقرار شود، تریگر فعال میشود.
مثالها:
اگر استفاده CPU بیشتر از ۹۰٪ شد → وضعیت “هشدار” (Warning) ثبت شود.
اگر فضای دیسک کمتر از ۱۰٪ بود → وضعیت “بحرانی” (Disaster) فعال گردد.
تریگرها کمک میکنند مشکلات قبل از اینکه به بحران تبدیل شوند، شناسایی شوند.
11. اکشنها (Actions)
وقتی یک Trigger فعال شد، زبیکس میتواند اکشن (Action) انجام دهد. اکشنها به مدیران کمک میکنند تا به صورت خودکار در جریان مشکلات قرار بگیرند.
نمونه اکشنها:
ارسال ایمیل به تیم IT
ارسال پیام به تلگرام، Slack یا Microsoft Teams
اجرای یک اسکریپت روی سرور (مثلاً ریاستارت یک سرویس)
ایجاد تیکت خودکار در سیستمهای HelpDesk
12. استفاده از Templateها
یکی از قابلیتهای مهم زبیکس، وجود Templateهای آماده است. Template شامل آیتمها، تریگرها، گرافها و اکشنهای از پیش تعریفشده است.
مثالهایی از Templateهای پرکاربرد:
Template OS Linux → مانیتورینگ سرورهای لینوکسی
Template OS Windows → مانیتورینگ سیستمعامل ویندوز
Template DB MySQL → مانیتورینگ دیتابیس MySQL
Template Cisco Router → مانیتورینگ تجهیزات شبکه سیسکو
این ویژگی باعث صرفهجویی در زمان و سادهتر شدن پیکربندی میشود.
13. گرافها و داشبوردها
زبیکس دادههای جمعآوریشده را میتواند به شکل گرافهای تعاملی و داشبوردهای سفارشی نمایش دهد.
مزایا:
مشاهده روند مصرف منابع در طول زمان
مقایسه وضعیت سرورها و سرویسها
شناسایی سریع نقاط بحرانی
مدیر سیستم میتواند یک داشبورد مرکزی طراحی کند که شامل ویجتهایی مثل نمودار بار CPU، وضعیت سرویسها، نقشه شبکه و گزارشهای آلارمها باشد.
14. مانیتورینگ شبکه
زبیکس از پروتکلهای مختلفی برای مانیتورینگ شبکه پشتیبانی میکند، از جمله:
SNMP (برای تجهیزات شبکه مثل سوئیچ و روتر)
ICMP (پینگ برای بررسی دسترسپذیری)
IPMI (برای مانیتورینگ سختافزار و سرورهای فیزیکی)
با این قابلیتها میتوان:
وضعیت روترها و سوئیچها را بررسی کرد.
میزان پهنای باند مصرفی را مشاهده نمود.
خطاها یا Packet Loss در پورتها را شناسایی کرد.
15. مانیتورینگ سرور و اپلیکیشن
زبیکس تنها به شبکه محدود نمیشود و میتواند سرویسها و اپلیکیشنها را نیز مانیتور کند:
سیستمعاملها → CPU، RAM، Disk و فرآیندها
دیتابیسها → MySQL، PostgreSQL، Oracle، MS SQL
وبسرورها → Apache، Nginx، IIS
مجازیسازی → VMware ESXi، Hyper-V، Proxmox
اپلیکیشنها → سرویسهای سازمانی و APIها
16. تنظیم آلارمها و گزارشگیری
در زبیکس میتوان سطح هشدارها را بر اساس اهمیت مشکل تعریف کرد. برای مثال:
اگر ترافیک شبکه به ۸۰٪ رسید → هشدار سطح ۱ (Warning)
اگر سرویس MySQL متوقف شد → هشدار سطح بحرانی (Disaster)
علاوه بر هشدارهای لحظهای، زبیکس امکان گزارشگیری دورهای دارد که به مدیران کمک میکند روند مصرف منابع و مشکلات گذشته را تحلیل کنند.
17. امنیت و بهینهسازی
برای اینکه زبیکس در یک سازمان بزرگ ایمن و پایدار اجرا شود، باید تنظیمات امنیتی و بهینهسازیها اعمال شود:
استفاده از SSL/TLS برای رمزنگاری ارتباطات
محدود کردن دسترسی کاربران بر اساس نقش (Role-Based Access Control)
مانیتورینگ و بررسی لاگهای امنیتی
بهینهسازی دیتابیس برای مدیریت حجم بالای دادهها
تنظیم Housekeeping برای حذف دادههای قدیمی
18. کاربردهای زبیکس در سازمانها
زبیکس در محیطهای مختلف سازمانی استفاده میشود، از جمله:
مانیتورینگ دیتاسنترها و تجهیزات شبکه
نظارت بر شبکههای سازمانی و شعبات مختلف
پایش سرویسهای حیاتی مثل وبسایتها، ایمیل و دیتابیسها
کمک به تیمهای DevOps برای تشخیص سریع مشکلات در محیطهای Cloud و Kubernetes
استفاده در شرکتهای هاستینگ برای نظارت بر سرورها و سرویسهای مشتریان
19. مزایا و معایب زبیکس
مزایا:
رایگان و متنباز (بدون هزینه لایسنس)
انعطافپذیری و قابلیت سفارشیسازی بالا
پشتیبانی از هزاران هاست و سرویس
جامعه کاربری بزرگ و مستندات کامل
معایب:
منحنی یادگیری بالا برای تازهکارها
رابط کاربری در مقایسه با ابزارهای مدرن کمی پیچیده به نظر میرسد
نیاز به منابع سختافزاری مناسب در مقیاسهای بزرگ
جمعبندی
در این مقاله با Zabbix بهعنوان یک ابزار مانیتورینگ متنباز و قدرتمند آشنا شدیم. از معرفی اولیه، تاریخچه و مزایا گرفته تا نصب، افزودن هاست، آیتمها، تریگرها، اکشنها، استفاده از Templateها و ساخت داشبورد. همچنین دیدیم که زبیکس میتواند هم شبکه و تجهیزات سختافزاری و هم سرورها و اپلیکیشنها را مانیتور کند.
به دلیل رایگان بودن، امکانات گسترده و قابلیت سفارشیسازی، زبیکس گزینهای ایدهآل برای سازمانها و تیمهای IT است که به دنبال یک راهکار جامع و مطمئن برای مانیتورینگ هستند