Zabbix چیست؟ معرفی جامع ابزار مانیتورینگ شبکه زبیکس

زبیکس یک برنامه متن باز که توسط الکسی ولادیشو  (Alexei Vladishev) ایجاد و يكي از قوي ترين برنامه ها برای مانیتورینگ شبکه‌ها و برنامه ها است.این نرم‌افزار برای پایش و تشخیص وضعیت سرویس‌های شبکه‌ها، سرورها و دیگر سخت افزارهای شبکه طراحی شده است.با ZABBIX تقریبا همه اطلاعات شبکه را میتوان جمع آوری کرد.این سیستم قابلیت اینکه در لحظه هزاران سرور و تجهیزات شبکه را به صورت همزمان مانیتور کند را دارا میباشد. زبیکس میتواند بر روی سیستم های لینوکس ، یونیکس و ویندوز نصب شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

زبیکس از MySQL ، PostgreSQL ، SQLite ، Oracle  و IBM DB2  برای ذخیره سازی داده‌های خود پشتیبانی میکند. برنامه نویسی سمت سرور از زبان C  بهره میبرد و برنامه نویسی سمت کاربری آن از زبان PHP استفاده می کند.همچنین نرم افزار مانیتورینگ ZABBIX تحت لایسنسGPL V2 منتشر میشود، بنابراین برای مصارف تجاری و غیر تجاری کاملا رایگان است.نرم افزار زبیکس توسط تیم Zabbix SIA توسعه و پشتیبانی می شود.

zabbix

تاریخچه نرم افزار مانیتورینگ زبیکس

نرم افزار زبیکس ابتدا به صورت یک نرم افزار درون سازمانی در سال 1998 ایجاد شد، 3 سال بعد در سال 2001 تحت پروانه عمومی همگانی گنو منتشر شد و در سال 2004 اولین نسخه پایدار آن انتشار یافت.از زمان انتشار نسخه 1.0 نرم افزار زبیکس ، نسخه های بعدی بیشتر با تغییر در زیر شماره نسخه برای مثال: ( 1.1، 1.2، ... ) منتشر شده اند و هر انتشاری شامل بسیاری از ویژگیهای جدید بوده است.اکنون نحوه شماره گذاری نسخه ها تغییر کرده است.زبیکس از نسخه 1.1 به بعد تصمیم گرفت که از شماره های فرد برای نسخه های توسعه برای مثال: ( 1.1، 1.3، ...) و از شماره های زوج برای نسخه های انتشار یافته استفاده کنید.برای مثال نسخه 1.3 نسخه توسعه بوده و به دنبال نسخه 1.1 آمده است و برای انتشار نسخه 1.4 توسعه می یابد.

zabbix history

نکته مهم در رابطه با ديگر نرم افزار هاي مانيتورينگ در مقایسه با Zabbix  این است که در واقع حوزه فعالیت آنها و نقش آنها در شبکه کاملا با Zabbix  متفاوت می باشد و از این نظر شاید مقایسه این سیستم ها با  Zabbix  امری اشتباه به نظر آید.بدین صورت که اساسا طراحی سیستم مانیتورینگ Zabbix  به شکلی است که علاوه بر شبکه ها و یا سازمان های کوچک ،  بتواند شبکه ها و یا سازمان هایی با مقیاس های گسترده را پوشش دهد.

همچنین برخی از قابلیت های زبیکس از جمله :

  • لذا تنوع روش های جمع آوری اطلاعات
  • تعدد سیستم عامل های پشتیبانی شده از طرف Zabbix
  • تنوع روش های اعلام هشدار
  • شناسایی هوشمندانه تجهیزات و یا سرورهای تحت شبکه
  • طراحی توزیع شده جهت پوشش مقیاس های بسیار گسترده
  • امکان ایجاد کلاسترهای وسیع جهت پوشش ترافیک سنگین اطلاعاتی
  • امکان گسترش و سفارشی سازی سیستم
  • مقیاس پذیری راحت

