Come disabilitare gli avvisi di avvio / arresto dell'istanza Monit?


10

Monit invia un avviso ogni volta che il demone monit viene arrestato o avviato. Si tratta di informazioni odiose e non utili.

Secondo i documenti, ho impostato:

set alert user@mycompany.com but not on { instance }

... che dovrebbe inviare avvisi a quell'e-mail, a meno che non si trovino nella categoria "istanza", che è definita come inizio / fine.

Tuttavia, ricevo ancora avvisi generati. Questo è super fastidioso. Chiaramente mi manca qualcosa.

Stiamo eseguendo Monit 5.2.4


Questo è coperto da questa domanda?
ewwhite,

Risposte:


7

In base alla documentazione , Monit può generare una serie di avvisi:

Event:     | Failure state:              | Success state:
---------------------------------------------------------------------
action     | "Action done"               | "Action done"
checksum   | "Checksum failed"           | "Checksum succeeded"
bytein     | "Download bytes exceeded"   | "Download bytes ok"
byteout    | "Upload bytes exceeded"     | "Upload bytes ok"
connection | "Connection failed"         | "Connection succeeded"
content    | "Content failed",           | "Content succeeded"
data       | "Data access error"         | "Data access succeeded"
exec       | "Execution failed"          | "Execution succeeded"
fsflags    | "Filesystem flags failed"   | "Filesystem flags succeeded"
gid        | "GID failed"                | "GID succeeded"
icmp       | "Ping failed"               | "Ping succeeded"
instance   | "Monit instance changed"    | "Monit instance changed not"
invalid    | "Invalid type"              | "Type succeeded"
link       | "Link down"                 | "Link up"
nonexist   | "Does not exist"            | "Exists"
packetin   | "Download packets exceeded" | "Download packets ok"
packetout  | "Upload packets exceeded"   | "Upload packets ok"
permission | "Permission failed"         | "Permission succeeded"
pid        | "PID failed"                | "PID succeeded"
ppid       | "PPID failed"               | "PPID succeeded"
resource   | "Resource limit matched"    | "Resource limit succeeded"
saturation | "Saturation exceeded"       | "Saturation ok"
size       | "Size failed"               | "Size succeeded"
speed      | "Speed failed"              | "Speed ok"
status     | "Status failed"             | "Status succeeded"
timeout    | "Timeout"                   | "Timeout recovery"
timestamp  | "Timestamp failed"          | "Timestamp succeeded"
uid        | "UID failed"                | "UID succeeded"
uptime     | "Uptime failed"             | "Uptime succeeded"

Siamo stati in grado di risolvere questo problema dalla nostra parte impostando (indirizzi modificati per proteggere gli innocenti):

SET ALERT important-messages@projectlocker.com ON { invalid, nonexist, timeout, resource, size, timestamp}
SET ALERT less-important-messages@projectlocker.com ON {action, permission, pid, ppid, instance, status}

Questo indirizza con successo i messaggi agli indirizzi a cui teniamo. Puoi impostarli a livello globale o locale, ma i nostri avvisi sono solo globali.

I sottotitoli in PROVE DI SERVIZIO all'indirizzo: http://mmonit.com/monit/documentation/monit.html corrispondono abbastanza ordinatamente ai tipi sopra.

Per ogni processo pianificato o funzionalità del tuo server, dovresti essere in grado di trovare ciò che ti interessa in un inglese semplice e abbinare quel desiderio a uno dei test menzionati in TEST DI SERVIZIO. Ad esempio, se eseguo Apache, so che mi interessa:

  • Il PID nel file PID è ancora in esecuzione? (Nonexist)
  • Il PID è cambiato a mia insaputa? (PID)
  • Il servizio risponde tempestivamente a un riavvio? (tempo scaduto)

Per un demone personalizzato che esegue il polling, potrei preoccuparmi se il file di registro viene aggiornato regolarmente con messaggi di stato (data / ora).


1
Come dici a cosa tieni? Non sono riuscito a trovare una buona documentazione sul significato di tali azioni. Ad esempio, "uptime" sembra piuttosto utile, ma non è presente nell'elenco.
Alfredo

Modificherò la mia risposta per commentare.
brokenbeatnik,

6

Sto usando Monit versione 5.2.5 e l'uso di quanto segue ha smesso di ricevere avvisi di monit

set alert example@gmail.com not {instance}


1

Dì semplicemente di eliminarlo dopo un certo numero di tentativi nel periodo di tempo N secondo questi esempi .


Questa non è la notifica di un determinato processo o servizio monitorato che si arresta o si avvia (che è una notizia) ma dello stesso demone monit che si ferma / si avvia, che è sempre intenzionale e non una notizia.
Winfield,

1
Ooooh, cosa succede se si rimuove la riga "imposta avviso" in globale e si inseriscono avvisi espliciti nelle stanze di servizio?
Ben Lutgens,

funziona meglio .. basta impostare le e-mail di avviso nei controlli .. rimuovere quella globale.
Mike,

1

Non sono stato in grado di risolvere il problema con Monit e ho dovuto creare un livello di elaborazione sull'e-mail di Monit per filtrare queste notifiche di istanze di Monit prima della consegna, intercettandole.

Stiamo usando il dovere del cercapersone per accumulare e inviare avvisi da Monit e da molti altri sistemi, quindi in questo caso ho aggiunto una regola di filtro sul servizio Monit usando una regex basata sull'oggetto per filtrare le e-mail di avviso di monit.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.