#!/bin/sh # # # Parameters: # # config (required) # autoconf (optional - used by munin-config) # suggest (optional - used by munin-config) # #. $MUNIN_LIBDIR/plugins/plugin.sh myname="connexions" name="${name-\<$myname\>}" REGEX="${regex-\<$name\>}" if [ "$1" = "autoconf" ]; then echo yes exit 0 fi if [ "$1" = "suggest" ]; then exit 0 fi if [ "$1" = "config" ]; then echo graph_title Number of $myname echo 'graph_args --base 1000 --vertical-label connexions -l 0' echo 'graph_category network' echo "imap.label Connexions imap" echo "ssh.label Connexions ssh" echo "http.label Connexions web" echo "other.label Connexions diverses" echo "in.label Connexions entrantes" echo "out.label Connexions sortantes" exit 0 fi ip=`ifconfig | perl -ne 'print ${^MATCH} if /10\.231\.136\.\d+/p'` ips=${IP/10/} TMP=`mktemp -t sockets.XXXXXX` trap "rm $TMP* 2>/dev/null" 0 /sbin/ss > $TMP printf "imap.value " grep "$ips:imap" $TMP | wc -l printf "ssh.value " grep "$ips:ssh" $TMP | wc -l printf "http.value " grep "$ips:http" $TMP | wc -l printf "other.value " perl -ne "print if ! /$ips:(imap|ssh|http)/" $TMP | wc -l printf "in.value " perl -ne "print if ! /$ips:\d{5}/" $TMP | wc -l printf "out.value " perl -ne "print if /$ips:\d{5}/" $TMP | wc -l