و نیز بسیاری موارد دیگر در جهت پوشش نیازهای متنوع کاربران در حوزه مانیتورینگ شبکه و تجهیزات در نظر گرفته شده است.همچنین برخی دیگر از قابلیت های نرم افزار مانیتورینگ زبیکس عبارتند از :

  • پشتیبانی از پروتکل SNMP
  • مانیتورینگ زیر ساخت های مجازی همانند VMware , HyperV
  • سفارشی سازی
  • مانیتورینگ دیتابیس و وب سرویس ها
  • مانیتورینگ سرورهای جاوا
  • مانیتورینگ سخت افزاری
  • مانیتورینگ شرایط محیطی
  • پایش بدون نیاز به عامل نرم افزاری

پشتیبانی از پروتکل SNMP

زبیکس از پروتکل SNMP  که دراکثر تجهیزات شبکه مانند سوئیچ ها ، روترها و سرورها وجود دارد ، پشتیبانی میکند. که میتواند با تهیه اطلاعات مربوط به شبکه ، سی پی یو ، حافظه ها ، وضعیت پورت ها نقش بزرگی در مدیریت شبکه داشته باشد.

مانیتورینگ زیر ساخت های مجازی

با استفاده از زبیکس میتوانید از طریق Low Level Discovery  به صورت اتوماتیک انواع سیستم های مجازی سازی مانند VMwareVSphere , VMware VCenter , HyperV  را شناسایی و مانیتور کنید.

سفارشی سازی

با استفاده از زبان برنامه نویسی python , perl , shell , php  و یا هر زبان برنامه نویسی دیگری قادر به گسترش یا سفارشی سازی این سیستم مانیتورینگ خواهید بود.

مانیتورینگ دیتابیس و وب سرویس ها :

زبیکس قادر خواهد بود که انواع دیتابیس های SQL Server , MySQL , PostgreSQL ، Oracle و غیره را مانیتور کند تا بتوان Query Slow و سایر مواردی که باعث پایین آمدن کارایی پایگاه داده می شود را شناسایی کرد.زبیکس حتی به مدیران سایت ها این امکان را میدهد که تمامی صفحات وب سایت را به صورت جداگانه مانیتور کرده و صفحاتی هم که احتیاج به لاگین کردن دارند با وارد نمودن Username  وPassword  وارد آن شده و وضعیت انجا را تحلیل کند.

مانیتورینگ سرورهای جاوا

