]>
Commit | Line | Data |
---|---|---|
aba5acdf SH |
1 | <!doctype linuxdoc system> |
2 | ||
3 | <article> | |
4 | ||
5 | <title>NSTAT, IFSTAT and RTACCT Utilities | |
6 | <author>Alexey Kuznetosv, <tt/kuznet@ms2.inr.ac.ru/ | |
7 | <date>some_negative_number, 20 Sep 2001 | |
8 | <abstract> | |
9 | <tt/nstat/, <tt/ifstat/ and <tt/rtacct/ are simple tools helping | |
10 | to monitor kernel snmp counters and network interface statistics. | |
11 | </abstract> | |
12 | ||
13 | <p> These utilities are very similar, so that I describe | |
14 | them simultaneously, using name <tt/Xstat/ in the places which apply | |
15 | to all of them. | |
16 | ||
17 | <p>The format of the command is: | |
18 | ||
19 | <tscreen><verb> | |
20 | Xstat [ OPTIONS ] [ PATTERN [ PATTERN ... ] ] | |
21 | </verb></tscreen> | |
22 | ||
23 | <p> | |
24 | <tt/PATTERN/ is shell style pattern, selecting identifier | |
25 | of SNMP variables or interfaces to show. Variable is displayed | |
26 | if one of patterns matches its name. If no patterns are given, | |
27 | <tt/Xstat/ assumes that user wants to see all the variables. | |
28 | ||
29 | <p> <tt/OPTIONS/ is list of single letter options, using common unix | |
30 | conventions. | |
31 | ||
32 | <itemize> | |
33 | <item><tt/-h/ - show help page | |
34 | <item><tt/-?/ - the same, of course | |
35 | <item><tt/-v/, <tt/-V/ - print version of <tt/Xstat/ and exit | |
36 | <item><tt/-z/ - dump zero counters too. By default they are not shown. | |
37 | <item><tt/-a/ - dump absolute values of counters. By default <tt/Xstat/ | |
38 | calculates increments since the previous use. | |
39 | <item><tt/-s/ - do not update history, so that the next time you will | |
40 | see counters including values accumulated to the moment | |
41 | of this measurement too. | |
42 | <item><tt/-n/ - do not display anything, only update history. | |
43 | <item><tt/-r/ - reset history. | |
44 | <item><tt/-d INTERVAL/ - <tt/Xstat/ is run in daemon mode collecting | |
45 | statistics. <tt/INTERVAL/ is interval between measurements | |
46 | in seconds. | |
47 | <item><tt/-t INTERVAL/ - time interval to average rates. Default value | |
48 | is 60 seconds. | |
49 | <item><tt/-e/ - display extended information about errors (<tt/ifstat/ only). | |
50 | </itemize> | |
51 | ||
52 | <p> | |
53 | History is just dump saved in file <tt>/tmp/.Xstat.uUID</tt> | |
54 | or in file given by environment variables <tt/NSTAT_HISTORY/, | |
55 | <tt/IFSTAT_HISTORY/ and <tt/RTACCT_HISTORY/. | |
56 | Each time when you use <tt/Xstat/ values there are updated. | |
57 | If you use patterns, only the values which you _really_ see | |
58 | are updated. If you want to skip an unintersting period, | |
59 | use option <tt/-n/, or just output to <tt>/dev/null</tt>. | |
60 | ||
61 | <p> | |
62 | <tt/Xstat/ understands when history is invalidated by system reboot | |
63 | or source of information switched between different instances | |
64 | of daemonic <tt/Xstat/ and kernel SNMP tables and does not | |
65 | use invalid history. | |
66 | ||
67 | <p> Beware, <tt/Xstat/ will not produce sane output, | |
68 | when many processes use it simultaneously. If several processes | |
69 | under single user need this utility they should use environment | |
70 | variables to put their history in safe places | |
71 | or to use it with options <tt/-a -s/. | |
72 | ||
73 | <p> | |
74 | Well, that's all. The utility is very simple, but nevertheless | |
75 | very handy. | |
76 | ||
77 | <p> <bf/Output of XSTAT/ | |
78 | <p> The first line of output is <tt/#/ followed by identifier | |
79 | of source of information, it may be word <tt/kernel/, when <tt/Xstat/ | |
80 | gets information from kernel or some dotted decimal number followed | |
81 | by parameters, when it obtains information from running <tt/Xstat/ daemon. | |
82 | ||
83 | <p>In the case of <tt/nstat/ the rest of output consists of three columns: | |
84 | SNMP MIB identifier, | |
85 | its value (or increment since previous measurement) and average | |
86 | rate of increase of the counter per second. <tt/ifstat/ outputs | |
87 | interface name followed by pairs of counter and rate of its change. | |
88 | ||
89 | <p> <bf/Daemonic Xstat/ | |
90 | <p> <tt/Xstat/ may be started as daemon by any user. This makes sense | |
91 | to avoid wrapped counters and to obtain reasonable long counters | |
92 | for large time. Also <tt/Xstat/ daemon calculates average rates. | |
93 | For the first goal sampling interval (option <tt/-d/) may be large enough, | |
94 | f.e. for gigabit rates byte counters overflow not more frequently than | |
95 | each 40 seconds and you may select interval of 20 seconds. | |
96 | From the other hand, when <tt/Xstat/ is used for estimating rates | |
97 | interval should be less than averaging period (option <tt/-t/), otherwise | |
98 | estimation loses in quality. | |
99 | ||
100 | Client <tt/Xstat/, before trying to get information from the kernel, | |
101 | contacts daemon started by this user, then it tries system wide | |
102 | daemon, which is supposed to be started by superuser. And only if | |
103 | none of them replied it gets information from kernel. | |
104 | ||
105 | <p> <bf/Environment/ | |
106 | <p> <tt/NSTAT_HISTORY/ - name of history file for <tt/nstat/. | |
107 | <p> <tt/IFSTAT_HISTORY/ - name of history file for <tt/ifstat/. | |
108 | <p> <tt/RTACCT_HISTORY/ - name of history file for <tt/rtacct/. | |
109 | ||
110 | </article> |