Current time: 11-27-2024, 08:48 PM Hello There, Guest! (LoginRegister)


Post Reply 
[SOLUCIONADO] Dovecot, problema con el tráfico
Author Message
macbishop Offline
Junior Member
*

Posts: 68
Joined: Feb 2007
Reputation: 7
Post: #1
[SOLUCIONADO] Dovecot, problema con el tráfico
Hola a todos.

Acabo de instalar en un sistema Debian Lenny (limpio) la versión estable 1.05 y Dovecot con Quota y todo funciona bien, envía y recibe correctamente y actualiza el maildirsize...Smile

... pero no me cuenta el tráfico (ni smtp, ni pop, ni imap) a nivel dominio.Sad

Esta es la salida referente al mail de ispcp-vrl-traff.log:
Code:
DEBUG: push_el() sub_name: gen_log_file(), msg: Starting for logfile /var/log/mail.log
DEBUG: push_el() sub_name: gen_log_file(), msg: Taking the domain log positions from '/var/log/ispcp/logdb'...
DEBUG: push_el() sub_name: gen_log_file, msg: Logfile contains no data, so skip it for now.

Este es el archivo de configuración dovecot.conf:
Code:
base_dir = /var/run/dovecot/
protocols = imap pop3
disable_plaintext_auth = no
listen=*

syslog_facility = mail

login_greeting = Dovecot ready.

mail_location = maildir:%h
mail_privileged_group = mail

#Uncomment these lines to enable dovecot ssl support
#Dovecot up to 1.1
#ssl_disable = no
#
#Dovecot 1.2+ (i.e *BSD ports)
#ssl = yes
#
#Certificate location
#ssl_cert_file = /etc/ssl/certs/servername.crt
#ssl_key_file = /etc/ssl/certs/servername.key


protocol imap {
  mail_plugins = quota imap_quota
}

namespace private {
prefix = INBOX.
inbox = yes
}

protocol pop3 {
pop3_uidl_format = %u-%v
mail_plugins = quota
}

protocol lda {
postmaster_address = mail@dominio.tld
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = quota
#Sieve filtering support uncomment to enable
#mail_plugins = quota cmusieve
#global_script_path = /etc/dovecot/sieve/dovecot.sieve
}

auth default {
mechanisms = plain login
passdb checkpassword {
  args = /var/www/ispcp/engine/ispcp-dovecot-mngr
}
userdb sql {
  args = /etc/dovecot/dovecot-sql-domain.conf
}
userdb sql {
   args = /etc/dovecot/dovecot-sql-aliasdomain.conf
}

userdb sql {
  args = /etc/dovecot/dovecot-sql-subdomain.conf
}

socket listen {
  client {
   path = /var/spool/postfix/private/auth
   mode = 0660
   user = postfix
   group = postfix
  }

  master {
   path = /var/run/dovecot/auth-master
   mode = 0660
   user = vmail
   group = mail
  }
}

user = root
}

plugin {
}

Estas son algunas lineas del mail.log:
Code:
Jun  6 19:01:40 hostname postfix/qmgr[17638]: B64288A18C67: from=<usuario@mi_dominio.tld>, size=61984, nrcpt=1 (queue active)

Jun  6 19:01:47 hostname dovecot: POP3(usuario@mi_dominio.tld): Disconnected: Logged out top=0/0, retr=3/125271, del=0/3, size=125218

Jun  6 19:10:27 hostname postfix/qmgr[17638]: 50B518A18C68: from=<usuario@mi_dominio.tld>, size=4231, nrcpt=1 (queue active)

Jun  6 19:10:27 hostname postfix/qmgr[17638]: B64288A18C67: from=<usuario@mi_dominio.tld>, size=61984, nrcpt=1 (queue active)

Jun  6 19:35:04 hostname dovecot: POP3(usuario@mi_dominio.tld): Disconnected: Logged out top=0/0, retr=0/0, del=0/3, size=125218

Jun  6 20:35:34 hostname dovecot: POP3(usuario@mi_dominio.tld): Disconnected: Logged out top=0/0, retr=0/0, del=0/3, size=125218

He sustituído ispcp-vrl-traff por el de una versión de ispcp 1.03 (el que crea .prev) y sí genera los logs smtp.log y smtp_delivery.log y actualiza el contador de smtp pero tampoco genera los logs de pop e imap.

