2014-12-09 9 views
6

Voglio provare a monitorare la coda postfix con monit. Ho preso un esempio da persone di Stackoverflow. La mia versione di monit è l'ultimaIl programma di controllo Monit restituisce "nessuna uscita"

Questa è la versione Monit 5.10

In /etc/monit.d ho postfixlocal con

check program postfixcola with path "/usr/local/bin/postfixcola.sh" 
    #if status != 0 then alert 
    if status > 1 then alert 

e poi in /usr/local/bin/ ho postfixcola.sh con

#!/bin/sh 
QUEUE=`/usr/sbin/postqueue -p | tail -n1 | awk '{print $5}'` 
exit $QUEUE 

Ma Monit reclami ogni volta sull'output della sceneggiatura. Ho fatto un test, l'impostazione e l'eco prima exit e nel momento della prova è tornata a 1 (perché la coda di postfix era 1)

Ma l'errore rimane: [CET Dec 9 11:10:07] error : 'postfixcola' '/usr/local/bin/postfixcola.sh' failed with exit status (2) -- no output

io davvero non lo so qual è il problema qui, qualche pensiero?

risposta

0

Nello script bash si dovrebbe eco un messaggio in/dev/stderr:

#!/bin/bash 
QUEUE=`/usr/sbin/postqueue -p | tail -n1 | awk '{print $5}'` 
if [ $QUEUE -ne 0 ] ; then 
    echo "Queue length > $QUEUE" > /dev/stderr 
fi 
exit $QUEUE