ما قصد داریم به زودی درباره ابزارهای زیادی از مانیتورینگ سیستم لینوکس بنویسیم که میتوانیم برای مانیتور کردن عملکرد/کارایی سیستم های لینوکسی استفاده کنیم، اما ما فکر میکنیم که، بیشتر کاربران دستور top را که به صورت پیش فرض در هر توزیع لینوکسی موجود است را ترجیح میدهند.

دستور top یک task manager لحظه ای (real time) در لینوکس و رایجترین ابزار مورد استفاده ی مانیتورینگ سیستم در توزیع های GNU/Linux میباشد که در پیدا کردن بحران های مرتبط با عملکرد سیستم و عملیات برطرف کردن مشکل به ما کمک میکند. این ابزار یک اینترفیس ساده و زیبا دارد که به همراه آن یک تعداد کمی از آپشن های منطقی موجود است که ما را به دریافت یک ایده بهتر و سریع درباره عملکرد کلی سیستم قادر میسازد.

به هر حال، گاهی اوقات پیدا کردن یک application/process که resorce زیادی از سیستم مصرف میکند میتواند امری ماهرانه باشد که البته این کار با top مقداری مشکل است، زیرا دستور top توانایی Highlight کردن برنامه هایی که در حال خوردن مقدار زیادی CPU , RAM و سایر resorce ها هستند را ندارد.

برای اطلاع از هدف بالا ما در اینجا به شما یک برنامه قدرتمند برای مانیتورینگ سیستم به نام Glances را معرفی میکنیم که به صورت اتوماتیک برنامه هایی را که در حال مصرف بالای ریسورس های سیستم هستند برای شما highlight میکنند و حداکثر اطلاعات درباره سرور Linux/Unix را فراهم میآورد.



Glances چیست ؟

Glances یک ابزار کامند لاینی متناسب با هر توزیع لینوکسی و برای مانیتورینگ سیستم میباشد که با زبان برنامه نویسی پایتون نوشته شده است و از کتابخانه psutil برای جمع آوری اطلاعات از سیستم استفاده میکند. با استفاده از glances ما میتوانیم میزان مصرف CPU, Load Average, Memory, Network Interfaces, Disk I/O, Processes و فضای File System را مانیتور کنیم.

Glances یک ابزار رایگان میباشد و لایسنس آن تحت GPL بوده که برای مانیتور کردن سیستم عامل های FreeBSD و GNU/Linux استفاده میشود. آپشن های جالب زیادی در Glances موجود میباشد، یکی از قابلیت های اصلی که ما در Glances داریم این است که میتوانیم در فایل config حد مصرف (با احتیاط هشدار و حیاتی (careful, warning و critical)) تعریف کنیم و اطلاعات به صورت رنگی نمایش داده میشوند که نمایانگر مشکلات در سیستم هستند.



قابلیت های Glances

- اطلاعات CPU (اپلیکیشن های مرتبط با کاربر، برنامه های core سیستم و برنامه های بیکار (Idle))
- اطلاعات کلی مموری شامل RAM , SWAP , Free Memory و غیره
- میانگین لود CPU برای یک دقیقه گذشته، پنج دقیقه گذشته و پانزده دقیقه گذشته
- rate آپلود/دانلود شبکه در ارتباطات نتورک
- تعداد کل پروسس ها، پروسس های فعال و غیرفعال و ...
- جزئیات مربوط به سرعت (read و write) دیسک I/O
- میزان استفاده از دیوایس های mount شده جاری در دیسک
- پروسس های top با میزان استفاده آنها از CPU/Memory ، نام و موقعیت application
- نمایش تاریخ و زمان جاری در پایین صفحه
- highlight قرمز برای پروسس هایی که بالاترین مصرف در ریسورس های سیستم را دارند.


در زیر یک نمونه از نمای کلی دستور Glances را مشاهده میکنید.





نصب Glances در سیستم های Linux/Unix

اگرچه Glances یک ابزار جدید و جوان است اما شما میتوانید آنرا در سیستم های Redhat base با فعال کردن ریپازیتوری EPEL نصب کنید و برای این منظور دستورات زیر را در ترمینال اجرا کنید.


روی RHEL/CentOS/Fedora
کد PHP:
# yum install -y glances 

روی Debian/Ubuntu/Linux Mint
کد PHP:
sudo apt-add-repository ppa:arnaud-hartmann/glances-stable
sudo apt-get update
sudo apt-get install glances 


استفاده از Glances

برای آغاز ساختار ابتدایی این دستور را در ترمینال اجرا میکنیم.
کد PHP:
# glances 
linux-monitoring-glances-linux-zone-org-png


