|
Packit |
d3f73b |
lnstat - linux networking statistics
|
|
Packit |
d3f73b |
(C) 2004 Harald Welte
|
|
Packit |
d3f73b |
======================================================================
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
This tool is a generalized and more feature-complete replacement for the old
|
|
Packit |
d3f73b |
'rtstat' program.
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
In addition to routing cache statistics, it supports any kind of statistics
|
|
Packit |
d3f73b |
the linux kernel exports via a file in /proc/net/stat. In a stock 2.6.9
|
|
Packit |
d3f73b |
kernel, this is
|
|
Packit |
d3f73b |
per-protocol neighbour cache statistics
|
|
Packit |
d3f73b |
(ipv4, ipv6, atm)
|
|
Packit |
d3f73b |
routing cache statistics
|
|
Packit |
d3f73b |
(ipv4)
|
|
Packit |
d3f73b |
connection tracking statistics
|
|
Packit |
d3f73b |
(ipv4)
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
Please note that lnstat will adopt to any additional statistics that might be
|
|
Packit |
d3f73b |
added to the kernel at some later point
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
I personally always like examples more than any reference documentation, so I
|
|
Packit |
d3f73b |
list the following examples. If somebody wants to do a manpage, feel free
|
|
Packit |
d3f73b |
to send me a patch :)
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
EXAMPLES:
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
In order to get a list of supported statistics files, you can run
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -d
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
It will display something like
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
/proc/net/stat/arp_cache:
|
|
Packit |
d3f73b |
1: entries
|
|
Packit |
d3f73b |
2: allocs
|
|
Packit |
d3f73b |
3: destroys
|
|
Packit |
d3f73b |
[...]
|
|
Packit |
d3f73b |
/proc/net/stat/rt_cache:
|
|
Packit |
d3f73b |
1: entries
|
|
Packit |
d3f73b |
2: in_hit
|
|
Packit |
d3f73b |
3: in_slow_tot
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can now select the files/keys you are interested by something like
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -k arp_cache:entries,rt_cache:in_hit,arp_cache:destroys
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
arp_cach|rt_cache|arp_cach|
|
|
Packit |
d3f73b |
entries| in_hit|destroys|
|
|
Packit |
d3f73b |
6| 6| 0|
|
|
Packit |
d3f73b |
6| 0| 0|
|
|
Packit |
d3f73b |
6| 2| 0|
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify the interval (e.g. 10 seconds) by:
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -i 10
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify to only use one particular statistics file:
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -f ip_conntrack
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify individual field widths
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -k arp_cache:entries,rt_cache:entries -w 20,8
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify not to print a header at all
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -s 0
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify to print a header only at start of the program
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -s 1
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify to print a header at start and every 20 lines:
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -s 20
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
You can specify the number of samples you want to take (e.g. 5):
|
|
Packit |
d3f73b |
|
|
Packit |
d3f73b |
lnstat -c 5
|