مانیتورینگ و مدیریت و کنترل پهنای باند سرور مجازی لینوکس (نصب Htop – vnstat)



مانیتورینگ سرور مجازی

نظارت و مدیریت فرآیند های سیستم (system processes) برای حفظ عملکرد و ثبات بسیار مهم است. در حالی که کاربران ویندوز از Task Manager استفاده میکنند، اوبونتو ابزار htop را ارائه می دهد، htop روی پردازش و مصرف منابع ram, cpu تمرکز دارد، اما ابزارهای دیگری برای مدیریت سرور مجازی لینوکس موجود دارند که وظیفه آنها کنترل ترافیک شبکه است.

 

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

دانستن نحوه نظارت بر منابع سیستم عامل در لینوکس بسیار مهم و کارآمد است. در اینجا پنج دلیل کلیدی برای اینکه چرا باید سرور لینوکس خود را مدیریت کنیم را توضیح میدیم :

1. بهینه سازی عملکرد :

با نظارت بر منابع سیستم، میتوانید فرآیندها یا برنامه هایی را که بیش از حد ram, cpu و ترافیک مصرف می کنند، شناسایی کنید. اینکار به شما امکان میدهد تنظیماتی را برای بهینه سازی عملکرد سیستم یا برنامه های خود انجام دهید.

2. عیب یابی مشکلات

درک استفاده از منابع به تشخیص و حل مشکلات سیستم کمک می کند، یعنی اگر در سرور احساس کندی کنید، ابزارهای مانیتورینگ سرور لینوکس میتوانند به شما کمک کنند که فشار بالای CPU، کافی نبودن Ram، پردازش هایی که توسط برنامه ها انجام میشود یا سایر محدودیت های منابع را شناسایی کنید.

3. ظرفیت پلن سرور مجازی

نظارت منظم روی سرور مجازی، در طول زمان این کمک را به شما میکند که میتوانید پیش بینی کنید که چه زمانی باید سخت افزار را ارتقا دهید.

4. نظارت بر امنیت

ابزارهای مانیتورینگ میتوانند به شناسایی فعالیت‌ های غیرعادی که ممکن است نشان‌دهنده نقض امنیت، فعالیت های بدافزاری باشند به شما کمک کنند، مثلا افزایش ناگهانی ترافیک شبکه یا فرآیندهای غیرمعمولی که ram, cpu زیادی را مصرف می‌کنند.

 

 

Htop چیست

Htop یک اسکریپت مانیتورینگ بسیار قوی برای سرورهای لینوکسی است، با استفاده از Htop مدیران سرورها میتونن پردازش های سرور رو بصورت لحظه ای – Real time مشاهده کنند، در Htop پردازش ها با قابلیت دسته بندی و امکان kill کردن PID و … در یک محیط ساده و قابل فهم نمایش داده میشن. مدیران سرورها پردازش های لحظه ای رو میتونن مانیتور و مدیریت کنند و پردازش های اضافی رو با قابلیت انتخاب pid بتونن kill کنن، مواردی مثل میزان مصرف Ram و CPU، تعداد هسته های در حال پردازش، load سرور، آپتایم سرور، تعداد پردازش های در حال اجرا قابل مشاهده است.

 

نصب Htop

در اوبونتو و دبیان، htop را با دستور زیر نصب میکنیم

sudo apt-get install htop

در سیستم عامل های RPM-based هم با دستور زیر نصب میکنیم

sudo yum install htop

دستور htop

بعد از نصب، برای اجرای این اسکریپت مانیتورینگ، فقط کافی هست که کلمه htop در ترمینال لینوکس وارد کنید. اگر هم نیاز به راهنمایی در مورد پارامتر های این اسکریپت داشتید، دستور htop –help میتونین وارد کنید.

 

آموزش مدیریت سرور لینوکس

 

میزان مصرف cpu در لینوکس

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

1 [|||||||                   27.6%]     Tasks: 23, 44 thr; 2 running
2 [|||||||||||                       37.3%]     Load average: 1.03 1.05 1.00 
Mem[|||||||||||||||     1.49G/3.85G]     Uptime: 10 days, 03:06:12
Swp[                             0K/512M]

در صفحه بالا سمت چپ، یک خط CPU وجود دارد که درصد استفاده از CPU را نشان می دهد. برای یک CPU تک هسته ای، یک خط برای آن وجود دارد. در مورد CPU های چند هسته ای، بسته به تعداد هسته های CPU، تعداد خط وجود خواهد داشت.  اگر درصد CPU نزدیک به 0 علامت باشد، به این معنی است که CPU بار زیادی ندارد و اگر برای مدت طولانی به 100 نزدیک شود، به این معنی است که CPU تحت فشار است و کمبود CPU دارید.

خط بعدی نشان دهنده مصرف Ram است که روی سرور اجرا می شود.

در گوشه سمت راست، میزان Load Average نوشته شده که میانگین کار محاسباتی انجام شده توسط CPU است. Load Average دارای 3 عدد است، عدد اول میانگین پردازش لحظه ای (0.00)، عدد دوم میانگین 5 دقیقه و عدد سوم میانگین پانزده دقیقه است.

 

اما در جدول پایینتر، ستون های با اسم زیر مشاهده میکنید.

PID: Unique Process ID (شناسه منحصر به فرد فرآیند).
USER: Process Owner. (مالک فرآیند – کاربر که پردازش فرآیند را انجام میدهد)
VIRT: Virtual memory being consumed by the process (حافظه مجازی توسط فرآیند مصرف می شود)
%CPU: The percentage of the processor time used by the process. (درصدی از زمان پردازنده استفاده شده توسط فرآیند)
%MEM: The percentage of physical RAM used by the process. (درصد رم فیزیکی استفاده شده توسط فرآیند)
COMMAND: The name of the command that started the process. (نام دستوری که فرآیند را اجرا میکند.)

 

 

کنترل پهنای باند در لینوکس (مانیتورینگ ترافیک سرور)

vnstat یکی از ابزار خط فرمان در لینوکس برای کنترل ترافیک و مصرف پهنای باند ورودی و خروجی سیستم عامل لینوکس است. vnstat ترافیک سرور را بر اساس بازه های زمانی، ساعتی، روزانه، هفتگی، ماهیانه و سالانه ذخیره میکند.

 

نصب vnstat

با دستور زیر پکیج vnstat را نصب میکنیم.

sudo apt-get install vnstat

و برای فعال نگه داشتن سرویس vnstat که اگر سیستم عامل را خاموش یا ریستارت کردید و بعد از بوت شدن سیستم عامل این برنامه باید مجدد فعال شد، باید سرویس آنرا با دستور زیر فعال کنید

sudo systemctl enable vnstat.service
sudo systemctl start vnstat.service

 

برای اجرای برنامه هم کافی هست تا دستور vnstat را در ترمینال لینوکس تایپ کنید.

اگر نیاز به مشاهده ترافیک بصورت ساعتی دارید، از دستور vnstat -h استفاده کنید. اگر نیاز به مشاهده ترافیک بصورت روزانه دارید، از دستور vnstat -d استفاده کنید. یا برای ماهیانه از vnstat -m استفاده کنید.

 

نصب vnstat