مونیتورینگ در لینوکس

مونیتورینگ در لینوکس

سلام رفقا 😃امیدوارم حال‌تون خوب باشه 🙂بدون شک یکی از کارایی که هر ادمین لینوکسی باید بلد باشه system monitoring هستش. یعنی اینکه شما بتونید روی یک سیستم لینوکسی وضعیت استفاده ی سیستم از منابع مختلف (مثل cpu, ram, I/O,…) رو بررسی و تحلیل کنید.منم چند وقته چندتا ابزار خفن برای اینکار پیدا کردم و به نظرم اومد که معرفی اینا میتونه بهونه ی مناسبی واسه نوشتن یه مقاله باشه 😃اول با ابزار های بیسیک شروع میکنیم، ولی قبل از اون اینم بگم که ابزار های مونیتورینگ واسه لینوکس خیلی زیاد پیدا میشه ولی اینجا من میخوام روی چندتا از این ابزار ها که تو محیط CLI میشه ازشون استفاده کرد حرف بزنم. پس بریم که داشته باشیم…کامند ps برمیگرده به زمان unix! از پایه ترین و قدیمی ترین ابزار های مونیتورینگ هستش و از هر ادمین لینوکسی هم انتظار میره که بلد باشه وضعیت تسک های روی سیستم رو با ps چک کنه.[email protected]:~$ ps
PID TTY TIME CMD
7640 pts/1 00:00:00 bash
7717 pts/1 00:00:00 psکامند ps آپشن های مختلفی داره که هر کدوم‌شون کار خاصی انجام میدن. اگه بدون هیچ آرگومانی دستور ps رو وارد کنید‌ (مثال بالا) تسک هایی که توی shell فعلی تون دارن اجرا میشن رو بهتون نشون میده.معروف ترین آپشن های ps اینا هستن که تمام تسک های در حال اجرا رو تو خروجی چاپ میکنن:$ ps -el$ ps -auxآپشن el با فرمت استاندارد یونیکس خروجی رو چاپ میکنه ولی aux با فرمت BSD خروجی چاپ میکنه.توصیه میکنم آپشن های کامند ps رو از man page اش بخونید.کامند pstree مشابه ps عمل میکنه فقط خروجی رو به صورت یک نمودار درختی چاپ میکنه.یکی دیگه از قدیمی ترین ابزار های مونیتورینگ لینوکس دستور top هستش. با استفاده از دستور top شما میتونید به صورت تعاملی تسک های سیستم رو بررسی کنید و اونا رو مدیریت کنید.محیط topکامند top اطلاعات مفیدی در مورد وضعیت سیستم بهتون میده. به طور مثال تو عکس بالا میتونیم وضعیت cpu، وضعیت حافظه ram، وضعیت حافظه swap، تعداد کل تسک ها و خیلی چیزای دیگه رو ببینیم. با کامند top حتی میتونیم به صورت تعاملی یک سیگنال KILL یا TERM یا هر سیگنالی به تسک ها بفرستیم و اونا رو متوقف و یا kill کنیم.در کل کارای زیادی میشه با کامند top انجام داد. ولی بعضی از این کارا نیاز به دسترسی root داره.کسایی که با لینوکس آشنا هستن این مفهوم رو خوب درک میکنن که « تو لینوکس هر چیزی یا یه فایله، یا یه تسک (process) »فایل ها میتونن یه تکست فایل معمولی باشن یا میتونن دایرکتوری، نتورک سوکت، بلاک دیوایس و… باشن.کامند lsof لیست فایل هایی که در حال حاضر باز هستن رو بهتون نشون میده.# lsof

COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 8,3 4096 2 /
systemd 1 root rtd DIR 8,3 4096 2 /
systemd 1 root txt REG 8,3 1620224 917813 /usr/lib/systemd/systemd
systemd 1 root mem REG 8,3 1369352 919687 /usr/lib/x86_64-linux-gnu/libm-2.31.so
systemd 1 root mem REG 8,3 178528 919871 /usr/lib/x86_64-linux-gnu/libudev.so.1.6.17
systemd 1 root mem REG 8,3 1575112 927089 /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0
systemd 1 root mem REG 8,3 137584 926312 /usr/lib/x86_64-linux-gnu/libgpg-error.so.0.28.0
systemd 1 root mem REG 8,3 67912 918134 /usr/lib/x86_64-linux-gnu/libjson-c.so.4.0.0
systemd 1 root mem REG 8,3 34872 925845 /usr/lib/x86_64-linux-gnu/libargon2.so.1
…یکی از کاربرد های lsof آپشن -i هستش که لیست سوکت های نتورک رو بهتون نشون میده. باهاش میتونید پورت های باز و برنامه ای که از اون پورت استفاده میکنه رو ببینید.خروجی کامند lsof -iاین دوتا کامند برای مونیتورینگ disk usage استفاده میشن. با استفاده از df میتونید میزان استفاده از فضای فایل سیستم تون رو ببینید و du میزان حجم اشغال شده رو فایل سیستم بهتون میگه.خروجی کامند dfاینا ابزار های بیسیکی بودن که تقریبا تو هر سیستم لینوکسی پیدا میشن. کامند های زیر هم واسه کارهای مختلف تو مونیتورینگ استفاده میشن.free: مقدار حافظه ی آزاد و اشغال شده ی رم رو نشون میدهiotop: نشون میده top رو به صورت تعاملی مثل کامند I/O وضعیتnetstat: تقریبا هر اطلاعاتی در مورد وضعیت نتورک سیستم رو بهتون نشون میدهvmstat: وضعیت حافظه ی مجازی سیستم رو نشون میدهtcpdump: ترافیک ورودی شبکه تون رو آنالیز میکنهالان میخوایم بریم سراغ ابزار هایی که کار مونیتورینگ رو تا حدودی راحت تر کردن و کمی هم بهش رنگ و لعاب دادن تا قشنگ تر به نظر برسه. این ابزار ها مثل یه پکیج از کامند هایی بودن که تا الان دیدیم. قبل از اون اینو بگم که به نظر من بهتره به عنوان یک ادمین لینوکس بیشتر بلد باشید با کامند های بیسیک لینوکس کار کنید. (این چیزیه که من درباره اش خوندم، و به نظرم حرف درستیه)بعد از کامند top شاید معروف ترین ابزار واسه مونیتورینگ سیستم به صورت تعاملی کامند htop باشه. htop یه محیطی شبیه top در اختیارتون قرار میده که از طریق اون میتونید اطلاعاتی در مورد سیستم تون (مثل میزان مصرف cpu، میزان مصرف ram و swap، لیست تسک ها و…) رو ببینید. تقریبا رو همه ی توزیع های لینوکس هم ران میشه. محیط htopابزار bpytop هم مثل htop و top یه ابزار دیگه واسه ریسورس مونیتورینگ تو سیستم عامل هایی مثل لینوکس، BSD، مک او اس و… استفاده میشه و با زبان پایتون نوشته شده که امکانات زیادی رو در اختیارتون قرار میده.نکته ای که در مورد bpytop بهتره بدونید اینه که نسخه ی قبلی این برنامه اسمش bashtop بود، ولی توسعه دهنده هاش توصیه میکنن از bpytop استفاده کنید.محیط bpytopیکی دیگر از محبوب ترین ابزار های مونیتورینگ در لینوکس ابزار glances است. این برنامه هم مثل bpytop با پایتون نوشته شده. با استفاده از glances شما میتونید یه وب سرور راه اندازی کنید و از طریق یه وب بروزر سیستم تون رو مونیتور کنید. این یعنی شما میتونید حتی از طریق گوشی هم سیستم تون رو مونیتور کنید.محیط glances در ترمینالمحیط glances روی وب بروزر گوشیبازم میگم؛ ابزار های مونیتورینگ لینوکس خیلی زیادن. چه تو محیط CLI و چه محیط GUI. مهم تر از ابزاری که نصب میکنید اینه که بتونید اطلاعاتی که این برنامه ها بهتون میدن رو تحلیل و بررسی کنید و بر اساس تحلیل تون تصمیم بگیرید.امیدوارم که این مقاله براتون مفید بوده باشه. 🙂اگه سوالی یا نظری داشتید بهم بگید. اگه کمکی از دستم بر بیاد خوشحال میشم بتونم کاری بکنم.و…شاد و خندون باشید. 🙂

Author: admin

دیدگاهتان را بنویسید

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