diff --git a/wifi/bornes.py b/wifi/bornes.py index 0aef21e3..2a5e396a 100755 --- a/wifi/bornes.py +++ b/wifi/bornes.py @@ -38,7 +38,7 @@ def bornes(): def ssh_exec(host, cmd): """Execute une commande en ssh sur une machine et renvoie le résultat""" - (stdin, stdout, stderr) = os.popen3("ssh -T -x -o BatchMode=yes -o ConnectTimeout=5 -o StrictHostKeyChecking=no %(host)s exec %(cmd)s" % locals()) + (stdin, stdout, stderr) = os.popen3("ssh -T -x -o BatchMode=yes -o ConnectTimeout=5 -o StrictHostKeyChecking=no %(host)s %(cmd)s" % locals()) stdin.close() stderr.close() return stdout @@ -110,7 +110,7 @@ def bornes_uptime(): output.close() return results -def munin(config, cmd=None, process=(lambda x: x), results=None, buckets=None): +def munin(config, cmd=None, process=(lambda x: x), results=None, buckets=None, stack=None): """plugin munin""" if 'autoconf' in sys.argv: @@ -122,11 +122,17 @@ def munin(config, cmd=None, process=(lambda x: x), results=None, buckets=None): if 'config' in sys.argv: print config if buckets: - for val, lbl in buckets.iteritems(): + for i, (val, lbl) in enumerate(buckets.items()): print "%s.label %s" % (lbl, val) + if stack: + if i == 0: print "%s.draw %s" % (lbl, stack) + else: print "%s.draw STACK" % lbl else: - for borne in names: + for i, borne in enumerate(names): print "%s.label %s" % (borne, borne) + if stack: + if i == 0: print "%s.draw %s" % (borne, stack) + else: print "%s.draw STACK" % borne sys.exit(0) if not results: @@ -162,7 +168,7 @@ def main(): names = bornes() outputs = {} for name in names: - outputs[name] = ssh_exec(name+".wifi", options.cmd) + outputs[name] = ssh_exec(name+".wifi", commands.mkarg(options.cmd)) # On attend que tous les fils qu'on a lancé terminent, avec une petite # animation si la sortie est un terminal: @@ -215,12 +221,12 @@ graph_vlabel uptime in days""" config = """graph_title Clients connectés graph_args --base 1000 -l 0 graph_vlabel Clients connectés""" - munin(config, results=bornes_clients()) + munin(config, results=bornes_clients(), stack="AREA") elif plugin == 'canal': config = """graph_title Canaux utilisés graph_args --base 1000 -l 0""" buckets = {'1': 'un', '2': 'deux', '3': 'trois', '4': 'quatre', - '5': 'cinq', '6': 'siz', '7': 'sept', '8': 'huit', + '5': 'cinq', '6': 'six', '7': 'sept', '8': 'huit', '9': 'neuf', '10': 'dix', '11': 'onze', '12': 'douze', '13': 'treize', '14': 'quatorze', '0': 'echec' } munin(config, results=bornes_canal(), buckets= buckets)