نویسنده: شبنم معظمی
تاریخ انتشار: 4 فوریه 2024 - بروز رسانی در تاریخ: 8 جولای 2026
0 636
مانیتورینگ پهنای باند در لینوکس

مانیتورینگ پهنای باند در لینوکس؛ راهنمای کامل

3 امتیاز

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

در این راهنما روی همین موضوع تمرکز میکنیم: با هر ابزار چطور مانیتور کنیم، خروجی اش چه میگوید، کدام ستون ها مهم اند، با چه کلیدهایی مرتب و فیلتر کنیم و در نهایت با دیدن یک مصرف غیرعادی چه کنیم. نصب هر ابزار فقط یک خط است و اصل کار، استفاده و تحلیل است.

این مقاله در یک نگاه
  • مهارت اصلی مانیتورینگ، خواندن و تفسیر خروجی است نه فقط نصب ابزار iftop اتصال ها، nethogs پردازش ها، vnstat تاریخچه و nload نمای کلی را نشان میدهد هر ابزار کلیدهای تعاملی برای مرتب سازی و فیلتر دارد که کار را دقیق میکند

مانیتورینگ پهنای باند یعنی چه؟

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

برای شروع سریع، این نقشهٔ راه میگوید بسته به سوالی که دارید سراغ کدام ابزار بروید. در ادامهٔ مقاله خواندن و تفسیر خروجی هر کدام را با جزئیات یاد میگیریم.

1

کدام اتصال و آی پی؟

برای دیدن اینکه ترافیک با کدام مقصد رد و بدل میشود و کدام اتصال سنگین است، خروجی iftop را بخوان.

2

کدام برنامه؟

برای فهمیدن اینکه کدام پردازش ترافیک مصرف میکند، nethogs را اجرا و ستون های آن را تفسیر کن.

3

چقدر در طول زمان؟

برای دیدن مصرف روزانه و ماهانه، آمار ذخیره شدهٔ vnstat را بخوان.

حالا بیایید ببینیم با هر ابزار دقیقا چطور مانیتور میکنیم و خروجی اش را چطور میخوانیم.

مانیتورینگ با ابزارهای زنده

ابزارهای زنده ترافیک را همین لحظه نشان میدهند و برای پیدا کردن سریع منبع یک مصرف بالا عالی اند. مهم ترین کار با این ابزارها، خواندن درست ستون ها و استفاده از کلیدهای تعاملی برای مرتب سازی است.

مانیتورینگ اتصال ها با iftop

iftop برای پاسخ به این سوال است که «ترافیک من با کدام آی پی و مقصد رد و بدل میشود». بعد از نصب یک خطی، آن را روی کارت شبکهٔ موردنظر اجرا میکنید:

sudo apt install iftop -y      # نصب (دبیان/اوبونتو)؛ در RHEL: sudo dnf install iftop
sudo iftop -i eth0

حالا مهم ترین بخش، خواندن خروجی است. هر ردیف یک اتصال بین سرور شما و یک میزبان دیگر است و شبیه این دیده میشود:

                     12.5Kb        25.0Kb         37.5Kb
server.mydomain  =>  93.184.216.34         1.20Mb  980Kb   1.05Mb
                 <=                        15.4Mb  12.1Mb  13.2Mb
--------------------------------------------------------------
TX:  peak 1.20Mb   rates:  980Kb  1.05Mb
RX:  peak 15.4Mb   rates:  12.1Mb 13.2Mb
TOTAL:            rates:  13.1Mb 14.2Mb

نحوهٔ تفسیر: پیکان «=>» ترافیک ارسالی (TX) از سرور شما به آن مقصد و «<=» ترافیک دریافتی (RX) است. سه ستون عدد، میانگین نرخ در 2، 10 و 40 ثانیهٔ اخیر هستند، پس ستون میانی معمولا بهترین معیار برای وضعیت فعلی است. خط های TX و RX و TOTAL در پایین، جمع کل و اوج مصرف را نشان میدهند. اگر یک ردیف با نرخ بسیار بالا دیدید، همان اتصال منبع اصلی مصرف است.

