Aiuto MON sulle definizioni di servizio

Questa è la seconda e ultima fase per la configurazione MON.

I valori predefiniti vengono visualizzati per i servizi obbligatori . Vedere il rispettivo argomento della guida di seguito per ulteriori informazioni sulle definizioni del servizio.

Per "mail.alert" , assicurarsi che sendmail sia configurato e che il deamon "sendmail" sia avviato sulla macchina host.

Definizioni di servizio

servizio nome servizio
Una definizione di servizio inizia con il loro servizio di parole chiave seguito da una parola che è il tag per questo servizio.

I componenti di un servizio sono un intervallo, un monitor e una o più definizioni di periodi di tempo, come definito di seguito.

Se un nome di servizio "predefinito" è definito all'interno di un gruppo di controllo chiamato "dafault" (vedere sopra), la definizione predefinita / predefinita verrà utilizzata per la gestione di trappole sconosciute.

intervallo timeval
L' intervallo di parole chiave seguito da un valore temporale specifica la frequenza con cui verrà attivato uno script di monitoraggio. I valori temporali sono definiti come "30s", "5m", "1h" o "1d", che significa 30 secondi, 5 minuti, 1 ora o 1 giorno. La porzione numerica può essere una frazione, ad esempio "1,5 ore" o un'ora e mezza. Questo formato di una specifica temporale verrà definito timeval .

traptimeout timeval
Questa parola chiave impiega lo stesso tempo specifica argomento come intervallo, e rende il servizio aspettarsi una trappola da una sorgente esterna almeno che spesso, altrimenti verrà registrato un errore. Viene utilizzato per un servizio in stile heartbeat.

trapduration timeval
Se viene ricevuta una trap, lo stato del servizio a cui è stata consegnata la trap rimarrà normalmente costante. Se viene specificato trapduration , lo stato del servizio rimarrà in uno stato di errore per la durata specificata da timeval , quindi verrà reimpostato su "esito positivo".

timeval randskew
Invece di pianificare l'esecuzione dello script monitor all'inizio di ciascun intervallo, regolare in modo casuale l'intervallo specificato dal parametro intervallo mediante il randskew più o meno . Il valore dell'inclinazione è specificato come parametro dell'intervallo : "30s", "5m", ecc ... Ad esempio, se l' intervallo è 1m e il randskew è "5s", allora mon programmerà lo script di monitoraggio tra 55 minuti e ogni 65 secondi. L'intento è di aiutare a distribuire il carico sul server quando molti servizi sono programmati agli stessi intervalli.

monitor monitor-name [arg ...]
Il monitor delle parole chiave seguito da un nome di script e argomenti specifica il monitor da eseguire alla scadenza del timer. Le convenzioni di quotazione simili a shell vengono seguite quando si specificano gli argomenti da inviare allo script monitor. Lo script viene richiamato dalla directory fornita con l'argomento -s e tutte le parole seguenti vengono fornite come argomenti al programma monitor, seguite dall'elenco di host nel gruppo a cui fa riferimento l'attuale gruppo di controllo. Se la linea del monitor termina con ";;" come parola separata, i gruppi host non vengono aggiunti all'elenco degli argomenti quando viene invocato il programma.

allow_empty_group
L'opzione allow_empty_group consentirà di invocare un monitor anche quando il gruppo host per quell'orologio è vuoto a causa di host disabilitati. Il comportamento predefinito non è invocare il monitor quando tutti gli host in un gruppo host sono stati disabilitati.

descrizione descrizione testo
Il testo che segue descrizione viene interrogato dai programmi client, passati agli avvisi e monitor tramite una variabile di ambiente. Dovrebbe contenere una breve descrizione del servizio, adatta per essere inclusa in un'e-mail o in una pagina Web.

exclude_hosts host [host ...]
Qualsiasi host elencato dopo exclude_hosts verrà escluso dal controllo del servizio.

exclude_period periodspec
Non eseguire un monitor programmato durante il tempo identificato da periodpec .

dipende dalla dependexpression
La parola chiave depend viene utilizzata per specificare un'espressione di dipendenza, che valuta true o false, in senso booleano. Le dipendenze sono espressioni Perl effettive e devono rispettare tutte le regole sintattiche. Le espressioni vengono valutate nel proprio spazio del pacchetto in modo da non avere accidentalmente effetti collaterali indesiderati. Se viene rilevato un errore di sintassi durante la valutazione dell'espressione, viene registrato tramite syslog.

Prima della valutazione, si verificano le seguenti sostituzioni sull'espressione: le frasi che assomigliano a "gruppo: servizio" sono sostituite con il valore dell'attuale stato operativo di quel servizio specificato. Queste sostituzioni di opstatus sono calcolate in modo ricorsivo, quindi se il servizio A dipende dal servizio B e il servizio B dipende dal servizio C, il servizio A dipende dal servizio C. Gli stati operativi di successo (che valutano "1") sono "STAT_OK", "STAT_COLDSTART "," STAT_WARMSTART "e" STAT_UNKNOWN ". La parola "SELF" (in maiuscolo) può essere utilizzata per il gruppo (ad es. "SELF: servizio"), ed è un'abbreviazione per il gruppo di orologi corrente.

Questa funzione può essere utilizzata per controllare gli avvisi per servizi che dipendono da altri servizi, ad esempio un test SMTP che dipende dal fatto che la macchina sia raggiungibile tramite ping.

dep_behavior {a | m}
La valutazione dei grafici delle dipendenze può controllare la soppressione di allarmi o monitorare le invocazioni.

