File: ifstat.1

package info (click to toggle)
ifstat 1.1-8.1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, stretch
  • size: 364 kB
  • ctags: 261
  • sloc: ansic: 2,364; sh: 341; makefile: 112
file content (246 lines) | stat: -rw-r--r-- 10,519 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "IFSTAT 1"
.TH IFSTAT 1 "2003-11-22" "ifstat 1.1" "System Utilities"
.SH "NAME"
ifstat \- Report InterFace STATistics
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBifstat\fR [\fB\-a\fR] [\fB\-l\fR] [\fB\-z\fR] [\fB\-n\fR] [\fB\-v\fR] [\fB\-h\fR] [\fB\-t\fR] [\fB\-i\fR if0,if1,...] [\fB\-d\fR drv[:opt]] [\fB\-s\fR [comm@][#]host[/nn]] [\fB\-T\fR] [\fB\-A\fR] [\fB\-w\fR] [\fB\-W\fR] [\fB\-S\fR] [\fB\-b\fR] [\fB\-q\fR] [delay[/delay] [count]]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Ifstat is a little tool to report interface activity, just like iostat/vmstat do for other system statistics.
.SH "OPTIONS"
.IX Header "OPTIONS"
\&\fBifstat\fR accepts the following options:
.IP "\fB\-l\fR" 4
.IX Item "-l"
Enables monitoring of loopback interfaces for which statistics are available. By default, ifstat monitors all non-loopback interfaces that are up.
.IP "\fB\-a\fR" 4
.IX Item "-a"
Enables monitoring of all interfaces found for which statistics are available.
.IP "\fB\-z\fR" 4
.IX Item "-z"
Hides interface which counters are null, eg interfaces that are up but not used.
.IP "\fB\-i\fR" 4
.IX Item "-i"
Specifies the list of interfaces to monitor, separated by commas (if an interface name has a comma, it can be escaped with '\e'). Multiple instances of the options are added together.
.IP "\fB\-s\fR" 4
.IX Item "-s"
Equivalent to \fB\-d snmp:[comm@][#]host[/nn]]\fR to poll a remote host through \s-1SNMP\s0. See below for details.
.IP "\fB\-h\fR" 4
.IX Item "-h"
Displays a short help message.
.IP "\fB\-n\fR" 4
.IX Item "-n"
Turns off displaying the header periodically.
.IP "\fB\-t\fR" 4
.IX Item "-t"
Adds a timestamp at the beginning of each line.
.IP "\fB\-T\fR" 4
.IX Item "-T"
Reports total bandwith for all monitored interfaces.
.IP "\fB\-A\fR" 4
.IX Item "-A"
Disables use of interface indexes: by default, when polling mechanism is index based (snmp, ifmib), ifstat remembers indexes of monitored interfaces to poll only them. However, if interfaces indexes change often (new interfaces added, etc), you might loose some stats, hence this flag. Note that if you ask ifstat to monitor a non existent interface, it will poll all interfaces until it finds the requested one (regardless of this flag) so you can poll for an interface that goes up and down.
.IP "\fB\-w\fR" 4
.IX Item "-w"
Uses fixed width columns, instead of enlarging them if needed for interfaces names to fit.
.IP "\fB\-W\fR" 4
.IX Item "-W"
Wrap lines that are larger than the terminal width (implies \-w). Wrapped lines are prefixed with a cycling letter to ease reading.
.IP "\fB\-S\fR" 4
.IX Item "-S"
Keep stats updated on the same line if possible (no scrolling nor wrapping).
.IP "\fB\-b\fR" 4
.IX Item "-b"
Reports bandwith in kbits/sec instead of kbytes/sec.
.IP "\fB\-q\fR" 4
.IX Item "-q"
Quiet mode, warnings are not printed.
.IP "\fB\-v\fR" 4
.IX Item "-v"
Displays version and the compiled-in drivers.
.IP "\fB\-d\fR" 4
.IX Item "-d"
Specifies a driver to use to gather stats and an eventual option for this driver separated of the driver name by a colon. If this is not specified, ifstat uses the first driver compiled in, with no options.
.Sp
The following drivers are available (depending on the operating system and compile-time options, not all of them might be present):
.RS 4
.IP "\fBproc\fR" 4
.IX Item "proc"
This driver gets statistics from Linux's /proc/net/dev file. An alternate file name to get stats from can be passed as the option.
.IP "\fBifmib\fR" 4
.IX Item "ifmib"
This driver gets statistics from FreeBSD's ifmib sysctl. It doesn't accept any options.
.IP "\fBkstat\fR" 4
.IX Item "kstat"
This driver gets statistics from Solaris kstat interface. It doesn't accept any options.
.IP "\fBifdata\fR" 4
.IX Item "ifdata"
This driver gets statistics using \s-1SIOCGIFDATA\s0 ioctl under \s-1IRIX\s0 and OpenBSD (different semantics). It doesn't accept any options.
.IP "\fBroute\fR" 4
.IX Item "route"
This driver gets statistics using routing sysctl on \s-1BSD\s0 based systems. It doesn't accept any options.
.IP "\fBkvm\fR" 4
.IX Item "kvm"
This driver gets statistics by reading the kernel live structures. It accepts an option specifying which files/devices to use in the following format : [execfile][,[corefile][,swapfile]] (see \fIkvm_open\fR\|(3) for details on those fields). If a null string is passed for a parameter, the system default will be used for it.
.Sp
Note that for this driver to work, ifstat needs to have read access to the system memory device. This is usually done by running it as root, or by installing setgid mem or kmem. ifstat will \s-1NOT\s0 install setgid by default; It is up to you to decide if you trust it.
.IP "\fBdlpi\fR" 4
.IX Item "dlpi"
This driver gets statistics using the \s-1DLPI\s0 streams interface available on \s-1HP\-UX\s0. An alternate device to query statistics from can be passed as the option (default is /dev/dlpi).
.IP "\fBwin32\fR" 4
.IX Item "win32"
This driver gets statistics using the GetIfTable interface available on Win32 systems. It doesn't accept any options.
.IP "\fBsnmp\fR" 4
.IX Item "snmp"
This driver gets statistics through \s-1SNMP\s0. The option, in the form [comm@][#]host[/nn]], specifies the host and eventual community to poll. Default community is public, but can be changed by prepending \*(L"comm@\*(R" to the hostname. If host starts by a #, interface names are generated from their index as `ifNN' (this is a workaround for some equipments that give all interfaces the same description). Default host is localhost, and this will be used by default if snmp is the only available driver.
.Sp
The driver will try to poll several interfaces at once by grouping requests in \s-1SNMP\s0 packets. By default interfaces will be polled by group of 8. If this doesn't work well with your equipments, you can lower that number by suffixing the hostname with /nn, where nn is the number of interfaces to poll at once. You can also increase the number if you want to poll a large number of interfaces efficiently and if your server supports it.
.RE
.RS 4
.RE
.IP "\fBdelay\fR" 4
.IX Item "delay"
\&\fBdelay\fR is the delay between updates in seconds, which defaults to 1.
A decimal number can be specified for intervals shorter than a second. (minimum 0.1)
.Sp
A second delay can also be specified (separated from the first one by a '/'). In that case the first delay will be used for the first poll after start and the second one will be used for all following polls (This can be used to have a \*(L"fast\*(R" start when running for a long while with a big delay).
.IP "\fBcount\fR" 4
.IX Item "count"
\&\fBcount\fR is the number of updates before stopping. If not specified, it is unlimited.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIvmstat\fR\|(1), \fIiostat\fR\|(1)
.SH "AUTHOR"
.IX Header "AUTHOR"
Ga\[:e]l Roualland, <gael.roualland@dial.oleane.com>