1 bwm-ng v0.6
2 Copyright (C) 2004-2007 Volker Gropp (bwmng (a] gropp.org)
3 http://www.gropp.org/?id=projects&sub=bwm-ng
4
5 What is this?
6 =============
7
8 Bandwidth Monitor NG is a small and simple console-based live network and disk
9 io bandwidth monitor for Linux, BSD, Solaris, Mac OS X and others.
10
11 Short list of features:
12 - supports /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats
13 /proc/partitions, IOKit, devstat and libstatgrab
14 - unlimited number of interfaces/devices supported
15 - interfaces/devices are added or removed dynamically from list
16 - white-/blacklist of interfaces/devices
17 - output of KB/s, Kb/s, packets, errors, average, max and total sum
18 - output in curses, plain console, CSV or HTML
19 - configfile
20
21 This was influenced by the old bwm util written by written by Barney
22 (barney (a] freewill.tzo.com) which had some issues with faster interfaces and
23 was very simple. Since i had almost all code done anyway for other projects,
24 i decided to create my own version.
25
26 I actually dont know if netstat input is usefull at all. I saw this elsewhere,
27 so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or
28 Free/Open/NetBSD. If there are other formats i would be happy to add them.
29
30 For info about libstatgrab please refer to http://www.i-scream.org/libstatgrab/
31
32
33 Supported Platforms
34 ===================
35
36 network routines sucessfully tested on:
37 Linux 2.4*, Linux 2.6*
38 FreeBSD 4.8, 5.3, 6.2*
39 MacOS X 10.1 and above*
40 Solaris 10 x86*
41 SunOS 5.9 sparc Solaris 9
42 OpenBSD 3.4, 3.6, 4.0*
43 NetBSD 1.6.1, 2.0, 3.0*
44 IRIX64 6.5
45 Win2000, WinXP, Windows Vista
46
47 *disk monitoring working aswell
48
49 please email me of working or not working platforms. Disk IO might work only on a limited
50 number of platforms.
51
52
53 INSTALL
54 =======
55
56 For detailed decription please read INSTALL
57 ./configure --help for a list of options
58
59 ./configure
60 make
61
62 to install use as root:
63 make install
64
65 WIN32
66 =====
67
68 To compile the Windows version in Linux (debian):
69 ./configure --with-win32 --without-procnetdev --without-diskstats --without-curses --without-netstatlinux --build i686-pc-linux-gnu --host i586-mingw32msvc
70 make
71
72 get ansi.sys for better output: http://en.wikipedia.org/wiki/ANSI.SYS
73
74 Specs
75 =====
76
77 csv output format:
78 Type rate:
79 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
80 Type svg, sum, max:
81 unix timestamp;iface_name;bytes_out;bytes_in;bytes_total;packets_out;packets_in;packets_total;errors_out;errors_in\n
82 Use --count 0 to skip the all zero output after start.
83
84 html output format:
85 edit the bwm-ng.css to modify the output. Please note the htmlrefresh only
86 modifies the META refresh, you maybe wanna sync --timeout and --htmlrefresh
87
88
89 USAGE
90 =====
91
92 USAGE: bwm-ng [OPTION] ... [CONFIGFILE]
93 Please read the manpage or `bwm-ng -h` for a list and explanation of options.
94
95
96 Keybindings (curses only):
97 'h' show help
98 'q' exit
99 '+' increases timeout by 100ms
100 '-' decreases timeout by 100ms
101 'k','d' switch KB and auto assign Byte/KB/MB/GB
102 'a' cycle: show all interfaces, only those which are up,
103 only up and not hidden
104 's' sum hidden ifaces to total aswell or not
105 'n' cycle: input methods
106 'u' cycle: bytes,bits,packets,errors
107 't' cycle: current rate, max, sum since start, average for last 30 sec
108
109
110 Configfile
111 ==========
112
113 either via cmdline or /etc/bwm-ng.conf or ~/.bwm-ng.conf
114 it consists of:
115 longoption=value
116 with 1 or 0 as values for keys without a value in cmdline options.
117
118 For more help take a look at bwm-ng.conf-example
119
120
121 Misc
122 ====
123
124 Bugs/Known Problems:
125 - curses output coredumps on netbsd 1.6.1 (maybe others) with unknown TERM
126 set and configfile support compiled in
127 - no other yet, wow ;) (please report if you found one)
128
129 Todo:
130 - Docs
131 - checking options to be valid
132 - mysql output (ipac-ng compatible)
133 - setting which stats to output for csv/sql
134 - distributed gathering of stats (client/server)
135 - whatever you can think of
136
137
138 ******************************************************************************
139 * This program is free software; you can redistribute it and/or modify *
140 * it under the terms of the GNU General Public License as published by *
141 * the Free Software Foundation; either version 2 of the License, or *
142 * (at your option) any later version. *
143 * *
144 * This program is distributed in the hope that it will be useful, *
145 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
146 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
147 * GNU General Public License for more details. *
148 * *
149 * You should have received a copy of the GNU General Public License *
150 * along with this program; if not, write to the Free Software *
151 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
152 ******************************************************************************
153