diff --git a/surveillance/statistiques.py b/surveillance/statistiques.py index ebb42970..8851da39 100755 --- a/surveillance/statistiques.py +++ b/surveillance/statistiques.py @@ -25,6 +25,11 @@ from analyse import stats from affich_tools import tableau from ldap_crans import AssociationCrans +# Liste des IP des serveurs +serveurs_ips = ( + '138.231.136.10', '138.231.136.1', '138.231.136.3', '138.231.136.4', + '138.231.136.7', '138.231.136.8', '138.231.136.9', '138.231.136.11') + ############################### # Ouverture des connections : # ############################### @@ -48,11 +53,24 @@ def gethostname(s): # Liste des uploads : ##################### -requete = "SELECT ip_crans,sum(upload) as somme,sum(download) FROM upload WHERE date > timestamp 'now' - interval '1 day' GROUP BY ip_crans ORDER BY somme DESC" +requete = """SELECT ip_crans, sum(upload) AS somme, sum(download) +FROM upload +WHERE + date > timestamp 'now' - interval '1 day' + AND NOT EXISTS ( + SELECT 1 + FROM exemptes + WHERE + upload.ip_crans <<= exemptes.ip_crans + AND upload.ip_ext <<= exemptes.ip_dest + ) +GROUP BY ip_crans +ORDER BY somme DESC""" curseur.execute(requete) liste_upload = tableau(data = [ (l[1], l[2], gethostname(str(l[0]))) for l in curseur.fetchall() - if int(l[1]) > 100*1024*1024 ], + if int(l[1]) > 100*1024*1024 + and str(l[0]) not in serveurs_ips], titre = ['upload', 'download', 'machine'], largeur = [10, 10, 30], format = ['o', 'o', 's'], @@ -73,15 +91,18 @@ liste_exemptes = tableau(data = [ [l[1], l[2], socket.gethostbyaddr(str(l[0]))[0 # Upload des serveurs : ####################### liste_serveurs = [] -for i in (10,1,3,4,7,8,9,11): - IP='138.231.136.%d' % i - hostname = socket.gethostbyaddr("%s"%IP)[0] - requete = "SELECT sum(upload),sum(download) FROM upload WHERE ip_crans='%s' AND date > timestamp 'now' - interval '1 day' "%IP +for IP in serveurs_ips: + hostname = socket.gethostbyaddr("%s" % IP)[0] + requete = """SELECT sum(upload), sum(download) +FROM upload +WHERE + ip_crans='%s' + AND date > timestamp 'now' - interval '1 day' """ % IP curseur.execute(requete) - traffic=curseur.fetchone() - if traffic == [None, None] : + traffic = curseur.fetchone() + if traffic == [None, None]: continue - liste_serveurs.append([traffic[0],traffic[1],hostname]) + liste_serveurs.append([traffic[0], traffic[1], hostname]) liste_serveurs = tableau(data = liste_serveurs, titre = ['upload','download','serveur'],