[analyse.py,statistiques.py] L'upload en ipv6 n'est plus dans la même table que pour l'ipv4

This commit is contained in:
Valentin Samir 2013-02-13 15:16:33 +01:00
parent d735b21bb9
commit ee66f742f5
2 changed files with 59 additions and 10 deletions

View file

@ -94,11 +94,18 @@ def stats(ip_crans=[], ip_ext=[],
requete = """ requete = """
SELECT * FROM ( SELECT * FROM (
(
SELECT %(select)s FROM upload WHERE (%(ip_crans)s) AND (%(ip_ext)s) SELECT %(select)s FROM upload WHERE (%(ip_crans)s) AND (%(ip_ext)s)
AND (date > timestamp 'now' - interval '%(begin_time)d hours') AND (date > timestamp 'now' - interval '%(begin_time)d hours')
AND (date < timestamp 'now' - interval '%(end_time)d hours') AND (date < timestamp 'now' - interval '%(end_time)d hours')
GROUP BY %(show)s) GROUP BY %(show)s
AS resultat_intemediaire ) UNION (
SELECT %(select)s FROM upload6 WHERE (%(ip_crans)s) AND (%(ip_ext)s)
AND (date > timestamp 'now' - interval '%(begin_time)d hours')
AND (date < timestamp 'now' - interval '%(end_time)d hours')
GROUP BY %(show)s
)
) AS resultat_intemediaire
WHERE %(sort_by)s >= '%(sort_mini)d' WHERE %(sort_by)s >= '%(sort_mini)d'
ORDER BY %(sort_by)s DESC ORDER BY %(sort_by)s DESC
LIMIT %(show_limit)d;""" % { LIMIT %(show_limit)d;""" % {

View file

@ -57,7 +57,7 @@ curseur = pgsql.cursor()
########################### ###########################
# Liste des uploads : # Liste des uploads :
##################### #####################
requete = """SELECT ip_crans, sum(upload) AS somme, sum(download) requete = """(SELECT ip_crans, sum(upload) AS somme, sum(download)
FROM upload FROM upload
WHERE WHERE
date > timestamp 'now' - interval '1 day' date > timestamp 'now' - interval '1 day'
@ -68,7 +68,25 @@ WHERE
upload.ip_crans <<= exemptes.ip_crans upload.ip_crans <<= exemptes.ip_crans
AND upload.ip_ext <<= exemptes.ip_dest AND upload.ip_ext <<= exemptes.ip_dest
) )
GROUP BY ip_crans GROUP BY ip_crans
)
UNION
(SELECT ip_crans, sum(upload) AS somme, sum(download)
FROM upload6
WHERE
date > timestamp 'now' - interval '1 day'
AND NOT EXISTS (
SELECT 1
FROM exemptes
WHERE
upload6.ip_crans <<= exemptes.ip_crans
AND upload6.ip_ext <<= exemptes.ip_dest
)
GROUP BY ip_crans
)
ORDER BY somme DESC""" ORDER BY somme DESC"""
curseur.execute(requete) curseur.execute(requete)
data_upload = curseur.fetchall() data_upload = curseur.fetchall()
@ -84,7 +102,7 @@ liste_upload = tableau(data = [ (l[1], l[2], ipv4or6(str(l[0])), socket.getfqdn(
# Trafic exempté : # Trafic exempté :
################## ##################
requete = """SELECT ip_crans, sum(upload) AS somme, sum(download) requete = """(SELECT ip_crans, sum(upload) AS somme, sum(download)
FROM upload FROM upload
WHERE WHERE
date > timestamp 'now' - interval '1 day' date > timestamp 'now' - interval '1 day'
@ -96,6 +114,21 @@ WHERE
-- AND upload.ip_ext <<= exemptes.ip_dest -- AND upload.ip_ext <<= exemptes.ip_dest
) )
GROUP BY ip_crans GROUP BY ip_crans
)
UNION
(SELECT ip_crans, sum(upload) AS somme, sum(download)
FROM upload6
WHERE
date > timestamp 'now' - interval '1 day'
AND EXISTS (
SELECT 1
FROM exemptes
WHERE
upload6.ip_crans = exemptes.ip_crans
-- AND upload6.ip_ext <<= exemptes.ip_dest
)
GROUP BY ip_crans
)
ORDER BY somme DESC""" ORDER BY somme DESC"""
curseur.execute(requete) curseur.execute(requete)
liste_exemptes = tableau(data = [[l[1], l[2], ipv4or6(str(l[0])), socket.getfqdn(str(l[0]))] liste_exemptes = tableau(data = [[l[1], l[2], ipv4or6(str(l[0])), socket.getfqdn(str(l[0]))]
@ -140,11 +173,20 @@ gros_uploads_des_serveurs = stats(ip_crans=ips_serveurs,
# IPs envoyant des paquets de protocole Ethernet inconnu : # IPs envoyant des paquets de protocole Ethernet inconnu :
######################################################### #########################################################
requete = """SELECT COUNT(*), ip_ext requete = """(SELECT COUNT(*), ip_ext
FROM upload FROM upload
WHERE WHERE
id=-1 id=-1
GROUP BY ip_ext""" GROUP BY ip_ext)
UNION
(SELECT COUNT(*), ip_ext
FROM upload6
WHERE
id=-1
GROUP BY ip_ext
)"""
curseur.execute(requete) curseur.execute(requete)
liste_etherunk = tableau(data = [[l[0], socket.getfqdn(str(l[1]))] liste_etherunk = tableau(data = [[l[0], socket.getfqdn(str(l[1]))]