مقدمه : در این مقاله در نظر داریم به معرفی نرم افزار مانیتورینگ زبیکس ZABBIX بپردازیم که یکی از کاربردی ترین نرم افزار های مانیتورینگ میباشد.
زبیکس Zabbix یک نرمافزار متن باز برای پایش شبکهها و نرمافزارها در سطح سازمانی است ، که توسط الکسی ولادیشو Alexei Vladishev ایجاد شدهاست. این نرمافزار برای پایش و تشخیص وضعیت سرویسهای شبکهها، سرورها و دیگر سخت افزارهای شبکه طراحی شدهاست.
نرم افزار زبیکس ابتدا به صورت یک نرم افزار درون سازمانی در سال 1998 ایجاد شد، 3 سال بعد در سال 2001 تحت پروانه عمومی همگانی گنو منتشر شد و در سال 2004 اولین نسخه پایدار آن انتشار یافت. از زمان انتشار نسخه 1.0 نرم افزار زبیکس ، نسخه های بعدی بیشتر با تغییر در زیر شماره نسخه (برای مثال: 1.1، 1.2، … ) منتشر شده اند و هر انتشاری شامل بسیاری از ویژگیهای جدید بوده است. اکنون نحوه شماره گذاری نسخه ها تغییر کرده است.
زبیکس از نسخه 1.1 به بعد تصمیم گرفت که از شماره های فرد برای نسخه های توسعه (برای مثال: 1.1، 1.3، ..) و از شماره های زوج برای نسخه های انتشار یافته استفاده کنید. برای مثال نسخه 1.3 نسخه توسعه بوده و به دنبال نسخه 1.1 آمده است و برای انتشار نسخه 1.4 توسعه می یابد.
نرم افزار مانیتورینگ شبکه ZABBIX
ZABBIX یک نرمافزار عالی در سطح سازمانی است که برای مانیتورینگ دسترسی و کارایی زیرساختهای IT به کار میرود. با ZABBIX تقریبا هیچ محدودیتی در جمع آوری اطلاعات از شبکه وجود ندارد. سیستم مانیتورینگ شبکه ZABBIX یک سرویس مانیتورینگ کارآمد است، به طوری که میتواند در لحظه دهها هزار سرور، ماشین مجازی، و تجهیزات شبکه را به طور همزمان مانیتور کند.
همراه با ذخیره سازی دادهها، ویژگیهای نمایشی و گرافیکی (مانند نقشهها، گرافها، نمایشها و …) راههای بسیار انعطاف پذیری با هدف آنالیز و هشدار را در اختیار میگذارد. میتوانید در دادههای دریافتی محدودیتی را تنظیم کنید و به محض اینکه از حدود این محدودیتها رد شد، ZABBIX میتواند با ایمیل مدیر شبکه را از وقوع این رویداد مطلع سازد.
با استفاده از این نرم افزار میتوانید بصورت Real-Time بیش از 10 هزار سرور، ماشین مجازی و دیگر سخت افزار های شبکه ای را هم زمان مانیتور کنید. Zabbix در کنار جمع اوری اطلاعات، با استفاده از یک رابط کاربری مناسب انواع Graph ها و Map ها را در اختیار شما قرار میدهد تا به بهترین شکل تمامی سخت افزار های مورد نظر را زیر نظر داشته باشید.کارایی بسیار قدرتمند این ابزار در جمع اوری اطلاعات و انالیز، آن را برای سازمان های بزرگ مناسب میسازد. مانیتورینگ توضیع شده نیز با استفاده از Zabbix Proxies امکانپذیر میباشد.
این نرم افزار با یک رابط کاربری تحت وب ارائه شده است که این محیط برای ورود با اعتبار سنجی امن شده است. در این محیط میتوانید کاربرانی با سطوح دسترسی مختلف ایجاد نمایید. جمع اوری اطلاعات با استفاده از نصب Agent در سیستم میزبان انجام میشود، البته متد Agent-Less نیز در این نرم افزار فراهم بوده و میتوان بدون Agent نیز سرور و سخت افزار ها را مانیتور کرد. Zabbix میتواند بصورت اتوماتیک تمامی سخت افزار های شبکه را شناسایی کند. با استفاده از امکان Network Discovery میتواند بصورت اتوماتیک تمامی سخت افزار های درون شبکه را شناسایی و در صورت تمایل ان را مانیتور نمایید.
زبیکس از مای اس کیوال، پست گرس کیوال، اس کیوال لایت، Oracle و دی بی۲ برای ذخیره داده ها پشتیبانی میکند. برنامه نویسی سمت سرور از زبان C بهره میبرد و برنامه نویسی سمت کاربری آن از زبان PHP استفاده می کند.زبیکس همراه با ذخیره سازی اطلاعات ویژگی های مانند گراف ها ، نقشه ها و … را با هدف آنالیز و هشدار را در اختیار مدیران شبکه میگذارد ، که در صورت رد شدن محدودیت هایی که در شبکه اعمال شده مدیر شبکه را از طریق ایمیل ، SMS یا تلفن آگاه سازد.
زبیکس گزینه های بسیاری برای مانیتورینگ تجهیزات ارائه میدهد :
پشتیبانی از پروتکل SNMP :
زبیکس از پروتکل SNMP که دراکثر تجهیزات شبکه مانند سویچ ها ، روترها و سروها وجود دارد ، پشتیبانی میکند. که میتواند با تهیه اطلاعات مربوط به شبکه ، سی پی یو ، حافظه ها ، وضعیت پورت ها نقش بزرگی در مدیریت شبکه داشته باشد.
مانیتورینگ VMware :
با استفاده از زبیکس میتوانید از طریق Low Level Discovery به صورت اتوماتیک انواع سیستم های مجازی سازی مانند VMware , VSphere , VMware VCenter , Hypervisor , HyperV را شناسایی و مانیتور کنید.
سفارشی سازی :
اگر در سازمان خود داده های خاصی دارید و نیاز به مانیتورینگ سفارشی سازی شده دارد با استفاده از زبان برنامه نویسی pytone , perl , shell , php و یا هر زبان برنامه نویسی دیگری قادر به گسترش یا سفارشی سازی این سیستم مانیتورینگ خواهید بود.
مانیتورینگ دیتابیس و وب سرویس ها :
زبیکس قادر خواهد بود که انواع دیتابیس ها SQL Server , MySQL , PostgreSQL , Oracle که اطلاعات مهمی مانند اطلاعات مشتریان ، امور مالی و مانیتور کردن سرعت دانلود و آپلود یا در دسترس بودن سایت ها ، سرورها ، فروشگاه ها و … که در ان نگهداری میشود را مانیتور کند.
زبیکس حتی به مدیران سایت ها این امکان را میدهد که تمامی صفحات وب سایت را به صورت جداگانه مانیتور کرده و صفحاتی هم که احتیاج به لاگین کردن دارند با وارد نمودن Username و Password وارد آن شده و وضعیت انجا را تحلیل کند.
مانیتورینگ سرورهای جاوا :
زبیکس بعد از نسخه 2 یک قابلیت جدیدی که به زبان جاوا نوشته شده ، به نام Zabbix Java Gateway را اضافه کرده که امکان مانیتور کردن نرم افزارهای مبتنی بر Java را با استفاده از JMX (Java Management Extensions) ایجاد مینماید و زبیکس درخواست مورد نظر را از طریق ارسال JMX Counter مناسب به سمت Zabbix Java Gateway ارسال مینماید و Zabbix Java Gateway جواب ها را بدون نیاز به هیچ نرم افزار دیگری از نرم افزار های مبتنی بر Java دریافت کرده و به سمت سرور ارسال می نماید ، که دارای اهمیت زیادی میباشد.
مانیتورینگ سخت افزاری :
مانیتورینگ زبیکس این امکان را میدهد ، سخت افزارهایی که دارای قابلیت IPMI میباشند را بدون نیاز به هیچ واسطی و به صورت مستقیم وصل شده و اطلاعات مورد نیاز خود را مانند درجه حرارت ، سرعت فن ، وضعیت هاردها و … دریافت نماید و در صورت بروز مشکل مانند بالا رفتن درجه حرارت و … یک دیوایسی از طریق اجرای دستورات IPMI در بستر شبکه نسبت به روشن یا خاموش کردن تجیزات شبکه اقدام نماید.
مانیتورینگ شرایط محیطی :
با استفاده از زبیکس میتوانید از سنسورهایی که جهت کنترل رطوبت و دما و نیز درجه فشار محیط به کار میروند با مانیتورینگ شرایط محیطی اقدام فرمایید.
پایش بدون نیاز به عامل نرم افزاری :
بعضی اوقات ممکن است استفاده از 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 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 این است که در واقع حوزه فعالیت آنها و نقش آنها در شبکه کاملا با Zabbix متفاوت می باشد و از این نظر شاید مقایسه این سیستم ها با Zabbix امری اشتباه به نظر آید.
بدین صورت که اساسا طراحی سیستم مانیتورینگ Zabbix به شکلی است که علاوه بر شبکه ها و یا سازمان های کوچک ، بتواند شبکه ها و یا سازمان هایی با مقیاس های گسترده را پوشش دهد.
همچنین برخی از قابلیت های زبیکس از جمله :
لذا تنوع روش های جمع آوری اطلاعات
تعدد سیستم عامل های پشتیبانی شده از طرف Zabbix
تنوع روش های اعلام هشدار
شناسایی هوشمندانه تجهیزات و یا سرورهای تحت شبکه
طراحی توزیع شده جهت پوشش مقیاس های بسیار گسترده
امکان ایجاد کلاسترهای وسیع جهت پوشش ترافیک سنگین اطلاعاتی
امکان گسترش و سفارشی سازی سیستم
مقیاس پذیری راحت
و نیز بسیاری موارد دیگر در جهت پوشش نیازهای متنوع کاربران در حوزه مانیتورینگ شبکه و تجهیزات در نظر گرفته شده است.
همچنین برخی دیگر از قابلیت های نرم افزار مانیتورینگ زبیکس عبارتند از :
پشتیبانی از پروتکل SNMP
مانیتورینگ زیر ساخت های مجازی همانند VMware , HyperV
سفارشی سازی
مانیتورینگ دیتابیس و وب سرویس ها
مانیتورینگ سرورهای جاوا
مانیتورینگ سخت افزاری
مانیتورینگ شرایط محیطی
پایش بدون نیاز به عامل نرم افزاری
مزایای استفاده از Zabbix
این نرم افزار بصورت رایگان و Open-source در اختیار عموم قرار گرفته است که این مورد هزینه های تمام شده شرکت ها را کاهش میدهد. البته توجه داشته باشید zabbix برای نصب نیاز به کامپوننت هایی نظیر Linux, apache, MySQL و PHP دارد. نصب و استفاده از این ابزار بسیار اسان بوده که هزینه های مربوط به اموزش سازمان را کاهش میدهد. شما میتوانید با چند جستجو کوتاه و یا مطالعه Document مربوط به این نرم افزار، Zabbix را بصورت عملیاتی مورد استفاده قرار دهید. همچنین Zabbix برای پلتفرم های پایه ویندوز و یونیکس Agent ارائه کرده است که این Agent ها باعث افزایش سرعت مانیتور و افزایش کارایی و امکانات خواهند شد.
یک سیستم مانیتورینگ مرکزی پیشرفته با ذخیره اطلاعات در دیتابیس این امکان را خواهد داشت تا تمامی اطلاعات را ذخیره کند. به همین دلیل هنگامی که به این اطلاعات نیاز پیدا کردید تمامی اطلاعات در دسترس شما قرار خواهد داشت.
تنها پس از نصب این نرم افزار به قدرت ان پی خواهید برد. برای مانیتور سنسور های مختلفی در سیستم تعریف شده است. برای مثال با استفاده از Agent میتوان میزان مصرف دیتابیس، وضعیت میزان فضای دیسک ، میزان مصرف رم و سی پی یو بصورت Real -Time و… را برسی و مانیتور نمایید. علاوه بر این میتوان کد های بازگشتی از وب سایت ها را نیز تحت نظر داشت. به عنوان مثال کد 200 به این معناست که وب سایت بدون مشکل در دسترس است. ممکن است زمانی سرور در دسترس باشد اما سایت با با مشکل مواجه باشد.
پلت فورم هایی که zabbix ساپورت می کند:
برای مشاوره رایگان و کسب اطلاعات بیشتر در ضمینه خدمات مانیتورینگ شبکه میتوانید با شماره 91010204 – 021 تماس حاصل فرمایید.