#!/usr/bin/env python # -*- coding: iso-8859-15 -*- # Plugin pour visualiser l'utilisation des plages ip import sys sys.path.append('/usr/scripts/gestion') from ldap_crans import crans_ldap from config import NETs from iptools import AddrInNet ips = [ x.ip() for x in crans_ldap().search('ip=*')['machine'] ] try : arg = sys.argv[1] except : arg = '' if arg == "config" : print 'host_name adresses-ip' print 'graph_title Statistiques adresses IP' print 'graph_args --base 1000 --lower-limit 0' print 'graph_category network' print "graph_vlabel % d'utilisation" for subnet in NETs.keys(): nom = subnet.replace('-', '') print "%s.label %s" % (nom, subnet) print "%s.warning 92" % nom print "%s.critical 98" % nom else : for subnet in NETs : total = 0 for net in NETs[subnet]: total += 2 ** ( 32 - int( net.split('/')[1] ) ) utilisees = len( [ ip for ip in ips if AddrInNet( ip, NETs[subnet] ) ] ) pourcentage = int((utilisees*100)/total) nom = subnet.replace('-', '') print "%s.value %d" % (nom, pourcentage)