Soppressione avviso . Se questa opzione è impostata su "a", l'espressione di dipendenza verrà valutata dopo l'uscita del monitor per il servizio o dopo la ricezione di una trap. Un avviso verrà inviato solo se la valutazione ha esito positivo, il che significa che nessuno dei nodi nel grafico delle dipendenze indica un errore.

Monitorare la soppressione . Se è impostato su "m", l'espressione di dipendenza verrà evocata prima che il monitor per il servizio stia per essere eseguito. Se l'evacuazione ha esito positivo, verrà eseguito il monitor. In caso contrario, il monitor non verrà eseguito e lo stato del servizio rimarrà lo stesso.

 

Definizioni del periodo

I periodi vengono utilizzati per definire le condizioni che dovrebbero consentire l'invio di avvisi.

period [etichetta:] periodpec
Un periodo raggruppa uno o più allarmi e variabili che controllano la frequenza con cui si verifica un avviso in caso di errore. La parola chiave del periodo ha due forme. Il primo prende un argomento che è una specifica del periodo dal modulo Time :: Period Perl 5 di Patrick Ryan. Fare riferimento a "perldoc Time :: Period" per ulteriori informazioni.

Il secondo modulo richiede un'etichetta seguita da una specifica del periodo, come definito sopra. L'etichetta è un tag composto da un carattere alfabetico o da un trattino basso seguito da zero o più caratteri alfanumerici o di sottolineatura e termina con due punti. Questo modulo consente più periodi con la stessa definizione di periodo. Un uso è avere una definizione di periodo che non ha parametri alertafter o alertevery per un determinato periodo di tempo, e un altro per lo stesso periodo di tempo con un diverso set di avvisi che contenga tali parametri.

alertevery timeval
La parola chiave alertevery (all'interno di una definizione di periodo ) accetta lo stesso tipo di argomento della variabile intervallo e limita il numero di volte in cui viene inviato un avviso quando il servizio continua a fallire. Ad esempio, se l'intervallo è "1h", solo gli avvisi nella sezione periodo verranno attivati una volta ogni ora. Se la parola chiave alertevery viene omessa in una voce del periodo, verrà inviato un avviso ogni volta che viene rilevato un errore. Per impostazione predefinita, se l'output di due errori successivi cambia, l'intervallo di alertevery viene ignorato. Se la parola "riepilogo" è l'ultimo argomento, verranno prese in considerazione solo le righe di output di riepilogo quando si confronta l'output di errori successivi.

alertafter num

alertafter num timeval
La parola chiave alertafter (all'interno di una sezione del periodo ) ha due forme: solo con l'argomento "num" o con gli argomenti "num timeval". Nel primo modulo, un avviso verrà richiamato solo dopo "num" errori consecutivi.

Nella seconda forma, gli argomenti sono un numero intero positivo seguito da un intervallo, come descritto dalla variabile intervallo sopra. Se vengono specificati questi parametri, gli avvisi per quel periodo verranno richiamati solo dopo che si sono verificati molti guasti entro quell'intervallo. Ad esempio, se alertafter vengono forniti gli argomenti "3 30m", verrà chiamato l'avviso se si verificano 3 guasti entro 30 minuti.

numalerts num

Questa variabile indica al server di chiamare non più di num avvisi durante un errore. Il contatore degli avvisi viene mantenuto su base periodica e viene reimpostato ad ogni successo.

comp_alerts

Se questa opzione è specificata, gli upalert saranno chiamati solo se è stato chiamato un corrispondente avviso "down".

alert alert [arg ...]
Un periodo può contenere più avvisi, che vengono attivati in caso di errore del servizio. Un avviso viene specificato con la parola chiave alert , seguito da un parametro di uscita opzionale e argomenti interpretati come la definizione del monitor , ma senza ";;" eccezione. Il parametro exit assume la forma di exit = x o exit = xy e ha l'effetto che l'avviso viene chiamato solo se lo stato di uscita dello script monitor rientra nell'intervallo del parametro di uscita . Se, ad esempio, la riga di avviso è alert exit = 10-20 mail.alert mis, allora mail-alert sarà invocato con mis come argomenti solo se il valore di uscita del programma di monitoraggio è compreso tra 10 e 20. Questa funzione consente di attivare avvisi diversi a diversi livelli di gravità (come quando lo spazio libero su disco va dall'8% al 3%).

Vedi la sezione PROGRAMMI DI AVVISO sopra per un elenco dei pramaeter mon passerà automaticamente ai programmi di allarme.

upalert alert [arg ...]
Un upalert è il complimento di un avviso . Un upalert viene chiamato quando un servizio effettua la transizione di stato da un fallimento a un successo. Lo script upalert viene chiamato fornendo gli stessi parametri dello script di avviso , con l'aggiunta del parametro -u che viene semplicemente utilizzato per far sapere a uno script di avviso che viene chiamato come upalert. È possibile specificare più upalert per ciascuna definizione di periodo. Si noti che il comportamento predefinito è che un upalert verrà inviato indipendentemente dal fatto che siano stati inviati avvisi precedenti di "down", poiché gli upalert vengono attivati durante una transizione di stato. Impostare l'opzione comp_alerts per periodo per accoppiare upalerts con avvisi "down".

startupalert alert [arg ...]
Un startupalert viene chiamato solo quando il server mon avvia l'esecuzione.

upalertafter timeval
Il parametro upalertafter è specificato come una stringa che segue la sintassi del parametro intervallo ("30s", "1m", ecc.) E controlla l'attivazione di un upalert . Se un servizio ritorna dopo essere stato inattivo per un tempo maggiore o uguale al valore di questa opzione, verrà chiamato un upalert . Utilizzare questa opzione per impedire che gli upalert vengano chiamati a causa di "bip" (brevi interruzioni).