[statistiques] comptage experimental d'upload

darcs-hash:20091222013717-61eff-39b43df3e4c7d674bfcf88152ed05cd808502288.gz
This commit is contained in:
Stephane Glondu 2009-12-22 02:37:17 +01:00
parent 6b5c5ac6c4
commit 8334f029f6
2 changed files with 39 additions and 0 deletions

View file

@ -0,0 +1,12 @@
-----------------------------------------------------------------
-- Maintenance de la base netacct-ng sur pgsql, lancé par cron
-----------------------------------------------------------------
-- effacement des vieux enregistrements
DELETE FROM upload where date< timestamp 'now' - interval '2 days';
-- suppression complète des entrées
VACUUM;
-- réindexation des tables
REINDEX TABLE upload;

View file

@ -46,6 +46,10 @@ pgsql = PgSQL.connect(host='/var/run/postgresql',
database='filtrage', user='crans')
curseur = pgsql.cursor()
pgsql2 = PgSQL.connect(host='/var/run/postgresql',
database='netacct-ng', user='crans')
curseur2 = pgsql2.cursor()
###########################
# Statistiques d'upload : #
###########################
@ -78,6 +82,24 @@ liste_upload = tableau(data = [ (l[1], l[2], gethostname(str(l[0])))
alignement = ['d', 'd', 'c']).encode('iso-8859-15')
# Liste des uploads (expérimental) :
####################################
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"""
curseur2.execute(requete)
liste_upload2 = tableau(data = [ (l[1], l[2], gethostname(str(l[0])))
for l in curseur2.fetchall()
if int(l[1]) > 100*1024*1024 ],
titre = ['upload', 'download', 'machine'],
largeur = [10, 10, 30],
format = ['o', 'o', 's'],
alignement = ['d', 'd', 'c']).encode('iso-8859-15')
# Traffic exempté :
###################
requete = """SELECT ip_crans, sum(upload) AS somme, sum(download)
@ -288,6 +310,10 @@ Content-Type: text/plain; charset="iso-8859-15"
%(liste_upload)s
*Statistiques de traffic* (expérimental)
%(liste_upload2)s
*Statistiques de traffic des adhérents exemptés* (juste le traffic exempté)
%(liste_exemptes)s
@ -305,6 +331,7 @@ corps = message % { 'From': expediteur,
'liste_etherunk': liste_etherunk,
'liste_serveurs': liste_serveurs,
'liste_upload': liste_upload,
'liste_upload2': liste_upload2,
'liste_p2p': liste_p2p,
'liste_virus': liste_virus,
'liste_virus2': liste_virus2,