Ver Colas de Correo en Zimbra

Ver colas de Correo en Zimbra

colas en zimbra (parte 1)3 de septiembre de 2008

Este post aunque se llama «colas en zimbra» bien se podra llamar»colas en postfix» ya que postfix es el mta que utiliza zimbra.Postfix tiene varias colas donde va guardando todo el correo queprocesa y el correo que no ha podido procesar por cualquier motivo.Por regla general a cada concepto de cola en postfix se le asignauna carpeta fisica dentro del sistema de ficheros. En el caso dezimbra las colas se encuentran dentro de la carpeta»/opt/zimbra/postfix/spool». Si entramos por ejemplo dentro de lacola incoming podremos ver archivos los cuales cada unocorresponden a un mensaje de correo electrnico que esta entrando eneste momento. Una vez el mensaje ha entrado desaparecer de la cola.Lgicamente si no hay ninguno archivo es que no est entrando correo.Como veis hay un montn de colas en postfix y cada una tiene sufuncin. Lgicamente todo este rbol de carpetas no hay que tocarlopara nada porque para eso estn las utilidades de postfix. Sitenemos una maquina dedicada al correo, es seguro que el 99% de lacongestin que pueda tener es debido al procesamiento de losmensajes que entran y salen. Las colas ms importantes que tienepostfix son las siguientes: + cola incoming: en esta cola estntodos los nuevos mensajes que entran en postfix. Estos ficheros quese crean por cada mensaje los crea un servicio de postfix llamadocleanup. Este fichero tendr de propietario postfix y permisos 0600mientras se est recibiendo y 0700 una vez se ha terminado derecibir. + cola active: desde esta cola se envan los mensajes a susdestinatarios. Esta es una de las colas ms importantes ya queinternamente hay mucha logica para implementarla. Desde esta colase crearn todas las conexiones smtp necesarias (consultando losregistros MX de los DNS) para los destinatarios. Aunque a esta colale corresponda una carpeta, internamente en postfix se creanestructuras de memoria para su procesamiento. Las colas deincoming, hold o deferred no ocupan memoria en el sistema.Normalmente el anlisis de los cuellos de botella se centran en estacola. + cola hold: en esta cola van a parar indefinidamente losmensajes que el administrador quiere que no se procesen. Es posibleconfigurar postfix para que mueva mensajes a esta cola de formaautomtica utilizando access. + cola deferred: en esta cola van aparar los mensajes que no se han podido enviar alguno de losdestinatarios y por tanto postfix tiene que volver a reitentar elenvi. Tanto las colas de incoming y deferred se miran peridicamentepara ver si hay algn mensaje para enviar. Hay tres parmetros bsicosen postfix para controlar cada cuanto se miran estas colas y queafectan al rendimiento de postfix: $queue_run_delay,

$minimal_backoff_time y $maximal_backoff_time. El funcionamientoes el siguiente: cuando un mensaje llega este es procesado por elmta y enviado a la cola incoming. Por otro lado cuando se decideenviar un mensaje y postfix se tiene que poner en contacto conotros mta estos mensajes son enviados a la cola active. Si porcualquier motivo el mensaje no puede ser enviado a otro mta estepasar a la cola deferred hasta que pueda ser entregado ms tarde oexpire el tiempo de vida. El tiempo de vida de un mensaje en lacola deferred viene marcado por la variable $maximal_life_time. Sitranscurrido este tiempo el mensaje no se pudo enviar este mensajese devuelve al remitente pero solo en un tamao concreto marcado porla variable $bunce_size_limit. Si el remitente ha enviado un maildel 50Mb no tiene sentido devolverle otra vez el mail de 50Mb. Elescaneo de la cola de deferred para los reintentos sigue unalgoritmo un poco complicado pero que bsicamente es algo as: lacola deferred se escanea cada $queue_run_delay en busca de mensajepara enviar. Cuando un mensaje est en esta cola se le pone unamarca de tiempo T. Si a los T segundos se hace el envo y este notiene xito, el siguiente envo se hace a los 2T y as sucesivamente.En la siguiente imagen es la ms completa que he podido encontrarpor Internet (google images) de la relacin entre las colas y loprocesos de postfix:

En el prximo post explicar los comandos para el manejo de lascolas y unos apuntes de tunnig de postfix.

Las utilidades que postfix proporciona se encuentran dentro de/opt/zimbra/postfix/sbin. No solo encontraremos las utilidades parael manejo de colas sino tambin el configurador de parmetros, elcreador de alias, etc. La primera utilidad para ver la cantidad demensajes en cola es la utilidad postqueue. Si la lanzamos con elcomando -p nos mostrar los mensajes que hay en proceso (coladeferred y active):[[email protected] sbin]# ./postqueue -p -Queue ID—Size– —-Arrival Time—- -Sender/Recipient——1B6FE682F922910 Wed Sep 3 17:09:39 MAILER-DAEMON (connect tomail.member.gocyberlink.com[203.70.119.145]: Connection timed out)[email protected] CE801682F8 488323 Wed Sep 317:09:38 [email protected] (connect to hotamil.com[65.74.135.110]:Connection timed out) [email protected] C18C368288 42744 Wed Sep 317:09:51 [email protected] (connect to hotamil.com[65.74.135.110]:Connection timed out) [email protected] 58D796836C 536981 Fri Sep 514:22:39 [email protected] (host mx.poczta.interia.pl[217.74.64.238]said: 450 4.7.1 : Helo command rejected: Host not found (in replyto RCPT TO command)) [email protected] — 1066 Kbytes in 4Requests.

Con esta utilidad podemos hacernos una idea de cuantos mensajeshay pendientes de procesar (4 mensajes) y el tamao de todos ellos(1066Kb). Si por ejemplo veis que tenis 125 mensajes por procesar y450Mb de correo pues es para ver que esta pasando. Yo en este casomovera los correos que ms pesan a la cola hold para enviarlos mstarde. Otra cosa que podemos hacer con postqueue es volver areintentar enviar todos los correos que se encuentran en deferred.Es decir reintentar el envi o hacer un flush. Esto se hace con elparmetro -f:[[email protected] sbin]# ./postqueue -f

Esto es til cuando tienes un problema en t lnea de Internet ypor cualquier motivo los correos no pueden salir. Todos estoscorreos que no pueden salir iran a parar a la cola deferred. Unavez arreglado el problema en la lnea los mensajes seguirn en lacola deferred hasta que el procesador de posfix no vuelva areintentar el envi. Para no esperar hasta la marca de tiempo sepuede utilizar el parmetro -f para forzar el envi. El siguientecomando interesante es postsuper. Con este comando podemos tocarinternamente los mensajes que hay en la cola. Con el parmetro -dpodemos borrar un mensaje de correo que est identificado por un

«queue ID». Para ello primero tenemos que hacer un «postqueue-p» para ver los mensaje que tenemos y buscar el «queue ID» delmensaje que queremos eliminar. Supongamos que queremos eliminar elmensaje «C18C368288».[[email protected] sbin]# ./postsuper -dC18C368288

Si por el contrario no lo queremos eliminar pero nos lo queremosquitar de enmedio, lo podemos enviar a la cola hold con el parmetro-h.[[email protected] sbin]# ./postsuper -h C18C368288

Si posteriormente queremos poner este mensaje otra vez encirculacin haramos lo mismo pero con el parmetro -H.[[email protected]sbin]# ./postsuper -H C18C368288

Otra utilidad para ver colas es el script qshape.pl. Es unscript que no utilizo mucho, pero lo que hace es mostrarte unlistado de todos los dominios de mensajes que hay por enviar ycuando tiempo hace que estan en la cola.$ qshape -s hold | head TTOTAL 486 yahoo.com 14 extremepricecuts.net 13 ms35.hinet.net 12winnersdaily.net 12 hotmail.com 11 worldnet.fr 6 ms41.hinet.net 6osn.de 5 5 10 20 40 80 160 320 640 1280 1280+ 0 0 1 0 0 2 4 20 40419 0 0 1 0 0 0 0 1 0 12 0 0 0 0 0 0 0 2 0 11 0 0 0 0 0 0 0 0 1 110 0 0 0 0 0 0 2 0 10 0 0 0 0 0 0 0 0 1 10 0 0 0 0 0 0 0 0 0 6 0 0 00 0 0 0 0 0 6 0 0 0 0 0 1 0 0 0 4

En este ejemplo vemos que de mensajes que van para yahoo.com hay14. De estos 14 mensajes que se tienen que entregar a yahoo.com hay12 que llevan ms de 1280 minutos esperando a salir. Por ultimotenemos el comando postconf que nos muestra la configuracin activaque hay en postfix. Esta configuracin se puede cambiar en/opt/zimbra/conf/main.cf.in. Si queremos ver todos los parmetrosrelacionados con colas haremos:[[email protected] sbin]# ./postconf |grep queue bounce_queue_lifetime = 5d hash_queue_depth = 1hash_queue_names = deferred, defer maximal_queue_lifetime = 5dqueue_directory = /opt/zimbra/postfix-2.2.9/spoolqueue_file_attribute_count_limit = 100 queue_minfree = 0queue_run_delay = 1000s queue_service_name = qmgr

Tenemos por ejemplo que numero mximo de das que un mensajepuedes estar sin enviar es de 5 dias (bounce_queue_lifetime) y quela cola de deferred se escanea cada 1000 segundos en busca demensajes que reenviar (queue_run_delay).

PREGUNTAS DNS

Por defecto la configuracin de Postfix estndar no debera darcuellos de botellas ni retardos en los correo. Aun as un grantrfico de spam, una secuencia de correos grandes que no deberanestar en la cola, un hardware lento o una mala configuracin denuestra red puede provocarnos muchos problemas. Si este es el caso,tendremos que repasar estos puntos: DNS Una mala configuracin dePostfix puede afectar de forma negativa a la velocidad del correo.Durante la entrada y salida del correo el DNS es un servicio muyusado y por tanto mientras el DNS no produzca una respuesta elcorreo no saldr ni entrar. Conviene revisar nuestros DNS dentro de/etc/resvolv.conf y verificar la velocidad de estos.[[email protected] ~]#dig -tmx google.com ; DiG 9.3.4-P1 -tmx google.com ;; globaloptions: printcmd ;; Got answer: ;; ->>HEADER

Publicaciones Similares