مرجع تخصصی شبکه ایران

معرفی و آموزش سیستم‌های مانیتورینگ شبکه تمرکز بر Zabbix و Prometheus

| تعداد کامنت 0
سیستم‌های مانیتورینگ شبکه Zabbix و Prometheus

در دنیای دیجیتال امروز، سیستم‌های مانیتورینگ شبکه نقشی حیاتی در حفظ عملکرد، امنیت و پایداری زیرساخت‌های IT دارند. مدیران شبکه با استفاده از این ابزارها می‌توانند منابع سخت‌افزاری، نرم‌افزاری، ترافیک شبکه و حتی برنامه‌های کاربردی را رصد کرده، مشکلات را پیش از بحرانی‌شدن شناسایی کنند و از downtime (توقف سرویس) جلوگیری نمایند.

دو ابزار محبوب و قدرتمند در این زمینه Zabbix و Prometheus هستند؛ Zabbix یک ابزار باسابقه و جامع برای مانیتورینگ سنتی است، در حالی که Prometheus برای محیط‌های پویا و ابری طراحی شده است.

در این مقاله ابتدا مروری بر سیستم‌های مانیتورینگ خواهیم داشت، سپس Zabbix و Prometheus را به طور کامل بررسی کرده و در نهایت یک مقایسه کاربردی بین این دو ارائه می‌دهیم.

مقدمه‌ای بر سیستم‌های مانیتورینگ شبکه

سیستم‌های مانیتورینگ شبکه ابزارهایی هستند که داده‌های عملکردی از دستگاه‌ها، سرورها و اپلیکیشن‌ها را جمع‌آوری، ذخیره و تحلیل می‌کنند. اهداف اصلی آن‌ها:

  • شناسایی مشکلات: مثل کندی یا خرابی سرویس‌ها.

  • هشداردهی: ارسال نوتیفیکیشن هنگام بروز مشکل.

  • گزارش‌گیری: ایجاد داشبوردهای بصری برای تحلیل روندها.

  • بهینه‌سازی: کمک به استفاده بهینه از منابع.

ابزارهایی مانند Zabbix و Prometheus از پروتکل‌هایی مثل SNMP و همچنین agentها برای جمع‌آوری اطلاعات استفاده می‌کنند و معمولاً با ابزارهایی مثل Grafana برای نمایش داده‌ها ادغام می‌شوند.

معرفی Zabbix

Zabbix یک راهکار منبع‌باز و سازمانی برای مانیتورینگ است که از سال ۲۰۰۱ توسعه یافته است. این ابزار می‌تواند میلیون‌ها متریک را مدیریت کند و توسط شرکت‌های بزرگی مثل Dell و Orange استفاده می‌شود.

ویژگی‌های کلیدی Zabbix

  • پشتیبانی از پروتکل‌های متنوع (SNMP، JMX، IPMI و Agent اختصاصی)

  • سیستم هشداردهی پیشرفته از طریق ایمیل، SMS یا وب‌هوک

  • مقیاس‌پذیری بالا (به کمک Zabbix Proxy)

  • امنیت و انطباق با استانداردهای سازمانی

  • داشبوردهای سفارشی و گزارش‌های زنده

معماری Zabbix

  • Zabbix Server: هسته اصلی برای جمع‌آوری و ذخیره داده‌ها

  • Zabbix Proxy: برای مانیتورینگ توزیع‌شده

  • Zabbix Agent: روی سرورهای هدف نصب می‌شود

  • Frontend (PHP): رابط کاربری تحت وب

  • Database (MySQL/PostgreSQL): ذخیره داده‌ها

این معماری متمرکز است و برای سازمان‌ها و دیتاسنترهای سنتی بسیار مناسب است.

نصب Zabbix (روی Ubuntu به عنوان نمونه)

  1. به‌روزرسانی سیستم:

sudo apt update && sudo apt upgrade

این دستور سیستم را به‌روز کرده و پیش‌نیازهای نصب را آماده می‌کند.

  1. نصب پایگاه داده (MySQL):

sudo apt install mysql-server

پایگاه داده برای ذخیره اطلاعات جمع‌آوری‌شده استفاده می‌شود.

  1. دانلود مخزن Zabbix:

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb

اینجا مخزن رسمی Zabbix به سیستم اضافه می‌شود تا آخرین نسخه‌ها قابل نصب باشند.

  1. نصب Zabbix Server و Agent:

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

