root / plugins / network / proc_netstat @ 047358a0
Historique | Voir | Annoter | Télécharger (1,36 ko)
| 1 | c8b5f17e | teddddd | #!/bin/sh |
|---|---|---|---|
| 2 | # -*- sh -*- |
||
| 3 | # |
||
| 4 | # Plugin to monitor network connection activity using a subset of data from /proc/net/netstat |
||
| 5 | # |
||
| 6 | # Parameters: |
||
| 7 | # |
||
| 8 | # config (required) |
||
| 9 | # autoconf (optional - only used by munin-config) |
||
| 10 | # |
||
| 11 | # Environment variables (optional): |
||
| 12 | # |
||
| 13 | # IGNORED_FIELDS: comma-separated list of regexs for fields to ignore |
||
| 14 | # |
||
| 15 | # Author: Ted Dumitrescu (ted@mixpanel.com, webdev@cmme.org) |
||
| 16 | # |
||
| 17 | # Magic markers (optional - used by munin-config and some installation |
||
| 18 | # scripts): |
||
| 19 | #%# family=auto |
||
| 20 | #%# capabilities=autoconf |
||
| 21 | |||
| 22 | |||
| 23 | NETSTATS="/proc/net/netstat" |
||
| 24 | |||
| 25 | if [ -z $IGNORED_FIELDS ]; then |
||
| 26 | IGNORED_FIELDS='TW\.,TCPPrequeued,TCPDirectCopy,TCPHPHits,TCPPureAcks,TCPHPAcks,TCPRcvCoalesce' |
||
| 27 | fi |
||
| 28 | |||
| 29 | TO_REMOVE=`echo $IGNORED_FIELDS | sed 's/,/\\\|/g'` |
||
| 30 | STRIP_OUTPUT="/\($TO_REMOVE\)/d" |
||
| 31 | |||
| 32 | if [ "$1" = "autoconf" ]; then |
||
| 33 | if [ -r $NETSTATS ]; then |
||
| 34 | echo yes |
||
| 35 | exit 0 |
||
| 36 | else |
||
| 37 | echo no |
||
| 38 | exit 1 |
||
| 39 | fi |
||
| 40 | fi |
||
| 41 | |||
| 42 | if [ "$1" = "config" ]; then |
||
| 43 | echo 'graph_title Netstat' |
||
| 44 | echo 'graph_args -l 0 --base 1000' |
||
| 45 | echo 'graph_category network' |
||
| 46 | echo 'graph_period second' |
||
| 47 | echo 'graph_info TcpExt stats' |
||
| 48 | |||
| 49 | awk 'NR < 2 { for (i=2; i<=NF; i++) { printf("%s.label %s\n%s.type DERIVE\n%s.min 0\n", $i, $i, $i, $i); } }' $NETSTATS | sed "$STRIP_OUTPUT"
|
||
| 50 | exit 0 |
||
| 51 | fi |
||
| 52 | |||
| 53 | awk 'NR < 2 { for (i=2; i<=NF; i++) { fn[i]=$i; }; getline; for (i=2; i<=NF; i++) { printf("%s.value %s\n", fn[i], $i); } }' $NETSTATS | sed "$STRIP_OUTPUT" |
