امید احمدیانی
امید احمدیانی
خواندن ۹ دقیقه·۶ سال پیش

سرویس مانیتورینگ ZABBIX


زبیکس (Zabbix) ؟

زبیکس توسط 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 های آن  میپردازیم : 

Data gathering

  • availability and performance checks (چک کردن در دسترس یودن و عملکرد)
  • support for SNMP (both trapping and polling), IPMI, JMX, VMware monitoring (پشتیبانی از پرتکل های معروف)

از طریق پرتکل های ارتباطی مانند SNMP که دارای ورژن های ۱٫۲c.3 میباشد میتواند از device های شبکه مانند روترهای شبکه / مجازی ساز ها مانند ESXI

vSphere / دستگاه های پشتیبانی UPS و . . . دریافت اطلاعات داشت

SNMP :

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 ها به دليل استفاده از منابع سيستمي بسيار كارآمد براي جمع آوري اطلاعات آماري مي باشند.

  • custom checks (چک کردن های سفارشی)
  • gathering desired data at custom intervals
  • performed by server/proxy and by agents

Flexible threshold definitions

آستانه انعطاف پذیری :

  • you can define very flexible problem thresholds, called triggers, referencing values from the backend database

میتواند با تعریف بخش 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

Highly configurable alerting

هشدار های قابل تنظیم :

  • sending notifications can be customized for the escalation schedule, recipient, media type

Notifications روشي در زبيكس براي آگاه ساختن كاربران درباره event هايي كه رخ مي دهند مي باشد . كه نوع اطلاع رساني را مي توان از طريق                          Administration | Notifications مشخص نمود كه چه چيزي و در چه زماني و از طريق چه مديايي به كاربر منتقل گردد. میتوانید مشخص کنید در زمان برنامه                ریزی شده برای شما اعلانی را ارسال کند  در قسمت media type میتواند مشخص کنید که هشدار ها را بر چه اساس برای شما ارسال کند ایمیل , پیامک              و …

  • notifications can be made meaningful and helpful using macro variables

میتوانید در قسمت macro توسط macro نویسی تنظیمات مخصوص به خود را بنویسید

  • automatic actions include remote commands

Real-time graphing

  • monitored items are immediately graphed using the built-in graphing functionality

وضعیت رسیده را بدون هیچ تاخیری در غالب یک گراف برای شما ترسیم میکند

Web monitoring capabilities

  • Zabbix can follow a path of simulated mouse clicks on a web site and check for functionality and response time

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

Extensive visualisation options

  • ability to create custom graphs that can combine multiple items into a single view
  • network maps
  • custom screens and slide shows for a dashboard-style overview
  • reports
  • high-level (business) view of monitored resources

Historical data storage

  • data stored in a database
  • configurable history
  • built-in housekeeping procedure

Easy configuration

  • add monitored devices as hosts
  • hosts are picked up for monitoring, once in the database
  • apply templates to monitored devices

Use of templates

  • grouping checks in templates
  • templates can inherit other templates

زمانی برای مانبیتور کردن Host های که ایجاد کردیم باید از Zabbix templates استفاده نماييم . Template ها مجموعه اي از ماهيت هايي مانند

items, triggers, screens و غيره می باشد  كه همگي باهم در مورد يك و يا چندين Host خاص اعمال مي گردند. و در نتيجه باعث صرفه جويي در زمان

كانفيگ و يا اعمال تغييرات لازم مي گردند. از طريق Configuration | Templates اعمال مي گردند .

Network discovery

  • automatic discovery of network devices
  • agent auto registration
  • discovery of file systems, network interfaces and SNMP OIDs

Fast web interface

  • a web-based frontend in PHP
  • accessible from anywhere
  • you can click your way through
  • audit log

Zabbix API

  • Zabbix API provides programmable interface to Zabbix for mass manipulations, 3rd party software integration and other purposes

براي گسترش زبيكس مي توان از Zabbix API استفاده نمود . API از پروتكل Remote Procedure Call) RPC) استفاده مي نمايد و مي تواند آبجكت هايي مانند hosts ، templates, groups را ايجاد ، آپديت و يا fetch نمايند .

Permissions system

  • secure user authentication
  • certain users can be limited to certain views

Full featured and easily extensible agent

  • deployed on monitoring targets
  • can be deployed on both Linux and Windows

Binary daemons

  • written in C, for performance and small memory footprint
  • easily portable

Ready for complex environments

  • remote monitoring made easy by using a Zabbix proxy

اين يكي از خصوصيات زبيكس مي باشد . Proxy باعث كارايي و در دسترس پذير بودن اطلاعات از طرف سرور مي شود.ZABBIX Proxy يك روش ايده آل براي مانيتورينگ مركزي مكان هاي دور مخصوصا شبكه هايي كه ادمين محلي ندارند مي باشد.در اين حالت فقط پراكسي ها اطلاعات را جمع آوري مي نمايند .بنابراين پردازش ها روي سرورCPU و disk I/O كمتري را مصرف مي نمايند.

منبع: وب سایت شخصی امید احمدیانی

مانیتورینگشبکهبرنامه نویسیکامپیوتراینترنت
برنامه نویس | کارآفرین | بازاریاب دیجیتال | مدیر سرور
شاید از این پست‌ها خوشتان بیاید