#!/bin/sh # # tcp: Plugin to monitor IPV4/6 TCP socket status on a Linux host. # # License: GPLv2 # # Copyright 2009 Tim Small - tim@seoss.co.uk # # Parameters supported: # # config # autoconf # # # Magic markers? #%# family=auto #%# capabilities=autoconf suggest case $1 in config) cat < cat /proc/net/tcp* | awk ' BEGIN { STATE["01"]=STATE["02"]=STATE["03"]=STATE["04"]=STATE["05"]=STATE["06"]=STATE["07"]=STATE["08"]=STATE["09"]=STATE["0A"]=STATE["0B"]=0; } match ($4, /0[0-9A-B]/) { STATE[$4]++; } END { print "established.value " STATE["01"]; print "syn_sent.value " STATE["02"]; print "syn_recv.value " STATE["03"]; print "fin_wait1.value " STATE["04"]; print "fin_wait2.value " STATE["05"]; print "time_wait.value " STATE["06"]; print "close.value " STATE["07"]; print "close_wait.value " STATE["08"]; print "last_ack.value " STATE["09"]; print "listen.value " STATE["0A"]; print "closing.value " STATE["0B"]; }'