iftop چند کلید تعاملی مفید هم دارد که مانیتورینگ را دقیق تر میکند: کلید t نحوهٔ نمایش ردیف ها را عوض میکند، حرف P نمایش پورت ها را روشن و خاموش میکند، S و D مرتب سازی بر اساس مبدا و مقصد را تغییر میدهند و n نمایش نام دامنه به جای آی پی را کنترل میکند. با همین کلیدها میتوانید خروجی را طوری بچینید که اتصال پرمصرف سریع مشخص شود.

مانیتورینگ پردازش ها با nethogs

وقتی فهمیدید ترافیک بالاست اما نمیدانید کدام برنامه مقصر است، nethogs جواب میدهد چون مصرف را به تفکیک هر پردازش نشان میدهد. اجرا ساده است:

sudo apt install nethogs -y    # نصب؛ در RHEL: sudo dnf install nethogs
sudo nethogs eth0

خروجی nethogs فهرستی از پردازش هاست و شبیه این است:

PID   USER   PROGRAM              DEV    SENT      RECEIVED
1420  www    /usr/sbin/apache2    eth0   540.2     3120.5 KB/sec
889   root   /usr/bin/rsync       eth0   12.4      2210.0 KB/sec
1533  mysql  /usr/sbin/mysqld     eth0   88.1      140.3  KB/sec

نحوهٔ تفسیر: ستون PROGRAM مسیر برنامه ای است که ترافیک مصرف میکند، و دو ستون SENT و RECEIVED نرخ ارسال و دریافت آن برنامه بر حسب کیلوبایت بر ثانیه است. با یک نگاه میفهمید کدام سرویس بیشترین مصرف را دارد؛ مثلا در نمونهٔ بالا، وب سرور و یک فرآیند rsync بیشترین دریافت را دارند. کلید فاصله یا حرف های m واحد نمایش را بین KB/s و کل تغییر میدهند و q هم برای خروج است.

این دید در سروری که چند سرویس هم زمان دارد بسیار ارزشمند است، چون به جای حدس زدن، دقیقا پردازش مسئول را نشانتان میدهد تا سراغ همان بروید.

نمای کلی زنده با nload

اگر فقط میخواهید بدانید همین حالا مجموع ترافیک ورودی و خروجی سرور چقدر است، nload سبک ترین راه است. این ابزار دو نمودار زنده برای دریافت و ارسال نشان میدهد:

sudo apt install nload -y
nload eth0

در خروجی nload، بخش Incoming ترافیک دریافتی و بخش Outgoing ترافیک ارسالی است و برای هر کدام مقدار فعلی (Curr)، میانگین (Avg)، کمینه و بیشینه (Min/Max) و مجموع (Ttl) نمایش داده میشود. با کلیدهای جهت میتوانید بین کارت های شبکهٔ مختلف جابه جا شوید. nload برای یک نگاه سریع و فهمیدن اینکه مصرف کلی بالا هست یا نه عالی است، بدون اینکه درگیر جزئیات اتصال یا پردازش شوید.

مانیتورینگ تاریخچه و مصرف بلندمدت با vnstat

ابزارهای بالا مصرف را فقط در همان لحظه نشان میدهند؛ اگر بخواهید بدانید امروز، این هفته یا این ماه چقدر ترافیک مصرف شده، به vnstat نیاز دارید که به صورت یک سرویس پس زمینه همیشه در حال ثبت مصرف است. بعد از نصب، آن را فعال میکنید و بعد میتوانید هر زمان آمار را بخوانید:

sudo apt install vnstat -y
sudo systemctl enable --now vnstat

نکتهٔ مهم این است که vnstat بلافاصله بعد از نصب آمار کامل ندارد و باید مدتی بگذرد تا داده جمع کند. برای خواندن آمار از این دستورها استفاده میکنید:

vnstat            # خلاصه کلی
vnstat -d         # مصرف روزانه
vnstat -m         # مصرف ماهانه
vnstat -h         # مصرف ساعتی

خروجی روزانه یا ماهانه، برای هر بازه دو مقدار rx (دریافت) و tx (ارسال) و مجموع آن ها را نشان میدهد. چون این آمار ذخیره میشود، vnstat بهترین ابزار برای کنترل هزینهٔ پهنای باند و دیدن روند مصرف در بلندمدت است؛ مثلا میتوانید بفهمید مصرف ماهانهٔ شما به سقف پلن نزدیک میشود یا نه.