Agradeceria cualquier ayuda y si fuera posible la de kilburn que es el que ha hecho las últimas modificaciones.

Gracias por anticipado.Shy
(This post was last modified: 06-10-2010 08:20 AM by macbishop.)
06-07-2010 08:17 AM
Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #2
RE: Dovecot, problema con el tráfico
Lo raro es esto:
Quote:DEBUG: push_el() sub_name: gen_log_file, msg: Logfile contains no data, so skip it for now.

Es decir, el script se encuentra con que:
- Hay una línea en blanco al principio del fichero /var/log/mail.log
- O el fichero está vacío

Como lo segundo parece que no es, yo apostaría por lo primero. Puedes comprobarlo? Si es así, prueba borrando esa línea del principio y ejecutando el script tu mismo (como root), a ver si cuenta...
06-09-2010 01:14 AM
Visit this user's website Find all posts by this user Quote this message in a reply
macbishop Offline
Junior Member
*

Posts: 68
Joined: Feb 2007
Reputation: 7
Post: #3
RE: Dovecot, problema con el tráfico
(06-09-2010 01:14 AM)kilburn Wrote:  Hay una línea en blanco al principio del fichero /var/log/mail.log

A la primera !!! Smile

Hombre sabio eres...Big Grin

Ahora cuenta correctamente smtp, no sé porque estaba esa linea en blanco Tongue

Sin embargo sigo teniendo problemas con POP e IMAP y un saco de dudas.Sad

Genera imap.log (vacío) y pop3.log (vacío).

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 ?
Jun 8 19:53:34 hostname dovecot: pop3-login: Login: user=<usuario@dominio.tld>, method=PLAIN, rip=ip_cliente, lip=ip_server

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. Shy
(This post was last modified: 06-09-2010 08:41 AM by macbishop.)
06-09-2010 05:43 AM
Find all posts by this user Quote this message in a reply
kilburn Offline
Development Team
*****
Dev Team

Posts: 2,182
Joined: Feb 2007
Reputation: 34
Post: #4
RE: Dovecot, problema con el tráfico
(06-09-2010 05:43 AM)macbishop Wrote:  Ahora cuenta correctamente smtp, no sé porque estaba esa linea en blanco Tongue
Apuntao al libro de los misteriosos casos en administración de sistemas. Ni idea de por qué pudo pasarte esto jeje Wink

(06-09-2010 05:43 AM)macbishop Wrote:  Sin embargo sigo teniendo problemas con POP e IMAP y un saco de dudas.Sad
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. Shy
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...
06-10-2010 05:08 AM
Visit this user's website Find all posts by this user Quote this message in a reply
macbishop Offline
Junior Member
*

Posts: 68
Joined: Feb 2007
Reputation: 7
Post: #5
RE: Dovecot, problema con el tráfico
(06-10-2010 05:08 AM)kilburn Wrote:  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...

Bueno creo que está solucionado, aunque en realidad no he probado tu código escopetero Big Grin ya que antes de leer tu post y buceando un poco encontré este post: http://isp-control.net/forum/thread-5000.html con un parche para el conteo de pop. Así que inserté este:
Code:
$rs = sys_command("$cat $rlog|$grep 'POP3'| $grep 'Disconnected: Logged out' |"
            ."$awk '/POP3/ {split(\$10,array,\"\/\"); print \"user=\"substr(\$6,6,length(\$6)-7) "
            ."\", top=\"substr(array[2],0,length(array[2])) \" retr=\"substr(\$13,6,length(\$13)) ;}'"
            ." 1>$pop3_log");

que por cierto también me calentó un rato la perola Rolleyes porque tenia un "typo", una coma delante de retr que generaba 2 comas en el log:
Code:
user=usuario@dominio.tld, top=0,, retr=0

yo tampoco soy un experto en perl pero el caso es que quitando la comita, mano de santo y a contar pop mandan. Cool.
Agradezco mucho tu ayuda y por supuesto +1 Wink

Saludos a todos.
06-10-2010 07:36 AM
Find all posts by this user Quote this message in a reply
macbishop Offline
Junior Member
*

Posts: 68
Joined: Feb 2007
Reputation: 7
Post: #6
RE: Dovecot, problema con el tráfico
(06-10-2010 05:08 AM)kilburn Wrote:  lo más probable es que pete como una escopeta de feria. Dime qué tal...

...Si que peta, si Tongue
06-10-2010 08:51 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)