آشنایی با مانیتورینگ زبیکس

منتشرشده توسط سهیل نوروزی در تاریخ

پیدایش

زبیکس توسط 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 و غیره استفاده می شود و فقط سوپر ادمین می تواند این گزینه را ببیند .

Data gathering

در این بخش قصد داریم تا به اصلی ترین ویژگی های زبیکس بپردازیم :

یکی از مهمترین و اصلی ترین مباحث زبیکس ” جمع آوری داده ” می باشد که از طریق پرتکل های ارتباطی  می توان به اطلاعات مورد نظر دست یافت  در جمع آوری اطلاعات مباحث زیر مطرح هست که به توضیح برخی از Concept های آن  میپردازیم : 

  • 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 کمتری را مصرف می نمایند.

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


سهیل نوروزی

من یه گیک علاقه مندئ به تکنولوژی هستم. فردی خلاق، خوش زوق و همیشه آماده برای یادگرفتن. از بچگی با خانواده ویندوز قد کشیدم و بزرگ شدم. در نوجوانی به دنیای متن باز و لینوکس علاقه مند شدم و بعدا نیمچه گازی هم به اپل زدم. به زبان انگلیسی مسلط هستم وعلاقه مندم چیزهای بیشتری یادبگیرم و تجربیات و دانسته هایم را با بقیه افراد به اشتراک بگذارم.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *