در این نوشته به این پرسش پاسخ داده شده است که Zabbix چیست و نحوه کار زبیکس چیست یا چه کاربردهایی دارد.
زبیکس Zabbix چیست؟
«زبیکس» (Zabbix) ابزار مانیتورینگ متنبازی است که برای نظارت بر سرورها، شبکهها، اجزای فناوری اطلاعات، سرویسهای ابری و ماشینهای مجازی استفاده میشود. ابزار مانیتورینگ زبیکس از متریکهای مختلف برای نظارت بر مصرف پهنای باند شبکه، فضای دیسک و بار پردازشی CPU استفاده میکند.
زبیکس از سیستمعاملهای مختلفی مانند macOS، سولاریس، لینوکس و بسیاری دیگر پشتیبانی میکند. این ابزار از پایگاهدادهای مجزا برای ذخیره دادهها و مانیتورینگ برنامهها استفاده میکند. هسته زبیکس با زبان برنامهنویسی C نوشته شده و رابط وب آن با زبان PHP طراحی شده است.
تاریخچه و ریشه پیدایش Zabbix
زبیکس توسط «الکسی ولادیشف» (Alexei Vladyshev) ایجاد شده و در حال حاضر توسط شرکت Zabbix SIA به طور فعال توسعه داده و پشتیبانی میشود. زبیکس سازوکاری نظارتی و توزیع شده در سطح سازمانی و اوپنسورس است. زبیکس نرمافزاری است که به وسیله آن نظارت بر سلامت و یکپارچگی پارامترهای متعدد شبکه و سرورها انجام میشود.
زبیکس از مکانیزم انعطافپذیر «اعلانی» (Notification) استفاده میکند که به کاربران امکان میدهد هشدارهای ایمیلی را برای تقریباً هر رویدادی پیکربندی کنند. این امر پاسخگویی سریع به مشکلات سرور را ممکن میسازد. زبیکس ویژگیهای عالی گزارشگیری و مصورسازی دادهها را بر اساس دادههای آرشیو شده ارائه میدهد که این امر باعث میشود زبیکس برای «برنامهریزی ظرفیت» (Capacity Planning) برنامه مناسبی باشد.
ویژگیهای زبیکس چیست؟
به طور خلاصه میتوان ویژگیها و قابلیتهای زبیکس را به صورت زیر فهرست کرد:
- امکان «بصریسازی» (Visualization)
- وجود Zabbix API
- اطلاعرسانی اعلانی و بازسازی و احیای مجدد
- دیپلوی کردن بدون دردسر
- امنیت و احراز هویت
- جمعآوری متریکها (دادههای مربوط به منابع و سرویسهای مختلف)
- شناسایی انحراف از شرایط عادی و مطلوب
- امکان مانیتورینگ توزیع شده
چرا از Zabbix استفاده کنیم؟
در این بخش به طور مختصر برخی از دلایل اهمیت زبیکس و ضرورت استفاده از آن ارائه شدهاند.
- اونسورس بودن زبیکس
- راهاندازی بسیار آسان
- کانفیگ و پیکربندی ساده و راحت
- وجود ساختار درختی سلسله مراتبی برای نمایش سرویسها و زیرساختهای مختلف
- فرآیند داخلی نگهداری و مدیریت منابع در Zabbix
- agentهای بسیار کارآمدی برای پلتفرمهای مبتنی بر یونیکس و WIN32
- منحنی یادگیری هموار
- بازگشت سرمایه (ROI) بالا (به علت هزینه گزاف Downtime)
- هزینه پایین نگهداری و استفاده از زبیکس
- سیستم مانیتورینگ متمرکز (ذخیره شدن تمام اطلاعات از جمله تنظیمات، دادههای عملکردی و غیره در یک پایگاه داده رابطهای)
- پشتیبانی Zabbix از پروتکل SNMP (ویرایش ۱ و ۲) برای دریافت Trap و همچنین استعلام (Polling) از دستگاهها و سرویسهای مختلف
- قابلیتهای نمایش و ارائه دیداری اطلاعات در زبیکس
مزایای استفاده از Zabbix چیست؟
حال در این بخش به شرح برخی از مزایای زبیکس پرداخته شده است.
- رابط وب مناسب و شکیل
- هم امکان مانیتور کردن سرورها و هم دارای قابلیت نظارت دستگاههای شبکه
- انعطافپذیری در تفویض اختیارات به کاربران
- سهولت دستکاری و پیکربندی: انجام شدن تمام تنظیمات زبیکس از طریق رابط وب
- پشتیبانی از لینوکس، سولاریس، FreeBSD و غیره
- قابل اطمینان در خصوص احراز هویت کاربران
- امکان گزارش مشکلات از طریق ایمیل و پیامک
معایب زبیکس چیست؟
از معدود معایب زبیکس میتوان به ۳ مورد زیر اشاره کرد.
- اجبار در شامل شدن Amazon RDS
- رابط کاربری (UI) و تجربه کاربری (UX) باید جذابتر و با جزئیات بیشتری طراحی شود.
- زبیکس باید Templatesهای بیشتری برای مانیتورینگ غنیتر ارائه دهد.
بهترین جایگزینها برای Zabbix چیست؟
فهرستی از جایگزینهای مناسب برای زبیکس به شرح زیر است:
- Datadog
- AppDynamics
- Dynatrace
- LogicMonitor
- PRTG Network Monitor
- checkmk
- Microsoft System Center
بهترین منابع یادگیری زبیکس
در این بخش فهرستی از بهترین منابع یادگیری Zabbix و به همراه لینک دسترسی به آنها ارائه شده است.
- آموزش کوتاه ماهیت زبیکس و کاربرد آن
- آموزش پایهای زبیکس رایگان برای افراد تازه کار به همراه دمو
- معرفی بهترین آموزشهای زبیکس در یوتیوب
سوالات مربوط به Zabbix در مصاحبه شغلی
در این بخش از مطلب Zabbix چیست به برخی از رایجترین سوالات مصاحبه مربوط به زبیکس و پاسخ آنها پرداخته شده است.
با زبیکس بر چه چیزهایی میتوان نظارت کرد و مانیتورینگ انجام داد؟
زبیکس شاخصهای مختلفی را برای مانیتورینگ ارائه میدهد؛ مانند میزان مصرف بستههای شبکه، بار پردازشی CPU و میزان اشغال فضای دیسک. این نرمافزار عملیات مانیتورینگ را برای سیستمعاملهای لینوکس، HP-UX، مک اواس ایکس، سولاریس و دیگر سیستمعاملها انجام میدهد. اما برای ویندوز باید از Agentها استفاده شود.
آیا پرومتئوس از زبیکس بهتر است؟
پرومتئوس به دلیل پایگاه دادهای که دارد، سریعتر است، اما زبیکس ردپای کوچکتری دارد (چون با زبان C نوشته شده است). ردپای کوچکتر یعنی Zabbix بازدهی حافظه، بهینهسازی فضا و حفظ منابع بهتری دارد. در زبیکس میتوانید اکثر کارها را از طریق رابط وب انجام دهید، اما در پرومتئوس باید مانند نگیوس، فایلها را ویرایش کنید.
زبیکس بهتر است یا Nagios؟
پس از مقایسه این دو، مشخص است که زبیکس برنده است. در حالی که Nagios Core امکانات پایهای برای مانیتورینگ شبکه دارد، اما انعطافپذیری و قابلیت پیکربندی زبیکس را ندارد. در واقع زبیکس ابزار رایگان مانیتورینگ شبکه است که مانند محصولات گرانقیمت عمل میکند.
آیا زبیکس از Netflow پشتیبانی میکند؟
بله، زبیکس امکان مانیتورینگ و یکپارچهسازی با Netflow (پروتکل رصد ترافیک شبکه) را دارد.
آیا Zabbix ابزار دواپس محسوب میشود؟
هم Nagios و هم زبیکس ابزارهای «سُنتی» هستند که کاربرد گسترده دارند قابل دانلود و متنباز هستند. اما این ابزارها برای پاسخگویی به محیطهای پویا، سریع و مجهز دواپس قابلیتها و خصوصیات لازم را ندارند.
چگونه میتوان با زبیکس مانیتورینگ کوبرنتیز انجام داد؟
برای نصب، فایل k8s-stats.py
را در مسیر /etc/zabbix/scripts/
و فایل k8s.conf
را در /etc/zabbix/zabbix_agentd.d/
کپی میکنیم. الگوی زبیکس (k8s-Zabbix-template.xml
) را در سرور زبیکس وارد میکنیم. در کوبرنتیز یک کاربر زبیکس ایجاد میکنیم (میتوانیم از Zabbix-user-example.yml
استفاده کنیم) و توکن و آدرس سرور API آن را در k8s-stats.py
تنظیم کنیم. همچنین الگو را به هاست اعمال میکنیم.
آیا استفاده از Zabbix آسان است؟
زبیکس رابط کاربری آسان و نمودارهای زیبا و نقشههای قابل سفارشیسازی دارد. انعطافپذیری سازوکار Zabbix شگفتانگیز است. پلتفرم بسیار قابل اعتمادی به حساب میآید و ما هرگز با مشکلی در زمینه مقیاسپذیری یا پایداری زبیکس مواجه نمیشویم. در کل به نظر میرسد که استفاده از زبیکس در مقایسه با سایر برنامهها آسانتر است.
آیا زبیکس ابزار مناسب و کارآمدی به حساب میآید؟
میتوان Zabbix را بهترین برنامه برای مانیتورینگ Securityدر نظر گرفت. میتوان گفت زبیکس ابزار نرمافزاری متنبازی برای مانیتورینگ انواع اجزای فناوری اطلاعات از جمله شبکهها، سرورها، ماشینهای مجازی و سرویسهای ابری است. زبیکس ابزاری با کیفیت بالا و امنیت فوقالعاده است.
آیا Zabbix از جاوا استفاده میکند؟
زبیکس نرمافزاری است که پارامترهای متعدد شبکه و وضعیت و یکپارچگی سرورها را مانیتور میکند. Gateway جاوای زبیکس یک سرویس پسزمینه (Daemon) نوشته شده به زبان جاوا است.
آیا زبیکس در ویندوز قابل اجرا است؟
بله، زبیکس میتواند روی سیستمعامل ویندوز نیز اجرا شود. اگرچه زبیکس نرمافزاری متنباز است که اصولاً برای سیستمعاملهای لینوکس و یونیکس طراحی شده، اما Agent زبیکس برای ویندوز نیز در دسترس است. با نصب این Agent روی سرورها و ماشینهای ویندوزی، میتوان آنها را به سرور مرکزی زبیکس متصل و اطلاعات و شاخصهای مانیتورینگ را از آنها جمعآوری کرد. بنابراین زبیکس امکان مانیتورینگ تمامی سرورها و منابع را، اعم از لینوکسی یا ویندوزی، فراهم میآورد.
آیا زبیکس RRM است؟
زبیکس نرمافزار مدیریت و نظارت از راه دور یا «RMM» نیست، بلکه نرمافزار نظارت بر شبکه به حساب میآید که امکان نظارت و مدیریت عملکرد شبکه را در زمان واقعی فراهم میکند. در مقابل اما، SolarWinds RMM نرمافزار مدیریت از راه دور محسوب میشود که با استفاده از probeها و مانیتورها به کمک مدیریت کارهای عملیاتی شبکه میآید. Zabbix نرمافزار مانیتورینگ شبکه است که امکان مانیتورینگ و مدیریت لحظهای شبکه را فراهم میکند.
پروکسی زبیکس یا Zabbix Proxy چطور کار میکند؟
پروکسی زبیکس پروسهای است که میتواند دادههای مانیتورینگ را از یک یا چند دستگاه تحت نظارت جمعآوری کند و این اطلاعات را به سرور زبیکس بفرستد. به این ترتیب، پروکسی به جای سرور عمل میکند. تمام دادههای جمعآوری شده موقتاً به صورت لوکال ذخیره و سپس به سرور زبیکس مربوطه منتقل میشوند.
استفاده از زبیکس چقدر هزینه دارد؟
زبیکس یک سازوکار اوپنسورس است و هزینهای متحمل نمیشوید. این محصول متنباز و برای استفاده رایگان است. از نسخه زبیکس ۷ به بعد، تمام نسخههای بعدی تحت مجوز عمومی GNU Affero نسخه ۳ (AGPLv3) منتشر خواهند شد. شما میتوانید نسخه مربوطه را تغییر دهید و چنین نسخهای تغییر یافته را تحت شرایط AGPLv3 که توسط بنیاد نرمافزار آزاد منتشر شده، منتشر کنید.
برای جزئیات بیشتر از جمله پاسخ به سوالات رایج درباره AGPLv3، به پرسش و پاسخهای عمومی بنیاد نرمافزار آزاد مراجعه کنید. زبیکس نرمافزاری متنباز است، اما اگر از آن در محیط تجاری استفاده میکنید، از شما تقاضا میشود با خرید سطحی از پشتیبانی فنی، توسعه زبیکس را حمایت کنید. تمام نسخههای قبلی زبیکس تا ۶.۴ تحت مجوز عمومی GNU نسخه ۲ (GPLv2) منتشر شدهاند. شرایط رسمی GPLv2 و AGPLv3 در لینک [+] موجود است.
زبیکس چگونه با پرومتئوس تلفیق میشود؟
پرومتئوس در آخرین نسخه زبیکس به صورت داخلی تلفیق و ادغام شده است که این امکان را به ما میدهد تا به راحتی متریکها را از collectorها جمعآوری و پردازش کنیم. برای ایجاد یک آیتم master HTTP، به Configuration > Hosts > Items بروید، روی Create item کلیک و پارامترهای آیتم را در فُرم وارد کنید.
آیا Zabbix ابزار مانیتورینگ مداوم یا Continuous Monitoring است؟
بله، زبیکس ابزار مانیتورینگ مداوم یا «Continuous Monitoring» محسوب میشود. تفاوت عمده بین زبیکس و Nagios هم همین است که Nagios ابزار مانیتورینگ مداوم نیست، در حالی که زبیکس ابزاری برای مانیتورینگ پیوسته و مداوم بهحساب میآید.
آیا زبیکس SaaS محسوب میشود؟
خیر، زبیکس سرویس SaaS یا «Software as a Service» نیست. Zabbix Cloud پلتفرم لوکال (On-Premise) است که توسط شرکت زبیکس ارائه میشود، اما کاربر باید آن را در محیط خودش نصب و راهاندازی کند.
آیا Zabbix شاخه و فورکی از Nagios است؟
خیر، زبیکس شاخه یا fork از نیجیوس نیست. زبیکس در سال ۲۰۰۱ معرفی شد و توسعهای کامل، جدید و مستقل است، نه یک فورک ساده از نیجیوس. مشخصه اصلی زبیکس این است که دید جامع و یکپارچهای به مانیتورینگ دارد. زبیکس علاوه بر Statusها، پرفورمنس را هم پوشش میدهد که یکی از بزرگترین نواقص نیجیوس است.
خالق زبیکس کیست؟
زبیکس توسط «آلکسی ولادیشف» (Alexei Vladishev) ساخته شده است. شرکت زبیکس در سال ۲۰۰۵ زمانی تاسیس شد که مدیرعامل و مالک آن، آلکسی ولادیشف، تصمیم گرفت راهحل و سازوکار مانیتورینگی که روی آن کار میکرد را بیشتر توسعه دهد.