زبیکس توسط Alexei Vladishev ایجاد و به دنیای OpenSource معرفی شد و توسط کمپانی Zabbix SIA پشتیبانی میشود یک نرمافزار متن باز برای مانیتورینگ شبکهها و نرمافزارها در سطح سازمانی (Enterprise) است که این نرمافزار برای پایش و تشخیص وضعیت سرویسهای شبکهها، سرورها و دیگر سخت افزارهای شبکه طراحی شده است. زبیکس از MySQL ، PostgreSQL ، SQLite ، Oracle و IBM DB2 برای ذخیره سازی دادهها پشتیبانی میکند. برنامه نویسی سمت سرور از زبان C بهره میبرد و برنامه نویسی سمت کاربری آن از زبان PHP استفاده می کند .
ه این نرمافزار برای پایش و تشخیص وضعیت سرویسهای شبکهها، سرورها و دیگر سخت افزارهای شبکه طراحی شده است. زبیکس از MySQL ، PostgreSQL ، SQLite ، Oracle و IBM DB2 برای ذخیره سازی دادهها پشتیبانی میکند. برنامه نویسی سمت سرور از زبان C بهره میبرد و برنامه نویسی سمت کاربری آن از زبان PHP استفاده می کند .
ZABBIX یک نرمافزار عالی در سطح سازمانی است که برای مانیتورینگ دسترسی و کارایی زیرساختهای IT به کار میرود. با ZABBIX تقریبا هیچ محدودیتی در جمع آوری اطلاعات از شبکه وجود ندارد. سیستم مانیتورینگ شبکه ZABBIX یک سرویس مانیتورینگ کارآمد است، به طوری که میتواند در لحظه دهها هزار سرور، ماشین مجازی، و تجهیزات شبکه را به طور همزمان مانیتور کند.
همراه با ذخیره سازی دادهها، ویژگیهای نمایشی و گرافیکی (مانند نقشهها، گرافها، نمایشها و …) راههای بسیار انعطاف پذیری با هدف آنالیز و هشدار را در اختیار میگذارد. میتوانید در دادههای دریافتی محدودیتی را تنظیم کنید و به محض اینکه از حدود این محدودیتها رد شد، ZABBIX میتواند با ایمیل مدیر شبکه را از وقوع این رویداد مطلع سازد.
?
سیستم مانیتورینگ شبکه ZABBIX یکی از قویترین و شناخته شده ترین سیستمهای مانیتورینگ در دنیا میباشد که از سال ۲۰۰۱ اولین نسخه آن به بازار عرضه شده و تا امروز به عنوان یکی از سیستمهای پیشرو در صنعت مانیتورینگ شبکه و نرم افزارها، نسخههای بسیاری را روانه بازار نموده است.
یکی از مهمترین مشخصات ZABBIX، متن باز بودن آن است که باعث شده تا اطمینان کاربران به خصوص کاربرانی که دارای اطلاعات حساس در سازمان خود میباشند به این سیستم افزایش یابد.
زبیکس در ورژن های مختلفی به بازار عرضه شد که میتوان به نسخه های release شده زیر اشاره کرد :
zabbix v1.8
zabbix v2
zabbix v2.4
zabbix v3
zabbix v3.2
zabbix v3.4
zabbix v4
در تب Monitoring همه آن طلاعاتی که توسط زبیکس بصورت ویزوالی آماده شده است وجود دارد . مانند اطلاعات ردیفی – گراف – نقشه و غیره.
در تب Inventory که سیستم مدیریت موجودی نام دارد و می توان یک نمایه کلی از هرچیز را با امکان دریافت اطلاعات کامل تر داشت
در قسمت Reports می توانیم گزارش های customize شده مانند وضعیت زبیکس – گزارش های در دسترس بودن و یا Triggers top 100 را داشت .
آیتم بعدی Configuration نام دارد که شامل configuration settings می باشد و برای کانفیگ نمودن ستینگ های hosts, host groups, templates, actions, maps و غیره استفاده می گردد . و فقط ادمین و سوپر ادمین می توانند این آپشن را ببینند .
آخرین منو Administration نام دارد که برای توابع مدیریتی زبیکس مانند ایجاد یوزر و یا media types یا authentication و غیره استفاده می شود و فقط سوپر ادمین می تواند این گزینه را ببیند .
?
در این بخش قصد داریم تا به اصلی ترین ویژگی های زبیکس بپردازیم :
یکی از مهمترین و اصلی ترین مباحث زبیکس ” جمع آوری داده ” می باشد که از طریق پرتکل های ارتباطی می توان به اطلاعات مورد نظر دست یافت در جمع آوری اطلاعات مباحث زیر مطرح هست که به توضیح برخی از Concept های آن میپردازیم :
از طریق پرتکل های ارتباطی مانند SNMP که دارای ورژن های ۱٫۲c.3 میباشد میتواند از device های شبکه مانند روترهای شبکه / مجازی ساز ها مانند ESXI
vSphere / دستگاه های پشتیبانی UPS و . . . دریافت اطلاعات داشت
SNMP V1 ) که این ورژن Expire شده و مورد استفاده قرار نمیگیرد
SNMP V2C ) این ورژن با Community (در واقع پسوردی هست مه تا NMS آن را نداشته باشد نمیتواند با آن کار کند )کار میکند که خود به دو قسمت public و private تقسیم میشود
NMS Server : سروری است که میتواند با پرتکل های ارتباطی دستگاه های شبکه را مدیریت کند و در راس کار قرار دارد
?
SNMP V3 ) ما معمولا از این ورژن استفاده نمیکنیم چون برای موارد خاص مورد استفادر قرار میگیرد
SNMP Authentication
(UserName/Password , hash , md5 , SHA و . . .)
SNMP Encryption
(Data , AES , DES , 3DES و . . . )
SNMP View
(ساختار را بر اساس Tree نمایش میدهد ۱۲۳۴۵۶ که مثلا برای دسترسی به شاخه ۶ به آن اشاره میکند )
JMX :
با این پروتکل ارتباطی میتوان APP های سمن جاوا را مانیتور کرد بعد از نسخه ۲ یک قابلیت جدیدی که به زبان جاوا نوشته شده ، به نام Zabbix Java Gateway را اضافه کرده که امکان مانیتور کردن نرم افزارهای مبتنی بر Java را با استفاده از JMX (Java Management Extensions) ایجاد مینماید و Zabbix درخواست مورد نظر را از طریق ارسال JMX Counter مناسب به سمت Zabbix Java Gateway ارسال مینماید و Zabbix Java Gateway جواب ها را بدون نیاز به هیچ نرم افزار دیگری از نرم افزار های مبتنی بر Java دریافت کرده و به سمت سرور ارسال می نماید ، که دارای اهمیت زیادی میباشد.
IPMI :
با این پروتکی میتوان از راه دور تجهیزات شبکه را مانیتور کرد
Agent :
یک نرم افزار است که روی سیستم میشند و با zabbix ارتباط برقرار میکند که توسط خود zabbix نوشته شده است Agent اطلاعات لازم را جمع آوري مينمايد و آنها را به زبيكس براي پردازش بيشتر ارسال مي نمايد. و در صورت خطا در هر يك از منابع سيستمي زبيكس هشدار لازم را به ادمين سرور ارسال مي نمايد ZABBIX Agent ها به دليل استفاده از منابع سيستمي بسيار كارآمد براي جمع آوري اطلاعات آماري مي باشند.
Flexible threshold definitions
آستانه انعطاف پذیری :
میتواند با تعریف بخش Trigger میتوان فعالیت های زبیکس را تعریف کرد که اگر برای هر یک ار تجهیزاتی که در حال مانیتور شدن هستند در مواقع بروزبرای ما ارسال وضعیت کند که بطور مثال اگر RAM یا قطعه ای Fail شد که در این جدول Disaster بدترین شرایط است .
به جدول زیر دقت کنید :
SEVERITYDEFINITIONCOLOURNot classifiedUnknown severity.GreyInformationFor information purposes.Light blueWarningBe warned.YellowAverageAverage problem.OrangeHighSomething important has happened.Light redDisasterDisaster. Financial losses, etc.Red
هشدار های قابل تنظیم :
Notifications روشي در زبيكس براي آگاه ساختن كاربران درباره event هايي كه رخ مي دهند مي باشد . كه نوع اطلاع رساني را مي توان از طريق Administration | Notifications مشخص نمود كه چه چيزي و در چه زماني و از طريق چه مديايي به كاربر منتقل گردد. میتوانید مشخص کنید در زمان برنامه ریزی شده برای شما اعلانی را ارسال کند در قسمت media type میتواند مشخص کنید که هشدار ها را بر چه اساس برای شما ارسال کند ایمیل , پیامک و …
میتوانید در قسمت macro توسط macro نویسی تنظیمات مخصوص به خود را بنویسید
وضعیت رسیده را بدون هیچ تاخیری در غالب یک گراف برای شما ترسیم میکند
زبیکس قادر خواهد بود که انواع دیتابیس ها SQL Server , MySQL , PostgreSQL , Oracle که اطلاعات مهمی مانند اطلاعات مشتریان ، امور مالی و مانیتور کردن سرعت دانلود و آپلود یا در دسترس بودن سایت ها ، سرورها ، فروشگاه ها و … که در ان نگهداری میشود را مانیتور کند.زبیکس حتی به مدیران سایت این امکان را میدهد که تمامی صفحات وب سایت را به صورت جداگانه مانیتور کرده و صفحاتی هم که احتیاج به لاگین کردن دارند با وارد نمودن Username وPassword وارد آن شده و وضعیت انجا را تحلیل کند.
Extensive visualisation options
زمانی برای مانبیتور کردن Host های که ایجاد کردیم باید از Zabbix templates استفاده نماييم . Template ها مجموعه اي از ماهيت هايي مانند
items, triggers, screens و غيره می باشد كه همگي باهم در مورد يك و يا چندين Host خاص اعمال مي گردند. و در نتيجه باعث صرفه جويي در زمان
كانفيگ و يا اعمال تغييرات لازم مي گردند. از طريق Configuration | Templates اعمال مي گردند .
براي گسترش زبيكس مي توان از Zabbix API استفاده نمود . API از پروتكل Remote Procedure Call) RPC) استفاده مي نمايد و مي تواند آبجكت هايي مانند hosts ، templates, groups را ايجاد ، آپديت و يا fetch نمايند .
Full featured and easily extensible agent
Ready for complex environments
اين يكي از خصوصيات زبيكس مي باشد . Proxy باعث كارايي و در دسترس پذير بودن اطلاعات از طرف سرور مي شود.ZABBIX Proxy يك روش ايده آل براي مانيتورينگ مركزي مكان هاي دور مخصوصا شبكه هايي كه ادمين محلي ندارند مي باشد.در اين حالت فقط پراكسي ها اطلاعات را جمع آوري مي نمايند .بنابراين پردازش ها روي سرورCPU و disk I/O كمتري را مصرف مي نمايند.