مقایسه و انتخاب ابزار مناسب

هیچ ابزاری بهترینِ مطلق نیست؛ انتخاب به سوالی که دارید بستگی دارد. این جدول کمک میکند سریع ابزار درست را انتخاب کنید.

ابزار چه چیزی را مانیتور میکند مناسب برای پاسخ به
iftop ترافیک زنده بر اساس اتصال و آی پی با کدام مقصد ترافیک رد و بدل میشود؟
nethogs ترافیک زنده بر اساس پردازش کدام برنامه مصرف میکند؟
nload نمای کلی زندهٔ ترافیک مصرف کلی همین حالا چقدر است؟
vnstat مصرف تجمعی و تاریخچه در روز یا ماه چقدر مصرف شده؟

روش عملی پیشنهادی این است: با nload یا vnstat نگاه کلی بیندازید، و اگر مصرف غیرعادی دیدید با iftop مقصد اتصال و با nethogs برنامهٔ مسئول را پیدا کنید. این ترکیب معمولا در چند دقیقه شما را به علت اصلی میرساند.

با دیدن مصرف غیرعادی چه کنیم؟

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

در این حالت میتوانید با راهکارهای جلوگیری از ترافیک ناخواسته جلوی آن را بگیرید. اما اگر مصرف واقعی و ناشی از رشد سرویس شماست، احتمالا به منابع و پهنای باند بیشتری نیاز دارید. برای بررسی کلی منابع سرور هم دستورهای مشاهدهٔ سخت افزار سرور لینوکس کمک میکند تصویر کاملی از ظرفیت سرور داشته باشید.

جمع بندی: مانیتورینگ پهنای باند در لینوکس در واقع مهارت خواندن و تفسیر خروجی ابزارهاست، نه صرفا نصب آن ها. iftop به شما اتصال ها را، nethogs پردازش ها را، nload نمای کلی را و vnstat تاریخچه را نشان میدهد؛ و با یاد گرفتن معنی ستون ها و کلیدهای تعاملی هر کدام، میتوانید منبع دقیق مصرف را پیدا کنید.

عادت به مانیتورینگ منظم کمک میکند مشکلات مصرف را زود تشخیص دهید، هزینهٔ پهنای باند را کنترل کنید و امنیت سرور را بالا ببرید. مهم این است که بعد از دیدن مصرف، درست تحلیل و اقدام کنید.

سرور مجازی با پهنای باند مناسب و پایدار

سرور مجازی پرقدرت با منابع و پهنای باند کافی برای پروژه شما؛ بقیه اش با ما.

 

اشتراک گذاری
+

مانیتورینگ پهنای باند با نصب ابزار فرق دارد؟

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

+

در iftop کدام ستون را باید نگاه کنم؟

هر ردیف یک اتصال است؛ پیکان بالا ترافیک ارسالی و پیکان پایین دریافتی را نشان میدهد و سه ستون عدد، میانگین ۲ و ۱۰ و ۴۰ ثانیهٔ اخیر است. ستون میانی معمولا بهترین معیار وضعیت فعلی است.

+

چطور بفهمم کدام برنامه بیشترین پهنای باند را مصرف میکند؟

با nethogs. این ابزار مصرف را به تفکیک هر پردازش نشان میدهد و در ستون های SENT و RECEIVED میبینید هر برنامه چه نرخی دارد، پس مقصر مصرف بالا سریع مشخص میشود.

+

چطور مصرف ماهانهٔ پهنای باند را مانیتور کنم؟

با vnstat که به صورت سرویس مصرف را ذخیره میکند. دستور vnstat -m مصرف ماهانه و vnstat -d مصرف روزانه را نشان میدهد. توجه کنید بعد از نصب باید مدتی بگذرد تا آمار جمع شود.

+

کدام ابزار برای مانیتورینگ لحظه ای کل ترافیک بهتر است؟

nload، چون با دو نمودار زنده مقدار فعلی، میانگین و مجموع ترافیک ورودی و خروجی را نشان میدهد و برای یک نگاه سریع به وضعیت کلی سرور ایده آل است.

منابع:

فاماسرور

مقالات مرتبط این مطلب پیشنهاد می شود