.TH bwm-ng 1 "2007-03-01" "" "Bandwidth Monitor NG" .\" .\" Man page written by Volker Gropp (Feb 2005) .\" It was inspired by the iptables manpage .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .\" .SH "نام (NAME)" bwm-ng \- مانیتور کم‌حجم و سریع پهنای باند شبکه و ورودی/خروجی دیسک .SH "خلاصه دستور (SYNOPSIS)" .B bwm-ng [\fIگزینه‌ها\fR] ... [\fIفایل_پیکربندی\fR] .SH "توضیحات (DESCRIPTION)" از .B bwm-ng می‌توان برای پایش پهنای باند فعلی تمام یا برخی از رابط‌های شبکه مشخص یا دیسک‌ها (یا پارتیشن‌ها) استفاده کرد. این ابزار مجموع ترافیک ورودی و خروجی و همچنین مجموع کل رابط‌ها/دستگاه‌ها را نمایش می‌دهد. چندین روش خروجی مختلف پشتیبانی می‌شوند (curses، curses2، plain، csv و html). .PP ابزار \fBbwm-ng\fR محدودیتی در تعداد رابط‌ها یا دیسک‌ها ندارد و می‌تواند موارد جدید را در حین اجرا به‌صورت پویا مدیریت کرده یا مواردی را که فعال نیستند پنهان کند. .SH "روش‌های ورودی (INPUT METHODS)" روش‌های ورودی مورد استفاده تا حد زیادی به سیستم‌عامل و سیستم شما بستگی دارد. شما می‌توانید روش دلخواه خود را در هنگام شروع یا در طول زمان اجرا در حالت curses انتخاب کنید. هر روش تنها در صورتی قابل استفاده است که .B bwm-ng با پشتیبانی از آن کامپایل شده باشد. .PP \fBروش‌های ورودی شبکه\fR که در حال حاضر پشتیبانی می‌شوند: .RS .TP .4i .BR "proc" : این حالت پیش‌فرض برای سیستم‌های مبتنی بر \fILinux\fR است. این روش فایل procfs ویژه \fB/proc/net/dev\fR را پردازش می‌کند. در صورت شک و تردید در \fILinux\fR باید از این روش استفاده شود. .TP .BR "getifaddrs" : این حالت پیش‌فرض در سیستم‌های \fIBSD\fR مانند \fIFreeBSD\fR، \fINetBSD\fR، \fIOpenBSD\fR و نسخه‌های اخیر \fIMac OS X\fR (بزرگتر یا مساوی ۱۰.۳) است. در صورت تردید در این سیستم‌ها باید از این روش استفاده شود. این روش از فراخوان سیستمی getifaddrs استفاده می‌کند. .TP .BR "kstat" : این حالت پیش‌فرض برای \fISolaris\fR است. این روش از فراخوان سیستمی kstat استفاده می‌کند. .TP .BR "sysctl" : این حالت پیش‌فرض در سیستم‌هایی مانند \fIIRIX\fR و سایر سیستم‌های \fIUNIX\fR است. همچنین می‌تواند در بسیاری از سیستم‌های دیگر مانند نسخه‌های اولیه \fIMac OS X\fR نیز استفاده شود. این روش از فراخوان سیستمی sysctl استفاده می‌کند. .TP .BR "netstat" : این یک روش پشتیبان برای سیستم‌های فاقد موارد بالا یا در صورت بروز سایر مشکلات است. .TP .BR "libstatgrab" : ابزار .B bwm-ng می‌تواند از کتابخانه خارجی libstatgrab برای جمع‌آوری داده‌ها استفاده کند. لطفاً برای اطلاعات بیشتر درباره آن به نشانی \fIhttp://www.i-scream.org/libstatgrab\fR مراجعه کنید. .RE .PP \fBروش‌های ورودی دیسک\fR که در حال حاضر پشتیبانی می‌شوند: .RS .TP .4i .BR "disk" : ورودی/خروجی دیسک را در سیستم‌های لینوکس ۲.۶ به بالا با استفاده از /proc/diskstats نمایش می‌دهد. به‌جای بسته‌ها، تعداد دفعات خواندن/نوشتن نمایش داده خواهد شد. .TP .BR "kstatdisk" : مشابه ورودی شبکه .B kstat است اما برای ورودی/خروجی دیسک. این روش از فراخوان سیستمی kstat در Solaris استفاده می‌کند. .TP .BR "sysctl" : برای \fINetBSD\fR و \fIOpenBSD\fR نوشته شده است، اما ممکن است روی سایر پلتفرم‌ها نیز کار کند. .TP .BR "devstat" : ورودی مبتنی بر کتابخانه devstat. این مورد را می‌توانید در سیستم‌های مبتنی بر FreeBSD پیدا کنید. .TP .BR "ioservice" : ورودی مبتنی بر چارچوب نرم‌افزاری IOKit. این مورد را می‌توانید در سیستم‌های Darwin مانند MacOSX پیدا کنید. .TP .BR "libstatdisk" : مشابه .B libstatgrab است اما برای ورودی/خروجی دیسک (\fIhttp://www.i-scream.org/libstatgrab\fR). .RE .SH "روش‌های خروجی (OUTPUT METHODS)" شما می‌توانید روش‌های مختلفی را برای خروجی داده‌های جمع‌آوری‌شده توسط \fBbwm-ng\fR انتخاب کنید. .PP می‌توانید از یکی از روش‌های زیر استفاده کنید: .RS .TP .4i .BR "curses" : این روش خروجی پیش‌فرض است. معمولاً این گزینه بیشترین کاربرد را برای شما دارد. در حالت \fIcurses\fR می‌توانید \fBbwm-ng\fR را با چندین کلید کنترل کنید. برای راهنمای برخط کلید 'h' را فشار دهید. برای خروج از این حالت 'q' یا ctrl-c را بزنید. .TP .BR "curses2" : نمودارهای میله‌ای ورودی/خروجی فعلی را با استفاده از خروجی curses نمایش می‌دهد. .TP .BR "plain" : حالت \fIPlain\fR یا \fIASCII\fR عمدتاً در صورتی که curses در دسترس نباشد به عنوان پشتیبان عمل می‌کند. شما به هیچ وجه نمی‌توانید \fBbwm-ng\fR را در این حالت کنترل کنید. برای خروج کلیدهای ctrl-c را فشار دهید. اما برای دریافت تنها یک بار خروجی با دستور \fBbwm-ng -o plain -c 1\fR این حالت بهترین گزینه است. .TP .BR "csv" : فرمت \fICSV\fR برای استفاده در اسکریپت‌ها جهت پردازش و تجزیه آسان طراحی شده است. .sp .BR "نوع rate" : .br .nf 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\en .fi .sp .BR "نوع svg، sum، max" : .br .nf unix timestamp;iface_name;bytes_out;bytes_in;bytes_total;packets_out;packets_in;packets_total;errors_out;errors_in\en .fi .sp برای صرف‌نظر کردن از اولین خروجی که فقط شامل مقادیر صفر است، از دستور زیر استفاده کنید: .nf bwm-ng -o csv -c 0 .fi .TP .BR "html" : این حالت برای استفاده در وب (WWW) طراحی شده است. این روش از فایل CSS به نام bwm-ng.css در دایرکتوری کاری جاری استفاده می‌کند. گزینه «\-\-htmlrefresh» فقط بر بازخوانی صفحه توسط مرورگر اثر می‌گذارد. برای دستیابی به بهترین نتیجه، مقدار یکسانی برای \-\-timeout و \-\-htmlrefresh تعیین کنید. .RE .SH "گزینه‌ها (OPTIONS)" گزینه‌هایی که توسط .B bwm-ng شناسایی می‌شوند را می‌توان به ۳ گروه مختلف تقسیم کرد. نگارش‌های طولانی تنها در صورتی قابل استفاده هستند که bwm-ng با getopt_long کامپایل شده باشد. .SS "ورودی (INPUT)" این گزینه‌ها روش جمع‌آوری داده‌ها و همچنین تنظیمات گوناگون مربوط به آن‌ها را تعیین می‌کنند. .TP .BI "\-i, \-\-input " "روش" تعیین می‌کند که از کدام روش استفاده شود. در صورتی که پشتیبانی از آن کامپایل شده باشد، می‌تواند یکی از روش‌های فوق باشد (بخش \fBروش‌های ورودی\fR را ببینید). .TP .BI "\-f, \-\-procfile " "نام_فایل" فایلی را که باید در \fBروش ورودی proc\fR پردازش شود انتخاب می‌کند. این فایل معمولاً \fI/proc/net/dev\fR است. .TP .BI " \-\-diskstatsfile " "نام_فایل" فایلی را که باید در \fBروش ورودی disk\fR پردازش شود انتخاب می‌کند. این فایل معمولاً \fI/proc/diskstats\fR است. .TP .BI " \-\-partitionsfile " "نام_فایل" فایلی را که باید در \fBروش ورودی disk\fR روی هسته‌های (Kernel) قدیمی‌تر پردازش شود انتخاب می‌کند. این فایل معمولاً \fI/proc/partitions\fR است. .TP .BI "\-n, \-\-netstat " "مسیر" فایل باینری اجرایی برای \fBروش ورودی netstat\fR را مشخص می‌کند. از آنجا که این گزینه ممکن است یک نقص امنیتی ایجاد کند، پشتیبانی از آن به‌طور پیش‌فرض در .B bwm-ng کامپایل \fIنمی‌شود\fR. .SS "خروجی (OUTPUT)" این گزینه‌ها شیوه نمایش و خروجی داده‌ها و تنظیمات مختلف خروجی را انتخاب می‌کنند. .TP .BI "\-o, \-\-output " "روش" انتخاب می‌کند که از کدام روش برای خروجی استفاده شود. در صورتی که پشتیبانی از آن کامپایل شده باشد، می‌تواند یکی از روش‌های فوق باشد (بخش \fBروش‌های خروجی\fR را ببینید). .TP .BI "\-u, \-\-unit " "مقدار" انتخاب می‌کند که کدام واحد نمایش داده شود. می‌تواند یکی از مقادیر \fIbytes\fR (بایت)، \fIbits\fR (بیت)، \fIpackets\fR (بسته‌ها) یا \fIerrors\fR (خطاها) باشد. .TP .BI "\-T, \-\-type " "مقدار" نوع آماری که باید نمایش داده شود را مشخص می‌کند. از \fIrate\fR برای نرخ فعلی بر ثانیه، \fImax\fR برای حداکثر مقدار ثبت‌شده از زمان شروع \fBbwm-ng\fR، \fIsum\fR برای مجموع کل محاسبه‌شده از زمان شروع \fBbwm-ng\fR یا \fIavg\fR برای میانگین در ۳۰ ثانیه گذشته استفاده کنید. .TP .BI "\-c, \-\-count " "تعداد" تعداد دفعات خروجی برای حالت‌های \fIPlain\fR و \fICSV\fR. از '1' برای یک خروجی منفرد استفاده کنید. استفاده از '0' در حالت \fICSV\fR اولین خروجی را که همواره شامل مقادیر صفر است نادیده می‌گیرد. .TP .BI "\-C, \-\-csvchar " "نویسه" نویسه جداکننده (delimiter) را برای حالت \fICSV\fR مشخص می‌کند. مقدار پیش‌فرض ';' است. .TP .BI "\-F, \-\-outfile " "نام_فایل" استفاده از یک فایل خروجی (\fIoutfile\fR) را به‌جای خروجی استاندارد (\fIstdout\fR) تعیین می‌کند. این گزینه فقط بر حالت‌های \fICSV\fR و \fIHTML\fR تأثیر می‌گذارد. .TP .BI "\-R, \-\-htmlrefresh " "ثانیه" فیلد Meta refresh را در حالت \fIHTML\fR بر حسب ثانیه تنظیم می‌کند. این کار باعث بارگیری مجدد صفحه توسط مرورگر در هر \fIn\fR ثانیه می‌شود. در صورت تنظیم این گزینه، توصیه می‌شود از \fI\-\-htmlheader\fR نیز استفاده کنید. .TP .BI "\-H, \-\-htmlheader " "[مقدار]" در صورت استفاده از این گزینه، \fBbwm-ng\fR هدر صحیح \fIHTML\fR (شامل ) را به همراه فیلدهای Meta قبل و بعد از داده‌ها چاپ می‌کند. این گزینه تنها در حالت \fIHTML\fR کاربرد دارد. \fIمقدار\fR می‌تواند 0 (خاموش) یا 1 (روشن) باشد؛ در صورتی که مقداری داده نشود، عدد '1' استفاده می‌شود. .TP .BI "\-N, \-\-ansiout" غیرفعال کردن کدهای ANSI برای خروجی Plain. .TP .BI " \-\-longdisknames" نمایش نام‌های واقعی و طولانی دیسک‌ها در سامانه Darwin (ورودی ioservice). .SS "سایر (OTHER)" این گزینه‌ها رفتار عمومی \fBbwm-ng\fR را تعیین می‌کنند. .TP .BI "\-t, \-\-timeout " "میلی‌ثانیه" آمارها را در هر \fIn\fR میلی‌ثانیه جمع‌آوری کرده و نمایش می‌دهد (۱ میلی‌ثانیه = ۱/۱۰۰۰ ثانیه). مقدار پیش‌فرض ۵۰۰ میلی‌ثانیه است. .TP .BI "\-d, \-\-dynamic " "[مقدار]" بایت‌ها و بیت‌ها را با واحدهای پویا مانند K، M یا G (کیلو، مگا، گیگا) نمایش می‌دهد. \fIمقدار\fR می‌تواند 0 (خاموش) یا 1 (روشن) باشد؛ بدون تعیین مقدار، عدد '1' در نظر گرفته می‌شود. .TP .BI "\-a, \-\-allif " "[حالت]" مشخص می‌کند که فقط رابط‌های فعال و انتخاب‌شده (\fIحالت\fR=0)، تمام رابط‌های فعال حتی اگر انتخاب نشده باشند (\fIحالت\fR=1)، یا تمامی رابط‌ها حتی رابط‌های غیرفعال (down) و انتخاب‌نشده (\fIحالت\fR=2) نمایش داده شوند. در صورت مشخص نشدن فهرستی از رابط‌ها (\fI\-\-interfaces\fR)، حالت‌های \fIحالت\fR=1 و \fIحالت\fR=2 یکسان خواهند بود. .TP .BI "\-I, \-\-interfaces " "فهرست" تنها رابط‌هایی را که در این فهرستِ جداشده با کاما قرار دارند نمایش می‌دهد (\fBلیست سفید\fR). اگر پیش از فهرست یک '%' قرار گیرد، مفهوم آن معکوس شده و رابط‌های درون این فهرست از خروجی پنهان می‌شوند (\fBلیست سیاه\fR). (مثال: %eth0,tun0). .TP .BI "\-S, \-\-sumhidden " "[مقدار]" در صورت استفاده و در صورتی که مقدار اختیاری غیر صفر باشد، رابط‌های پنهان و نمایش‌داده‌نشده را نیز در محاسبه مقدار کل منظور می‌کند. .TP .BI "\-A, \-\-avglength " "ثانیه" مدت زمان بازه‌ای را که آمار حالت میانگین (average) در آن جمع‌آوری می‌شود تعیین می‌کند. مقدار پیش‌فرض ۳۰ ثانیه یا ۲*\fItimeout\fR است. .TP .BI "\-D, \-\-daemon " "[مقدار]" در صورت استفاده و در صورتی که مقدار اختیاری غیر صفر باشد، برنامه به پس‌زمینه رفته و به صورت دیمن (daemon) اجرا می‌شود. این گزینه فقط بر حالت‌های \fIHTML\fR و \fICSV\fR اثر می‌گذارد و استفاده از \fI\-\-outfile\fR الزامی است. .TP .BI "\-h, \-\-help" نمایش راهنمای گزینه‌های خط فرمان. .TP .BI "\-V, \-\-version" چاپ اطلاعات نسخه برنامه. .SH "فایل پیکربندی (CONFIGFILE)" رفتار \fBbwm-ng\fR را می‌توان با یک \fIفایل پیکربندی\fR نیز کنترل کرد. به‌طور پیش‌فرض، \fBbwm-ng\fR ابتدا فایل ‎/etc/bwm-ng.conf‎ و سپس ‎~/.bwm-ng.conf‎ را می‌خواند. در صورت مشخص شدن فایل در خط فرمان، \fBbwm-ng\fR از فایل‌های پیش‌فرض صرف‌نظر می‌کند. این فایل شامل همان گزینه‌های طولانی خط فرمان به عنوان کلید است که به دنبال آن‌ها '=' و مقدار مربوطه قرار می‌گیرد. خطوطی که با # شروع شوند یا حاوی کلید ناشناخته باشند نادیده گرفته می‌شوند. .PP برای مثال: .nf DYNAMIC=1 UNIT=bits PROCFILE=/proc/net/dev OUTPUT=plain .fi .SH "سایر فایل‌ها (OTHER FILES)" .BR "bwm-ng.css" فایل CSS مورد استفاده برای خروجی html. .SH "همچنین ببینید (SEE ALSO)" فایل bwm-ng.conf-example برای مشاهده نمونه‌ای از فایل پیکربندی، و فایل README برای سایر نکات و توضیحات پیرامون bwm-ng. .br نشانی \fIhttp://www.gropp.org\fR برای نسخه جدید یا راهنمایی و پیوندهای بیشتر. .SH "نویسندگان (AUTHORS)" Volker Gropp برنامه bwm-ng را نوشته است و نگهدارنده فعلی آن است. .br برای سایر نویسندگان لطفاً به فایل AUTHORS مراجعه کنید که باید همراه با \fBbwm-ng\fR ارائه شده باشد.