(06-09-2010 05:43 AM)macbishop Wrote: Ahora cuenta correctamente smtp, no sé porque estaba esa linea en blanco
Apuntao al libro de los misteriosos casos en administración de sistemas. Ni idea de por qué pudo pasarte esto jeje
(06-09-2010 05:43 AM)macbishop Wrote: Sin embargo sigo teniendo problemas con POP e IMAP y un saco de dudas.
Genera imap.log (vacío) y pop3.log (vacío).
Bueno, esa parte la verdad es que no la toqué que yo recuerde. Parece que los "greps" no estan bien hechos.
(06-09-2010 05:43 AM)macbishop Wrote: Por otro lado este es el contenido que genera logdb:
Code:
dominio1-traf.log 512 1269
dominio2-traf.log 4 773
mail.log 20940 Jun 8 19:53:34 hostname dovecot: pop3-login: Login: user=<usuario@dominio.tld>, method=PLAIN, rip=ip_cliente, lip=ip_server
dominio3-traf.log 144 1421
Porque imprime la primera linea del mail.log ???, es normal ?
Totalmente normal. La primera línea del fichero se usa para detectar cuando este ha sido rotado (si la primera linea es distinta -> el fichero ha sido rotado).
(06-09-2010 05:43 AM)macbishop Wrote: Estas son 2 lineas del mail.log referentes a pop e imap:
Code:
Jun 8 19:53:35 hostname dovecot: POP3(usuario@dominio.tld): Disconnected: Logged out top=0/0, retr=0/0, del=0/5, size=6624
Jun 8 21:21:24 hostname dovecot: IMAP(usuario@dominio.tld: Disconnected: Logged out
En la linea de IMAP no hay ninguna referencia para el conteo.
De donde saca el tráfico en las lineas de IMAP ?
Y en las de POP ?
Muchas gracias por tu ayuda.
A ver, por partes.
IMAP: Como bien apuntas, dovecot (1.0, que viene con lenny) no soporta el logueo de los bytes enviados/recibidos. Por tanto, el panel no puede contar este trafico. No hay nada que pueda hacer al respecto. Aún así, sospecho que con dovecot > 1.0 (que sí puede grabar los bytes) tampoco funcionaría. Necesitaría un archivo de log de ejemplo para poder adaptar el script.
POP3: Esta es la parte de código que debería encargarse de parsear los mensajes courier-POP3:
Code:
619 $rs = sys_command("$cat $rlog|$grep 'POP3'| $grep 'Disconnected: Logged out' |"
620 ."$awk '/POP3/ {split(\$10,array,\"\/\"); print \"user=\"substr(\$6,6,length(\$6)-7) "
621 ."\", top=\"substr(array[2],0,length(array[2])) \", "
622 ."retr=\"substr(\$11,index(\$11,\"/\")+1,length(\$11)-1) ;}'"
623 ." 1>>$pop3_log");
Este código no es mio, y la verdad es que tampoco me siento muy capaz de entenderlo ahora mismo xD Supongo que el objetivo es transformar algo como
Code:
Jun 8 19:53:35 hostname dovecot: POP3(usuario@dominio.tld): Disconnected: Logged out top=0/0, retr=0/0, del=0/5, size=6624
en:
Code:
user=usuario@dominio.tld, top=0, retr=0
Por tanto, yo probaría a cambiar el código de arriba por:
Code:
$rs = sys_command("$cat $rlog | grep 'POP3' | grep 'Disconnected: Logged out' |"
. "sed s/[()=/,]/ /g |"
. "$awk '{print \"user=\" \$7 \", top=\" \$14 \", retr=\" \$17}'"
. " 1>>$pop3_log");
Eso sí, no lo he probado así que lo más probable es que pete como una escopeta de feria. Dime qué tal...