در عصر دیجیتال که در آن قرار داریم، نظارت و تجزیهوتحلیل ترافیک شبکه به وظایفی ضروری برای حفظ کارآمدی و ایمنی عملیات شبکه تبدیل شده است. در میان ابزارهای مختلف موجود برای این منظور، vnSTAT بهعنوان یک ابزار قدرتمند و همهکاره معرفی شده است که امکان نظارت بر ترافیک شبکه را بهصورت بیدرنگ و بازهای ارائه میدهد.
در این مقاله بررسی میکنیم که vnSTAT چیست و چگونه کار میکند؛ سپس با ویژگیها، مزایا و نحوه استفاده موثر آن آشنا میشویم.
ابزار vnSTAT چیست؟
vnSTAT یک ابزار از نوع خط فرمان برای نظارت بر ترافیک شبکه است که اطلاعات دقیقی را در مورد وضعیت استفاده از ترافیک شبکه در سیستمهای مبتنی بر لینوکس ارائه میدهد. این ابزار با نظارت بر ترافیک ورودی و خروجی شبکه، دادهها را جمعآوری و سپس این دادهها را در قالبهای مختلف برای تجزیهوتحلیل ارائه میکند.
vnSTAT به مجوزهای مدیریتی یا پیکربندیهای پیچیده نیاز ندارد و بههمیندلیل یک راهحل کاربرپسند و کارآمد برای کاربران مبتدی و باتجربه شناخته میشود.
نحوه کار ابزار vnSTAT به چه صورت است؟
vnSTAT با جمعآوری دادههای ترافیک شبکه از منابع ثبت پَکِت (بسته داده)، مانند اینترفیسهای (رابطهای) شبکه عمل میکند. این ابزار از اطلاعات ارائهشده توسط زیرساخت اکانتینگ پکت داخلی کرنل استفاده میکند. vnSTAT سپس این دادهها را پردازش و در گزارشهای قابل فهم سازماندهی میکند تا بینشهایی را در مورد الگوهای ترافیک شبکه ارائه کند.
اجزای اصلی عملیات vnSTAT عبارتند از:
ثبت پکت: vnSTAT بستهها را از اینترفیسهای شبکه میگیرد و ترافیک ورودی و خروجی را زیر نظر دارد.
ذخیرهسازی داده: دادههای ثبت شده در قالب فایلهای داده خام در یک مکان مشخص در سیستم ذخیره میشوند.
پردازش داده: فایلهای داده خام پردازش و تجزیهوتحلیل میشوند تا گزارشهای آگاهیبخشی را در مورد استفاده از ترافیک شبکه ایجاد کنند.
تولید گزارش: vnSTAT گزارشهای مختلفی مانند گزارشهای استفاده ساعتی، روزانه، ماهانه و بالاترین میزان استفاده را تولید میکند و اطلاعاتی را درباره حجم ترافیک، میانگینها و زمانهای اوج مصرف ارائه میکند.
ویژگیهای اصلی ابزار vnSTAT چیست؟
ابزار vnSTAT از چند ویژگی مهم و برجسته برخوردار است که آن را به یک ابزار کارآمد تبدیل کرده است:
نظارت بلادرنگ
vnSTAT قابلیتهای نظارت بهصورت بلادرنگ را فراهم میکند و این امکان را به کاربران میدهد تا روندهای ترافیک شبکه را در صورت وقوع مشاهده کنند. برای مثال میتوانید از این ابزار برای مانیتورینگ میزان مصرف ترافیک توسط کاربران در یک سرور مجازی لینوکس استفاده کنید.
دادههای قبلی
علاوه بر امکان نظارت بهصورت بیدرنگ، vnSTAT دادههای قبلی را نیز ذخیره میکند و این امکان را به کاربران میدهد تا الگوهای ترافیک شبکه را در طول زمان تجزیهوتحلیل کنند.
گزارشهای تفصیلی
vnSTAT گزارشهای دقیقی شامل اطلاعاتی در مورد نرخ انتقال داده، زمان اوج استفاده و حجم کل ترافیک تولید میکند که به شناسایی گلوگاههای احتمالی و روند استفاده کمک میکند.
اینترفیسهای چندگانه
ابزار vnSTAT میتواند چندین اینترفیس شبکه را بهطور همزمان نظارت کند و بینشهای ارزشمندی را در مورد توزیع ترافیک در اتصالات مختلف شبکه ارائه دهد.
اینترفیس خط فرمان
پس از نصب vnSTAT باید آن را از طریق یک اینترفیس خط فرمان اداره کنید. بهاینترتیب برای ادمینهای سیستم و کاربرانی که با استفاده از ترمینال لینوکس راحت هستند، گزینه مناسبی است.
بدون نیاز به مجوزهای روت
برخلاف برخی از ابزارهای نظارتی دیگر، vnSTAT به مجوزهای روت نیازی ندارد و همین موضوع امنیت و قابلیت استفاده آن را افزایش میدهد.
مزایای vnSTAT
ابزار vnSTAT مزایای مختلفی را در دسترس کاربران خود قرار میدهد که در ادامه با برخی از آنها آشنا میشویم:
بهرهوری منابع
vnSTAT سبک و کارآمد است و حداقل سربار منابع را به سیستم تحمیل میکند.
سهولت استفاده
اینترفیس خط فرمان کاربرپسند، این ابزار را برای کاربرانی با سطوح مختلف تخصص فنی به گزینهای کارآمد تبدیل میکند.
تجزیهوتحلیل ترافیک
گزارشهای دقیق vnSTAT تجزیهوتحلیل عمیق ترافیک شبکه را تسهیل و به بهینهسازی تخصیص منابع و برنامهریزی ارتقا شبکه کمک میکند.
عیبیابی
توانایی نظارت بر دادههای قبلی به شناسایی منبع مشکلات و ناهنجاریهای شبکه کمک میکند.
صورتحساب و ردیابی استفاده
دادههای دقیق میزان استفاده در vnSTATA این امکان را میدهد تا در محیطهایی که استفاده از شبکه نیازمند هزینه است، صورتحسابهای دقیق ایجاد کنید.
شروع به کار با ابزار vnSTAT
در این بخش با نحوه نظارت بر ترافیک شبکه و ثبت آنها برای تجزیهوتحلیل بعدی با استفاده از ابزار vnSTAT تمرکز میکنیم.
vnSTAT یک ابزار خط فرمان است که ترافیک شبکه اینترفیسهای موجود در سیستم شما را نمایش میدهد و ثبت میکند. این دادهها به آمار شبکهای که توسط کرنل ارائه میشود بستگی دارد. بنابراین، vnSTAT هیچ بار اضافی را برای نظارت و ثبت ترافیک شبکه به سیستم شما تحمیل نمیکند.
vnSTAT را نصب کنید
vnSTAT را از طریق مخزن مخصوص توزیع لینوکس خود بر روی سیستم نصب کنید. بهعنوان مثال، در لینوکس اوبونتو از دستور apt-get برای نصب vnSTAT استفاده کنید:
$ apt-get install vnstat
اگر ترجیح میدهید ابزار را طریق منبع نصب کنید، منبع vnSTAT را از اینجا دانلود کنید یا مانند زیر از دستور wget برای دانلود و نصب آن اقدام کنید:
wget http://humdi.net/vnstat/vnstat-1.11.tar.gz cd vnstat-1.11 make make install
همچنین شما میتوانید از دو ابزار Mergecap و Tshark برای تجزیهوتحلیل ترافیک شبکه استفاده کنید.
لطفا توجه داشته باشید که در نصب vnSTAT به اجرای عملیات «./configure» که معمولا برای سایر نصبهای مبتنی بر منبع انجام میدهید، نیازی نیست.
از آنجایی که vnSTAT به اطلاعات ارائهشده توسط کرنل متکی است، برای بررسی اینکه آیا کرنل تمام اطلاعات مورد انتظار vnSTAT را ارائه میدهد یا خیر، دستور زیر را اجرا کنید:
# vnstat --testkernel This test will take about 60 seconds. Everything is ok.
یک اینترفیس را برای نظارت توسط vnSTAT انتخاب کنید
vnSTAT هیچ یک از اینترفیسها را نظارت نمیکند مگر اینکه شما بهطور خاص آنها را مشخص کنید.
برای شروع نظارت بر اینترفیس eth0، موارد زیر را انجام دهید. این دستورات فقط یکبار نیاز به اجرا دارد. همانطور که در زیر مشاهده میکنید، این دستور یک فایل پایگاه داده eth0 را در دایرکتوری /var/lib/vnstat ایجاد میکند که حاوی تمامی پیامهای گزارش ترافیک شبکه برای این اینترفیس خاص است.
# vnstat -u -i eth0 Error: Unable to read database "/var/lib/vnstat/eth0". Info: -> A new database has been created.
برای مشاهده تمام اینترفیسهای موجود در سیستم خود که vnSTAT امکان نظارت بر روی آنها را دارد، موارد زیر را انجام دهید:
# vnstat --iflist Available interfaces: lo eth0 eth1 sit0
پروسه vnstatd (vnstat daemon) را شروع کنید. این پروسه اطلاعات مربوطه را نظارت و در پسزمینه لاگ (ثبت) میکند.
# vnstatd -d # ps -ef | grep vnst root 14353 1 0 09:12 ? 00:00:00 vnstatd -d root 14355 330 0 09:12 pts/1 00:00:00 grep vnst
حالا میتوانید vnstatd -d را در دایرکتوری /etc/rc.local file خود ذخیره کنید تا هر بار که سیستم خود را ریستارت میکنید، این پروسه بهصورت خودکار شروع شود.
استفاده اولیه از vnSTAT
ابزار vnSTAT بدون هیچ دردسر خاصی، خیلی سریع خلاصهای از اطلاعات مرتبط با موارد زیر را به شما ارائه میدهد:
- آخرین باری که پایگاه داده vnSTAT واقع در دایرکتوری /var/lib/vnstat/ بهروز شد
- از زمانی که جمعآوری آمار برای یک اینترفیس خاص آغاز شد
- دادههای آماری شبکه (بایتهای ارسال شده، بایتهای دریافتی) برای دو ماه گذشته و دو روز گذشته
# vnstat Database updated: Sat Oct 15 11:54:00 2011 eth0 since 10/01/11 rx: 12.89 MiB tx: 6.94 MiB total: 19.82 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '11 12.90 MiB | 6.90 MiB | 19.81 MiB | 0.14 kbit/s Oct '11 12.89 MiB | 6.94 MiB | 19.82 MiB | 0.15 kbit/s ------------------------+-------------+-------------+--------------- estimated 29 MiB | 14 MiB | 43 MiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s today 2.03 MiB | 1.07 MiB | 3.10 MiB | 0.59 kbit/s ------------------------+-------------+-------------+--------------- estimated 4 MiB | 2 MiB | 6 MiB |
نکته: اگر نصب vnStat را با موفقیت انجام داده باشید، پیام « eth0: Not enough data available yet.» را مشاهده میکنید. در این شرایط کمی صبر کنید و مجددا دستور را اجرا کنید.
نمایش داده شبکه بر اساس ساعت، روز، ماه و هفته در vnSTAT
با استفاده از دستورات «vnstat -h» یا «vnstat –hours» میتوانید دادههای آماری شبکه را براساس ساعت دریافت کنید. این اطلاعات همچنین در قالب یک گراف متنی نمایش داده میشود.
برای نمایش اطلاعات در بازههای روزانه از دستور «vnstat -d» یا «vnstat –days» استفاده کنید.
# vnstat -d eth0 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s 10/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s 10/13/11 2.06 MiB | 1.10 MiB | 3.16 MiB | 0.60 kbit/s ------------------------+-------------+-------------+--------------- estimated 3 MiB | 1 MiB | 4 MiB |
از دستور «vnstat -m» یا «vnstat –months» برای نمایش اطلاعات بر اساس بازههای ماهانه استفاده کنید.
# vnstat --m eth0 / monthly month rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Sep '11 12.90 MiB | 6.90 MiB | 19.81 MiB | 0.14 kbit/s Oct '11 12.92 MiB | 6.96 MiB | 19.89 MiB | 0.15 kbit/s ------------------------+-------------+-------------+--------------- estimated 29 MiB | 14 MiB | 43 MiB |
مشابه روز و ماه، برای نمایش هفتگی اطلاعات از دستور «vnstat -w» یا «vnstat –weeks» استفاده کنید.
اکسپورت کردن اطلاعات به اکسل یا سایر پایگاه دادهها
اگر میخواهید دادههای مانیتورینگ شبکه را به اکسل یا یک پایگاه داده دیگر اکسپورت کنید، میتوانید تمام اطلاعات را در یک قالب متنی جمعآوری کنید. برای این منظور مراحل زیر را دنبال کنید:
چند خط ابتدایی در فایل خروجی dumpdb– شامل اطلاعاتی در مورد چند عنوان است. پس از خطوط مربوط به هدرها، این فایل حاوی 30 خط است که با «d;» شروع میشود. برای مثال این خط را در نظر بگیرید: «d;0;1318316406;1;0;386;698;1»؛ این خط اطلاعات زیر را ارائه میدهد که بخشهای مختلف آن با نقطهویرگول یا «;» جدا شدهاند:
d: به معنی تعداد روز
o: به معنی امروز
1318316406 : داده در فرمت یونیکس
بخشهای بعدی در واقع بایتهای ارسالی یا دریافتی را نشان میدهد
$ vnstat --dumpdb interface;eth0 created;1218562937 updated;1218546895 totalrx;3 totaltx;1 ... ... d;0;1328316406;1;0;386;698;1 d;1;1345262937;2;1;494;289;1
شما همچنین میتوانید از دستور «vnstat –oneline» که خلاصهای از ترافیک را در یک خط نمایش میدهد استفاده کنید. در این خط مقادیر با استفاده از نقطویرگول از یکدیگر جدا شدهاند.
$ vnstat --oneline 1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB
نمایش زنده آمار شبکه
برای نمایش زنده اطلاعات و آمار شبکه از دستور «vnstat -l» یا «vnstat –live» استفاده کنید.
$ vnstat -l Monitoring eth0... (press CTRL-C to stop) rx: 2 kbit/s 5 p/s tx: 2 kbit/s 4 p/s
پس از اینکه دو کلید Ctrl و C را برای متوقف کردن دستور فشار دادید، ابزار vnSTAT خلاصهای از آمار شبکه را در بازه زمانی که مانیتورینگ زنده در حال اجرا بود، نمایش میدهد.
تغییر فرمت خروجی پیشفرض vnSTAT
دو دستور «vnstat -s» و «vnstat –short» خلاصهای کوتاه از آمار شبکه را نمایش میدهد. این خلاصه اطلاعاتی را در مورد امروز، دیروز و ماه جاری شامل میشود.
$ vnstat -s (--short) rx / tx / total / estimated eth0: Oct '11 3.93 MiB / 2.06 MiB / 6.00 MiB / 13.00 MiB yesterday 2.48 MiB / 1.28 MiB / 3.76 MiB today 1.45 MiB / 801 KiB / 2.23 MiB / --
شما همچنین میتوانید از دستور «vnstat –style 0» استفاده کنید که ستونی باریک از خروجی را نمایش میدهد. بهاینترتیب، نسبت به ستون عریض، خواندن اطلاعات آسانتر میشود.
$ vnstat --style 0
در زیر میتوانید شمارههای مربوط به نوع استایل فرمت خروجی در vnSTAT را مشاهده کنید:
0: خروجی در ستون باریک
1: فعالسازی ستون نواری
2: فعالسازی ستون نواری و نمایش میانگین نرخ ترافیک در خروجی خلاصه
3: نمایش میانگین نرخ ترافیک در تمامی خروجیها
4: وقتی با مود مانیتورینگ زنده (دستور vnstat -l) ترکیب شود، کاراکترهای کنترل ترمینال را غیرفعال میکند.
نمایش 10 روز با بالاترین مصرف ترافیک
برای اینکه 10 روز با بالاترین میزان ترافیک مصرفشده را ببینید میتوانید از دستور «vnstat -t» یا « vnstat –top10» استفاده کنید.
$ vnstat --top10 eth0 / top 10 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- 1 10/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s 2 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s 3 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s .... -----------------------------+-------------+-------------+---------------
جمع بندی
ابزار vnSTAT فرآیند نظارت بر ترافیک شبکه در سیستمهای لینوکس را ساده میکند. vnSTAT با ارائه بینشهای مبتنی بر دادههای بیدرنگ و دورهای، کاربران را قادر میسازد تا عملکرد شبکه خود را بهینه و مشکلات را عیبیابی کنند. کاربران با استفاده از ابزار نظارت بر ترافیک شبکه vnSTAT میتوانند تصمیمات آگاهانهتری بگیرند.
با مطالعه این مقاله، دانش لازم برای نصب vnSTAT، تنظیمات اولیه آن برای اینترفیسهای شبکه گوناگون و تولید گزارشهای مختلف برای نظارت موثر بر استفاده از شبکه خود را دارید.