زبیکس بعد از نسخه 2 یک قابلیت جدیدی که به زبان جاوا نوشته شده ، به نام  Zabbix Java Gateway را اضافه کرده که امکان مانیتور کردن نرم افزارهای مبتنی برJava  را با استفاده از  (JMX (Java Management Extensions ایجاد مینماید و زبیکس درخواست مورد نظر را از طریق ارسال JMX Counter  مناسب به سمت Zabbix Java Gateway  ارسال مینماید و Zabbix Java Gateway  جواب ها را بدون نیاز به هیچ نرم افزار دیگری از نرم افزار های مبتنی بر Java  دریافت کرده و به سمت سرور ارسال می نماید ، که دارای اهمیت زیادی میباشد.

مانیتورینگ سخت افزاری

مانیتورینگ زبیکس این امکان را میدهد ، سخت افزارهایی که دارای قابلیت IPMI  میباشند را بدون نیاز به هیچ واسطی و به صورت مستقیم وصل شده و اطلاعات مورد نیاز خود را مانند درجه حرارت ، سرعت فن ، وضعیت هاردها و ... دریافت نماید و در صورت بروز مشکل مانند بالا رفتن درجه حرارت و ... یک دیوایسی از طریق اجرای دستورات  IPMI در بستر شبکه نسبت به روشن یا خاموش کردن تجیزات شبکه اقدام نماید.IPMI مخفف Intelligent Platform Management Interface است.

مانیتورینگ شرایط محیطی

با استفاده از زبیکس میتوانید از سنسورهایی که جهت کنترل رطوبت و دما و نیز درجه فشار محیط به کار میروند با مانیتورینگ شرایط محیطی اقدام فرمایید.

پایش بدون نیاز به عامل نرم افزاری : 

در برخی موارد ممکن است نتوان از Agent  بر روی یکسری از سیستم ها و تجهیزات استفاده نمود بدین منظور زبیکس قابلیتی را بنام Agent Less  یعنی بدون نیاز به Agent  ارائه میدهد.زبیکس از چندین کامپوننت مهم تشکیل شده است که عبارتند از :

  • Server
  • Database storage
  • Web interface
  • Proxy
  • Agent
  • Data flow


  • Server : این کامپوننت ، کامپوننت اصلی و مرکزی زبیکس می باشد که شامل گزارشی از وضعیت در دسترس بودن Agent ها ، اطلاعات یکپارچه و آمارها می باشد.همچنین مخزنی از تمامی پیکربندی ها ، نمودار و عملیاتی که بر روی داده های ذخیره شده است می باشد.در کل میتوان اینگونه عنوان کرد که هسته اصلی و مرکزی زبیکس می باشد و تمامی پیکربندی های مهم و اصلی زبیکس توسط این بخش انجام میشود.

  • Database storage : تمامی اطلاعات مربوط به پیکربندی و همچنین اطلاعات جمع آوری شده توسط زبیکس سرور درون پایگاه داده ذخیره میشود که این پایگاه داده ها میتواند Mysql ، Sql Server ، Oracle و غیره باشد.

  • Web interface : برای دسترسی به زبیکس میتوان از هر کجا و با هر پلتفرمی از طریق واسط کاربری وب استفاده نمود که معمولا بر روی سروری که زبیکس در حال اجرا است اجرا میشود.

  • Proxy :زبیکس پروکسی میتواند به عنوان یک نماینده اطلاعات را از سیستم هایی که قرار است مانیتور شوند دریافت نماید و سپس آن اطلاعات را برای زبیکس سرور ارسال نماید بنابراین برای محیط هایی که نمیتوان مستقیم به آن سیستم ها دسترسی داشته باشیم بسیار مناسب می باشد.

  • Agent :این بخش اطلاعات جمع آوری شده از قبیل برنامه ها و منابع سیستم و غیره را برای مانیتور نمودن سیستم مذکور برای زبیکس سرور ارسال می نماید.

  • Data Flow

    : این بخش جریان کاری در زبیکس را شرح میدهد.

مثلا فرض نماید شما برای یک سیستم مشخص نموده اید که اگر CPU آن از حد مشخص شده بالا رود به شما هشداری را اعلام نماید حال Data Flow از ابتدا مشخص مینماید که از ابتدا چه چیزهایی باید انجام شود تا به آن خروجی مورد نظر برسیم همانند زیر :

create host --> create item (CPU Load )--> create trigger (High Load) --> create action ( Send Mail )

زبیکس برای مانیتور نمودن نیازمند یکسری اطلاعات می باشد و برای جمع آوری این اطلاعات از روش های زیر استفاده مینماید :

  • Zabbix Agent
  • SNMP Agent
  • SNMP Trap
  • Zabbix Agentless Monitoring
  • (ODBC (Open Database Connectivity
  • CURL
  • JMX Agent
  • WMI Query
  • (IPMI (Intelligent Platform Management Interface
  • Custom Commands
zabbix_get_data
  • Zabbix Agent : Agent اطلاعات لازم از جمله وضعیت منابع سیستم اعم از CPU ، RAM ، Disk و غیره را جمع آوري مي نمايد و آنها را به زبيكس سرور براي پردازش بيشتر ارسال مي نمايد و در صورت خطا در هر يك از منابع سيستمي زبيكس سرور هشدار لازم را به ادمين سرور ارسال مي نمايد.

Zabbix Agent برای سیستم عامل های زیر وجود دارد :

  • Windows
  • Linux
  • FreeBSD
  • OpenBSD
  • NetBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • AIX
  • Novell Netware
  • SCO Open Server
  • Tru64/OSF


  • SNMP Agent : SNMP

    Agent نیز برنامه و ویژگی است که درون تجهیزات شبکه و برخی تجهیزات غیر شبکه ای نیز قرار دارد و فعال سازی آن باعث می شود تا اطلاعات مدیریتی دستگاه مورد نظر را بصورت local جمع آوری کرده و آنها را برای ارسال بهSNMP Manager  که در اینجا زبیکس سرور می باشد آماده کند، تا هر زمان زبیکس سرور درخواست کرد، پاسخگو باشد.

  • SNMP Trap : با استفاده از SNMP Trap شما می توانید به عناصر شبکه خود اعم از پرینترها ، سوئیچ ها ، روترها ، فایروال ها ، سرورها و ... بگویید که در صورت بروز یک رویداد خاص صرفا با نرم افزار مانیتورینگ ارتباط برقرار کند و اطلاعات مربوط به همان رویداد را به نرم افزار مانیتورینگ ارسال کند

  • Zabbix Agentless Monitoring : بعضی اوقات ممکن است استفاده از Agent  روی یکسری از سیستم ها و تجهیزات وجود نداشته باشد که این سیستم قابلیت مانیتورینگ را به صورت Agent Less  یعنی بدون نیاز به Agent  را ارائه میدهد.

  • ODBC : از این گزینه برای ارتباط با پایگاه داده هایی از جمله Access ، DB2 ، dBase و غیره و در نتیجه مانیتورینگ آن استفاده میشود.

  • Curl : از این گزینه برای وب مانیتورینگ ( وب سناریو ) استفاده می شود.

  • JMX Agent : با استفاده از این گزینه میتوان نرم افزارهای مبتنی بر جاوا را مانیتور نمود.

  • WMI Query :( WMI ( Windows Management Instrumentation یک API در ویندوز می باشد که در ارتباطات شبکه ای این امکان را به شما می دهد تا منابع را مدیریت و کنترل کنید.WMI به مدیران شبکه امکان گرفتن query های مختلف و قرار دادن تنظیماتی روی آن و همچنین مدیران شبکه را قادر می سازد تا بتوانند آنها را مانیتور و کنترل کنند.

  • IPMI : در صورتیکه سخت افزار مورد نظر جهت مانیتورینگ از استاندارد IPMI پشتیبانی نماید سیستم مانیتورینگ Zabbix می تواند اطلاعاتی نظیر درجه حرارت – ولتاژ فن – وضعیت دیسک ها و … را مستقیما از سخت افزار مورد نظر دریافت نموده و با تشخیص یک رخداد پیش از وقوع آن زمان خاموشی سیستم ها را کاهش داده و کارایی را افزایش دهد.علاوه بر این سیستم مانیتورینگ Zabbix می تواند در زمان بروز یک رخداد از طریق اجرای دستورات IPMI در بستر شبکه نسبت به روشن و یا خاموش کردن تجهیزات شبکه اقدام نماید.

  • Custom Commands :در برخی موارد نیاز است دستگاه خاصی را مانیتور نماییم و هیچکدام از گزینه های گفته شده را دارا نمی باشد اما خود دستگاه یک کنسول مدیریتی دارد که میتوان برخی پارامترها را برای زبیکس سرور ارسال و در نتیجه آن پارامترها را مانیتور نمود.

همچنین نرم افزار زبیکس یک ابزار سودمند بنام Zabbix Sender برای این منظور در نظر گرفته است که برخی مقادیر را از طریق این ابزار میتوان به زبیکس سرور ارسال و در نتیجه مانیتور نمود.

فیلم آموزشی : دوره آموزشی تخصصی مانیتورینگ شبکه با نرم افزار zabbix


نظرات