diff --git a/munin/ipset b/munin/ipset new file mode 100755 index 00000000..a9da7510 --- /dev/null +++ b/munin/ipset @@ -0,0 +1,37 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Compteur des règles iptables + +import sys,commands,string + +IPSET = "ipset -L " + +try : + arg = sys.argv[1] +except : + arg = '' + +CHAINS = commands.getoutput('%s | grep -- ^Name: | awk \'{print $2}\'' % IPSET).split('\n') + +if arg == "config" : + print 'graph_title Ipset' + print 'graph_args --base 1000 --lower-limit 0' + print 'graph_category network' + print "graph_vlabel nb de regles" + for chain in CHAINS : + nom = string.lower(chain.replace('_', '').replace('-', '').replace('.','').replace('/', '')) + label = chain.replace('_', '-').replace('.','-').replace('/','-') + print "%s.label %s" % (nom, label) + if CHAINS.index(chain) == 0 : + print "%s.draw AREA" % nom + else : + print "%s.draw STACK" % nom + + +else : + for chain in CHAINS : + nom = string.lower(chain.replace('_', '').replace('-', '').replace('.','').replace('/', '')) + label = chain.replace('_', '-').replace('.','-').replace('/','-') + value = int(commands.getoutput('%s %s | wc -l' % (IPSET, chain))) - 6 + print "%s.value %d" % (nom, value)