برای خارج شدن از ترمینال Glances کافیست کلید "q" یا "ESC" و یا همچنین "Ctrl+c" را فشار دهید. در زیر تصویر دیگری از صفحه glances که از یک سیستم centos 6.5 گرفته شده را مشاهده میکنید.

centos-linux-monitoring-glances-linux-zone-org-png

به صورت پیش فرض، فاصله زمانی برای رفرش کردن صفحه برابر با "1" ثانیه تعریف شده اما شما میتوانید این زمان را به هنگام اجرا کردن دستور glances در ترمینال تغییر دهید.
کد PHP:
# glances -t 2 


کدهای رنگ در Glances

معنای کد رنگ در Glances :

سبز : OK (همه چیز خوب پیش میرود)
آبی : CAREFUL (مراقب باشید، باید روی پروسس توجه داشت)
یاسی/صورتی : WARNING (هشدار)
قرمز : CRITICAL (بحرانی)

ما میتوانیم در فایل کانفیگ حدود مصرف را مشخص کنیم. به صورت پیش فرض برابر با مقدارهای careful=50, warning=70 و critical=90 میباشد ولی ما میتوانیم با توجه به نیازمان آنها را تغییر دهیم. فایل کانفیگ پیش فرض در مسیر ‘/etc/glances/glances.conf’ قرار دارد.



آپشن های Glances

Glances علاوه بر آپشن های زیاد کامندی کلیدهای کاربردی زیادی را برای یافتن اطلاعات خروجی زمانیکه این ابزار در حال اجراست برای ما فراهم میآورد. در زیر لیستی از چندین کلید کاربردی را مشاهده میکنید.



  • a – چیدن اتوماتیک پروسس ها
  • c – چیدن پروسس ها با توجه به مصرف CPU%
  • m – چیدن پروسس ها با توجه به مصرف MEM%
  • p – چیدن پروسس ها با توجه به مصرف name
  • i – چیدن پروسس ها با توجه به مصرف I/O rate
  • d – نمایش/مخفی کردن وضعیت Disk I/O
  • f – نمایش/مخفی کردن وضعیت file system
  • n – نمایش/مخفی کردن وضعیت network
  • s – نمایش/مخفی کردن وضعیت sensors
  • y – نمایش/مخفی کردن وضعیت hddtemp
  • l – نمایش/مخفی کردن وضعیت logs
  • b – تعداد Byte یا bit ها برای I/O شبکه
  • w – حذف warning logs
  • x – حذف warning و critical logs
  • 1 – وضعیت کلی CPU یا per-CPU
  • h – نمایش/مخفی کردن این صفحه help
  • t – نمایش ترکیبی I/O شبکه
  • u – نمایش کلی I/O شبکه
  • q – خارج شدن (همچنین Esc یا Ctrl-C)




استفاده از Glances روی سیستم های Remote

با استفاده از Glances شما همچنین میتوانید سیستم های ریموت را مانیتور کنید. برای استفاده از Glances روی سیستم های remote دستور glances -s را روی سرور اجرا کنید. (-s مد سرور/کلاینت را فعال میکند)
کد PHP:
# glances -s

Define the password for the Glances server
Password

Password (confirm): 
Glances server is running on 0.0.0.0:61209 
نکته : به محض اینکه دستور glances را اجرا کردید از شما میخواهد که برای سرور glances یک پسورد تعریف کنید. بعد از تعریف پسورد Enter کنید مشاهده میکنید که glances روی پورت 61209 در حال اجراست.

اکنون به هاست ریموت رفته و دستور زیر را با مشخص کردن ip آدرس یا hostname برای اتصال به یک سرور Glances همانند زیر اجرا کنید در اینجا 172.16.27.56 آی پی سرور glances من میباشد.
کد PHP:
# glances -c -P 172.16.27.56 
در زیر یکسری نکات قابل توجه موجود است که کاربران به هنگام استفاده از Glances در مد سرور/کلاینت بدانند.
کد PHP:
In server modeyou can set the bind address -B ADDRESS and listening TCP port -p PORT.
In client modeyou can set the TCP port of the server -p PORT.
* Default 
binding address is 0.0.0.0but it listens on all network interfaces at port 61209.
In server/client modelimits are set by the server side.
You can also define a password to access to the server -P password
خلاصه :
Glances یک ابزار کاربر پسند برای اکثر کاربران است اما اگر شما یک ادمین سیستم هستید باید خیلی سریع درباره کل سیستم با استفاده از glances در محیط کامندی اطلاعات جمع کنید، در نتیجه این ابزار یکی از مفید ترین ابزارها برای ادمین های سیستم میباشد.