| bwm-ng(1) | Bandwidth Monitor NG | bwm-ng(1) |
نام (NAME)
bwm-ng - مانیتور کمحجم و سریع پهنای باند شبکه و ورودی/خروجی دیسک
خلاصه دستور (SYNOPSIS)
bwm-ng [گزینهها] ... [فایل_پیکربندی]
توضیحات (DESCRIPTION)
از bwm-ng میتوان برای پایش پهنای باند فعلی تمام یا برخی از رابطهای شبکه مشخص یا دیسکها (یا پارتیشنها) استفاده کرد. این ابزار مجموع ترافیک ورودی و خروجی و همچنین مجموع کل رابطها/دستگاهها را نمایش میدهد. چندین روش خروجی مختلف پشتیبانی میشوند (curses، curses2، plain، csv و html).
ابزار bwm-ng محدودیتی در تعداد رابطها یا دیسکها ندارد و میتواند موارد جدید را در حین اجرا بهصورت پویا مدیریت کرده یا مواردی را که فعال نیستند پنهان کند.
روشهای ورودی (INPUT METHODS)
روشهای ورودی مورد استفاده تا حد زیادی به سیستمعامل و سیستم شما بستگی دارد. شما میتوانید روش دلخواه خود را در هنگام شروع یا در طول زمان اجرا در حالت curses انتخاب کنید. هر روش تنها در صورتی قابل استفاده است که bwm-ng با پشتیبانی از آن کامپایل شده باشد.
روشهای ورودی شبکه که در حال حاضر پشتیبانی میشوند:
- proc:
- این حالت پیشفرض برای سیستمهای مبتنی بر Linux است. این روش فایل procfs ویژه /proc/net/dev را پردازش میکند. در صورت شک و تردید در Linux باید از این روش استفاده شود.
- getifaddrs:
- این حالت پیشفرض در سیستمهای BSD مانند FreeBSD، NetBSD، OpenBSD و نسخههای اخیر Mac OS X (بزرگتر یا مساوی ۱۰.۳) است. در صورت تردید در این سیستمها باید از این روش استفاده شود. این روش از فراخوان سیستمی getifaddrs استفاده میکند.
- kstat:
- این حالت پیشفرض برای Solaris است. این روش از فراخوان سیستمی kstat استفاده میکند.
- sysctl:
- این حالت پیشفرض در سیستمهایی مانند IRIX و سایر سیستمهای UNIX است. همچنین میتواند در بسیاری از سیستمهای دیگر مانند نسخههای اولیه Mac OS X نیز استفاده شود. این روش از فراخوان سیستمی sysctl استفاده میکند.
- netstat:
- این یک روش پشتیبان برای سیستمهای فاقد موارد بالا یا در صورت بروز سایر مشکلات است.
- libstatgrab:
- ابزار bwm-ng میتواند از کتابخانه خارجی libstatgrab برای جمعآوری دادهها استفاده کند. لطفاً برای اطلاعات بیشتر درباره آن به نشانی http://www.i-scream.org/libstatgrab مراجعه کنید.
روشهای ورودی دیسک که در حال حاضر پشتیبانی میشوند:
- disk:
- ورودی/خروجی دیسک را در سیستمهای لینوکس ۲.۶ به بالا با استفاده از /proc/diskstats نمایش میدهد. بهجای بستهها، تعداد دفعات خواندن/نوشتن نمایش داده خواهد شد.
- kstatdisk:
- مشابه ورودی شبکه kstat است اما برای ورودی/خروجی دیسک. این روش از فراخوان سیستمی kstat در Solaris استفاده میکند.
- sysctl:
- برای NetBSD و OpenBSD نوشته شده است، اما ممکن است روی سایر پلتفرمها نیز کار کند.
- devstat:
- ورودی مبتنی بر کتابخانه devstat. این مورد را میتوانید در سیستمهای مبتنی بر FreeBSD پیدا کنید.
- ioservice:
- ورودی مبتنی بر چارچوب نرمافزاری IOKit. این مورد را میتوانید در سیستمهای Darwin مانند MacOSX پیدا کنید.
- libstatdisk:
- مشابه libstatgrab است اما برای ورودی/خروجی دیسک (http://www.i-scream.org/libstatgrab).
روشهای خروجی (OUTPUT METHODS)
شما میتوانید روشهای مختلفی را برای خروجی دادههای جمعآوریشده توسط bwm-ng انتخاب کنید.
میتوانید از یکی از روشهای زیر استفاده کنید:
- curses:
- این روش خروجی پیشفرض است. معمولاً این گزینه بیشترین کاربرد را برای شما دارد. در حالت curses میتوانید bwm-ng را با چندین کلید کنترل کنید. برای راهنمای برخط کلید 'h' را فشار دهید. برای خروج از این حالت 'q' یا ctrl-c را بزنید.
- curses2:
- نمودارهای میلهای ورودی/خروجی فعلی را با استفاده از خروجی curses نمایش میدهد.
- plain:
- حالت Plain یا ASCII عمدتاً در صورتی که curses در دسترس نباشد به عنوان پشتیبان عمل میکند. شما به هیچ وجه نمیتوانید bwm-ng را در این حالت کنترل کنید. برای خروج کلیدهای ctrl-c را فشار دهید. اما برای دریافت تنها یک بار خروجی با دستور bwm-ng -o plain -c 1 این حالت بهترین گزینه است.
- csv:
- فرمت CSV
برای
استفاده در
اسکریپتها
جهت پردازش
و تجزیه
آسان طراحی
شده است.
نوع rate:
unix timestamp;iface_name;bytes_out/s;bytes_in/s;bytes_total/s;bytes_in;bytes_out;packets_out/s;packets_in/s;packets_total/s;packets_in;packets_out;errors_out/s;errors_in/s;errors_in;errors_out\n
نوع svg، sum، max:
unix timestamp;iface_name;bytes_out;bytes_in;bytes_total;packets_out;packets_in;packets_total;errors_out;errors_in\n
برای صرفنظر کردن از اولین خروجی که فقط شامل مقادیر صفر است، از دستور زیر استفاده کنید:
bwm-ng -o csv -c 0
- html:
- این حالت برای استفاده در وب (WWW) طراحی شده است. این روش از فایل CSS به نام bwm-ng.css در دایرکتوری کاری جاری استفاده میکند. گزینه «--htmlrefresh» فقط بر بازخوانی صفحه توسط مرورگر اثر میگذارد. برای دستیابی به بهترین نتیجه، مقدار یکسانی برای --timeout و --htmlrefresh تعیین کنید.
گزینهها (OPTIONS)
گزینههایی که توسط bwm-ng شناسایی میشوند را میتوان به ۳ گروه مختلف تقسیم کرد. نگارشهای طولانی تنها در صورتی قابل استفاده هستند که bwm-ng با getopt_long کامپایل شده باشد.
ورودی (INPUT)
این گزینهها روش جمعآوری دادهها و همچنین تنظیمات گوناگون مربوط به آنها را تعیین میکنند.
- -i, --input روش
- تعیین میکند که از کدام روش استفاده شود. در صورتی که پشتیبانی از آن کامپایل شده باشد، میتواند یکی از روشهای فوق باشد (بخش روشهای ورودی را ببینید).
- -f, --procfile نام_فایل
- فایلی را که باید در روش ورودی proc پردازش شود انتخاب میکند. این فایل معمولاً /proc/net/dev است.
- --diskstatsfile نام_فایل
- فایلی را که باید در روش ورودی disk پردازش شود انتخاب میکند. این فایل معمولاً /proc/diskstats است.
- --partitionsfile نام_فایل
- فایلی را که باید در روش ورودی disk روی هستههای (Kernel) قدیمیتر پردازش شود انتخاب میکند. این فایل معمولاً /proc/partitions است.
- -n, --netstat مسیر
- فایل باینری اجرایی برای روش ورودی netstat را مشخص میکند. از آنجا که این گزینه ممکن است یک نقص امنیتی ایجاد کند، پشتیبانی از آن بهطور پیشفرض در bwm-ng کامپایل نمیشود.
خروجی (OUTPUT)
این گزینهها شیوه نمایش و خروجی دادهها و تنظیمات مختلف خروجی را انتخاب میکنند.
- -o, --output روش
- انتخاب میکند که از کدام روش برای خروجی استفاده شود. در صورتی که پشتیبانی از آن کامپایل شده باشد، میتواند یکی از روشهای فوق باشد (بخش روشهای خروجی را ببینید).
- -u, --unit مقدار
- انتخاب میکند که کدام واحد نمایش داده شود. میتواند یکی از مقادیر bytes (بایت)، bits (بیت)، packets (بستهها) یا errors (خطاها) باشد.
- -T, --type مقدار
- نوع آماری که باید نمایش داده شود را مشخص میکند. از rate برای نرخ فعلی بر ثانیه، max برای حداکثر مقدار ثبتشده از زمان شروع bwm-ng، sum برای مجموع کل محاسبهشده از زمان شروع bwm-ng یا avg برای میانگین در ۳۰ ثانیه گذشته استفاده کنید.
- -c, --count تعداد
- تعداد دفعات خروجی برای حالتهای Plain و CSV. از '1' برای یک خروجی منفرد استفاده کنید. استفاده از '0' در حالت CSV اولین خروجی را که همواره شامل مقادیر صفر است نادیده میگیرد.
- -C, --csvchar نویسه
- نویسه جداکننده (delimiter) را برای حالت CSV مشخص میکند. مقدار پیشفرض ';' است.
- -F, --outfile نام_فایل
- استفاده از یک فایل خروجی (outfile) را بهجای خروجی استاندارد (stdout) تعیین میکند. این گزینه فقط بر حالتهای CSV و HTML تأثیر میگذارد.
- -R, --htmlrefresh ثانیه
- فیلد Meta refresh را در حالت HTML بر حسب ثانیه تنظیم میکند. این کار باعث بارگیری مجدد صفحه توسط مرورگر در هر n ثانیه میشود. در صورت تنظیم این گزینه، توصیه میشود از --htmlheader نیز استفاده کنید.
- -H, --htmlheader [مقدار]
- در صورت استفاده از این گزینه، bwm-ng هدر صحیح HTML (شامل <html></html>) را به همراه فیلدهای Meta قبل و بعد از دادهها چاپ میکند. این گزینه تنها در حالت HTML کاربرد دارد. مقدار میتواند 0 (خاموش) یا 1 (روشن) باشد؛ در صورتی که مقداری داده نشود، عدد '1' استفاده میشود.
- -N, --ansiout
- غیرفعال کردن کدهای ANSI برای خروجی Plain.
- --longdisknames
- نمایش نامهای واقعی و طولانی دیسکها در سامانه Darwin (ورودی ioservice).
سایر (OTHER)
این گزینهها رفتار عمومی bwm-ng را تعیین میکنند.
- -t, --timeout میلیثانیه
- آمارها را در هر n میلیثانیه جمعآوری کرده و نمایش میدهد (۱ میلیثانیه = ۱/۱۰۰۰ ثانیه). مقدار پیشفرض ۵۰۰ میلیثانیه است.
- -d, --dynamic [مقدار]
- بایتها و بیتها را با واحدهای پویا مانند K، M یا G (کیلو، مگا، گیگا) نمایش میدهد. مقدار میتواند 0 (خاموش) یا 1 (روشن) باشد؛ بدون تعیین مقدار، عدد '1' در نظر گرفته میشود.
- -a, --allif [حالت]
- مشخص میکند که فقط رابطهای فعال و انتخابشده (حالت=0)، تمام رابطهای فعال حتی اگر انتخاب نشده باشند (حالت=1)، یا تمامی رابطها حتی رابطهای غیرفعال (down) و انتخابنشده (حالت=2) نمایش داده شوند. در صورت مشخص نشدن فهرستی از رابطها (--interfaces)، حالتهای حالت=1 و حالت=2 یکسان خواهند بود.
- -I, --interfaces فهرست
- تنها رابطهایی را که در این فهرستِ جداشده با کاما قرار دارند نمایش میدهد (لیست سفید). اگر پیش از فهرست یک '%' قرار گیرد، مفهوم آن معکوس شده و رابطهای درون این فهرست از خروجی پنهان میشوند (لیست سیاه). (مثال: %eth0,tun0).
- -S, --sumhidden [مقدار]
- در صورت استفاده و در صورتی که مقدار اختیاری غیر صفر باشد، رابطهای پنهان و نمایشدادهنشده را نیز در محاسبه مقدار کل منظور میکند.
- -A, --avglength ثانیه
- مدت زمان بازهای را که آمار حالت میانگین (average) در آن جمعآوری میشود تعیین میکند. مقدار پیشفرض ۳۰ ثانیه یا ۲*timeout است.
- -D, --daemon [مقدار]
- در صورت استفاده و در صورتی که مقدار اختیاری غیر صفر باشد، برنامه به پسزمینه رفته و به صورت دیمن (daemon) اجرا میشود. این گزینه فقط بر حالتهای HTML و CSV اثر میگذارد و استفاده از --outfile الزامی است.
- -h, --help
- نمایش راهنمای گزینههای خط فرمان.
- -V, --version
- چاپ اطلاعات نسخه برنامه.
فایل پیکربندی (CONFIGFILE)
رفتار bwm-ng را میتوان با یک فایل پیکربندی نیز کنترل کرد. بهطور پیشفرض، bwm-ng ابتدا فایل /etc/bwm-ng.conf و سپس ~/.bwm-ng.conf را میخواند. در صورت مشخص شدن فایل در خط فرمان، bwm-ng از فایلهای پیشفرض صرفنظر میکند. این فایل شامل همان گزینههای طولانی خط فرمان به عنوان کلید است که به دنبال آنها '=' و مقدار مربوطه قرار میگیرد. خطوطی که با # شروع شوند یا حاوی کلید ناشناخته باشند نادیده گرفته میشوند.
برای مثال:
DYNAMIC=1 UNIT=bits PROCFILE=/proc/net/dev OUTPUT=plain
سایر فایلها (OTHER FILES)
bwm-ng.css فایل CSS مورد استفاده برای خروجی html.
همچنین ببینید (SEE ALSO)
فایل bwm-ng.conf-example
برای
مشاهده
نمونهای
از فایل
پیکربندی،
و فایل README
برای سایر
نکات و
توضیحات
پیرامون bwm-ng.
نشانی http://www.gropp.org
برای نسخه
جدید یا
راهنمایی و
پیوندهای
بیشتر.
نویسندگان (AUTHORS)
Volker Gropp <bwmng@gropp.org>
برنامه bwm-ng را
نوشته است و
نگهدارنده
فعلی آن است.
برای سایر
نویسندگان
لطفاً به
فایل AUTHORS
مراجعه
کنید که
باید همراه
با bwm-ng ارائه
شده باشد.
| 2007-03-01 |