Você tem que usar o recurso "programa" do Monit.
Se o seu arquivo monitrc
incluir include /etc/monit.d/*.cfg
, em /etc/monit.d
, crie um arquivo .cfg
com o conteúdo (adicione a instrução include apropriada no arquivo monitrc
se você não incluir todos os *.cfg
arquivos em /etc/monit.d
)
check program mail-queue path "/usr/local/sbin/check_postfix_queue"
if status != 0 then alert
Em seguida, crie o script /usr/local/sbin/check_postfix_queue
com este conteúdo:
#!/bin/bash
MAXMSG=20
MSG=$( postqueue -p | egrep '\-\- [0-9]+ Kbytes in [0-9]+ Request[s]*\.' | awk '{ print $5 }' )
[ ${MSG:-0} -le $MAXMSG ] && exit 0 || exit 1
MAXMSG é o limite da fila de mensagens: se o número de mensagens estiver acima desse parâmetro, monit emite um alerta.