[statistiques.py] IPv6 serveurs

Ignore-this: 1fd59f23ad4f349c46f2845827fbdaa2
Il reste a corriger le fait que faire une requete par IP de serveur prend 40mn
pour generer les stats correspondantes ...

darcs-hash:20110913130843-ddb99-ec532ae595430006207cb98654752e60b35c77d6.gz
This commit is contained in:
Michel Blockelet 2011-09-13 15:08:43 +02:00
parent e8a29010f5
commit be15be2a60

View file

@ -4,7 +4,7 @@
"""
Script d'envoi des statistiques des déconnections
et du trafic de la journée à disconnect@
Copyright (C) Xavier Pessoles - Étienne Chové - Michel Blockelet
Licence : GPLv2
"""
@ -37,8 +37,13 @@ def ipv4or6(addr):
return "IPv4"
# Liste des IP des serveurs
serveurs_ips = [x.ip() for x in AssociationCrans().machines()
if x.nom() not in [u'sila.crans.org', u'sable.crans.org']]
ips_serveurs = []
ips_proxys = []
for m in AssociationCrans().machines():
if m.nom() in [u'sila.crans.org', u'sable.crans.org']:
ips_proxys.extend([m.ip(), str(m.ipv6())])
else:
ips_serveurs.extend([m.ip(), str(m.ipv6())])
##############################
# Ouverture des connexions : #
@ -69,7 +74,8 @@ ORDER BY somme DESC"""
curseur.execute(requete)
liste_upload = tableau(data = [ (l[1], l[2], ipv4or6(str(l[0])), socket.getfqdn(str(l[0])))
for l in curseur.fetchall()
if int(l[1]) > 100*1024*1024],
if int(l[1]) > 100*1024*1024
and l[0] not in (ips_serveurs + ips_proxys)],
titre = ['upload', 'download', 'proto', 'machine'],
largeur = [10, 10, 10, 40],
format = ['o', 'o', 's', 's'],
@ -98,11 +104,11 @@ liste_exemptes = tableau(data = [[l[1], l[2], socket.getfqdn(str(l[0]))]
format = ['o', 'o', 's'],
alignement = ['d', 'd', 'c']).encode('iso-8859-15')
# FIXME : super lent de faire pour chaque IP de serveur
# Upload des serveurs :
#######################
liste_serveurs = []
for IP in serveurs_ips:
for IP in (ips_serveurs + ips_proxys):
hostname = socket.getfqdn(IP)
requete = """SELECT sum(upload), sum(download)
FROM upload
@ -125,7 +131,8 @@ liste_serveurs = tableau(data = liste_serveurs,
# statistiques des gros uploads depuis les serveurs
###################################################
gros_uploads_des_serveurs = stats(ip_crans=serveurs_ips,
# Liste des IP des serveurs
gros_uploads_des_serveurs = stats(ip_crans=ips_serveurs,
show=['ip_crans', 'ip_ext'], upload_mini=50,
show_limit=100).encode('iso-8859-15')
@ -149,12 +156,6 @@ liste_etherunk = tableau(data = [[l[0], socket.getfqdn(str(l[1]))]
alignement = ['d','c']).encode('iso-8859-15')
# statistiques des gros uploads depuis les serveurs
###################################################
gros_uploads_des_serveurs = stats(ip_crans=serveurs_ips,
show=['ip_crans', 'ip_ext'], upload_mini=50,
show_limit=100).encode('iso-8859-15')
# Machines actuellement déconnectées :
######################################
requete = "SELECT DISTINCT ip_crans FROM avertis_virus"
@ -202,8 +203,8 @@ liste_virus3 = tableau(data = liste_virus3,
titre = ['machine', 'nombre'],
largeur = [30, 12],
alignement = ['c', 'd']).encode('iso-8859-15')
# Machines ayant utilisé des protocoles P2P dans la journée :
#############################################################
requete = """SELECT ip_src, nom, compteur, max(date) FROM
@ -239,8 +240,8 @@ liste_p2p = tableau(data = liste_p2p,
largeur = [32, 14, 10, 8],
alignement = ['c', 'c', 'd', 'd']).encode('iso-8859-15')
#############
# Message : #
#############