این دستور هسته Zabbix، Agent و رابط وب را نصب می‌کند.

  1. پیکربندی پایگاه داده و راه‌اندازی:

  • ایجاد دیتابیس و کاربر MySQL

  • Import اسکریپت‌ها برای ساخت جداول

  • ویرایش فایل zabbix_server.conf برای تنظیمات دیتابیس

  • راه‌اندازی سرویس:

sudo systemctl start zabbix-server

پیکربندی و آموزش پایه Zabbix

  • Frontend: از طریق مرورگر به http://your-server/zabbix رفته و مراحل wizard را تکمیل کنید.

  • افزودن هاست جدید: در منوی Configuration > Hosts، هاست اضافه کنید.

  • تعریف تریگر: مثلاً هشدار CPU بالای ۸۰٪.

  • نصب Agent روی سرورهای هدف: داده‌ها به صورت خودکار به Zabbix Server ارسال می‌شوند.

🔎 مثال: مانیتورینگ روتر با SNMP. کافی است هاست را تعریف کنید، Community SNMP را تنظیم کنید و از template آماده استفاده کنید.

معرفی Prometheus

Prometheus یک سیستم مانیتورینگ منبع‌باز است که توسط SoundCloud توسعه یافته و اکنون جزو پروژه‌های CNCF است. این ابزار برای محیط‌های ابری، کانتینری و Kubernetes طراحی شده است.

ویژگی‌های کلیدی Prometheus

  • مدل Pull برای جمع‌آوری داده‌ها

  • زبان پرس‌وجوی قدرتمند PromQL

  • یکپارچگی عمیق با Kubernetes

  • سیستم هشداردهی به کمک Alertmanager

  • نصب ساده و بدون نیاز به دیتابیس خارجی

معماری Prometheus

  • Prometheus Server: ذخیره‌سازی داده‌ها به صورت time-series

  • Exporters: برای جمع‌آوری متریک‌ها (مثل Node Exporter)

  • Alertmanager: مدیریت و ارسال هشدارها

  • Pushgateway: برای jobهای کوتاه‌مدت

  • Client Libraries: برای اضافه‌کردن متریک به اپلیکیشن‌ها

این معماری غیرمتمرکز است و برای محیط‌های DevOps مدرن مناسب‌تر است.

نصب Prometheus (روی Linux به عنوان نمونه)

  1. دانلود:

wget https://github.com/prometheus/prometheus/releases/download/v2.53.1/prometheus-2.53.1.linux-amd64.tar.gz
  1. استخراج فایل:

tar xvfz prometheus-*.tar.gz
  1. پیکربندی فایل prometheus.yml:

scrape_configs: job_name: ‘node’ static_configs: targets: [‘localhost:9100’]

اینجا Prometheus طوری تنظیم می‌شود که داده‌ها را از Node Exporter دریافت کند.

  1. راه‌اندازی Prometheus:

./prometheus –config.file=prometheus.yml
  1. نصب Node Exporter برای متریک‌های سیستم:

./node_exporter

آموزش پایه Prometheus

  • پرس‌وجوی ساده با PromQL:

rate(node_cpu_seconds_total{mode=”idle”}[5m])

این پرس‌وجو میزان استفاده CPU در حالت idle را در بازه ۵ دقیقه‌ای نشان می‌دهد.

  • هشداردهی: تعریف یک قانون در فایل rules، مثلاً اگر CPU بیش از ۹۰٪ شد، هشدار ارسال شود.

  • ادغام با Grafana: برای داشبوردهای زیبا و پیشرفته، کافی است Prometheus را به عنوان datasource به Grafana معرفی کنید.

مقایسه Zabbix و Prometheus

ویژگی Zabbix Prometheus
مدل متمرکز (Push/Pull) غیرمتمرکز (Pull)
مقیاس‌پذیری مناسب شبکه‌های سنتی عالی برای محیط‌های ابری
نصب پیچیده‌تر، نیاز به DB خارجی ساده‌تر، دیتابیس داخلی دارد
هشداردهی داخلی و پیشرفته با Alertmanager
مانیتورینگ شبکه پشتیبانی قوی از SNMP نیازمند Exporter
هزینه رایگان با گزینه‌های تجاری کاملاً رایگان
بهترین کاربرد دیتاسنترها و شبکه‌های سنتی Kubernetes و DevOps

اشتراک‌گذاری در :

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “معرفی و آموزش سیستم‌های مانیتورینگ شبکه تمرکز بر Zabbix و Prometheus”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *