qshape es una utilidad de postfix para controlar la "vejez" de los correos en la cola. Es decir nos permite detectar cuanto tiempo llevan los correos entrando o saliendo de las colas. El objetivo es determinar cuellos de botella. Si un correo lleva mucho tiempo en la cola eso quiere decir que hay una bottleneck y que algo puede estar pasando.
Ejecutemos un qshape a secas:
[zimbra@servidor ~]$ qshape T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 4 4 0 0 0 0 0 0 0 0 0 miempresa.com 3 3 0 0 0 0 0 0 0 0 0 greenlog.es 1 0 0 1 0 0 0 0 0 0 0
La llamada a qshape sin parámetros muestra la vejez de la cola incoming y active al mismo tiempo y solo de los destinatarios.
En total tenemos 4 correos procesándose en esta cola. Tres correos pertenecientes al dominio miempresa.com y uno al dominio greenlog.es. Los tres correos de miempresa.com llevan menos de 5 minutos en la cola y el de greenlog.es lleva entre 10 y 20 minutos en la cola. En este caso algo está pasando con este correo de greenlog.es porque entre 10 y 20 minutos en la cola de incoming/active es mucho tiempo.
Si tuviéramos algún correo dentro de la columna "1280+" estaríamos con un correo que lleva posiblemente un día entero en la cola. Un día son 1440 minutos.
Si utilizamos el parámetro -s estaríamos viendo la misma estadística pero los remitentes. Ejecutar el comando "qshape" es equivalente a ejecutar el comando "qshape incoming active".
Veamos ahora lo mismo pero con la cola deferred:
[zimbra@servidor ~]$ qshape deferred T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 3 0 0 0 1 0 0 0 0 0 2 yahoo.es 1 0 0 0 1 0 0 0 0 0 0 hotmailo.com 1 0 0 0 0 0 0 0 0 0 1 gruponegro.com 1 0 0 0 0 0 0 0 0 0 1
Vemos que en la cola de deferred (correos que no se pueden entregar) hay un correo para el dominio hotmailo.com que se acerca a casi un día en la cola. Me huele que el dominio hotmailo.com no existe y que alguien se ha equivocado al escribir la dirección de correo.
Si consultamos ahora lo mismo pero desde el lado contrario (el remitente):
[zimbra@servidor ~]$ qshape -s deferred T 5 10 20 40 80 160 320 640 1280 1280+ TOTAL 3 0 0 0 1 0 0 0 0 0 2 miempresa.com 3 0 0 0 1 0 0 0 0 0 2
Podemos ver claramente la relación entre "qshape -s deferred" y "qshape deferred".
Vemos que está pasando algo con el correo del dominio gruponegro.com porque lleva más de 1280 minutos en la cola de deferred.
[zimbra@servidor ~]$ cat /var/log/zimbra.log | grep gruponegro.com Feb 19 21:31:28 servidor postfix/smtp[28428]: connect to gruponegro.com [208.87.149.250]: Connection timed out (port 25) Feb 19 21:31:28 servidor postfix/smtp[28428]: AF8B2682E2: to=, relay=none, delay=172570, status=deferred (connect to gruponegro.com[208.87.149.250]: Connection timed out)
Lo que está pasando es que el servidor MTA del dominio gruponegro.com (IP 208.87.149.250) no está disponible porque da timeouts.
5 comentarios:
Gracias por la información me ha servido de mucho.., solo tengo una pregunta si tengo en cola muchos archivos que no se entregaran por que tiene mala la dirección y dominio como le hago para que después de cierto tiempo los borre..?
Nuevamente gracias por compartir conocimientos...!!!
Haces un "./postqueue -p" para saber el ID del mensaje a borrar y luego haces un "./postsuper -d el_ID" para borrar el mensaje.
Con "./postsuper -d ALL" borrar toda la cola deferred.
Gracias por la indicación, con lo realizado el servidor le dijo a dios a 743 correos...!!!
Saludos
como se puede Borrar todos los correos provenientes de cierto dominio???muy buen blog, felicidades!
@anonimo: Se puede borrar los correos de cierto dominio, o mejor "correo" con el siguiente comando:
mailq | awk ' /^[0-9A-F][0-9A-F]*[^*].*MAILER-DAEMON/ {print $1}' | sed s/\*//g | sudo xargs -rn1 postsuper -d
Donde, en MAILER-DAEMON se debe colocar el correo o dominio a ingresar.
hacer un comentario en esta entrada