Come monitorare le attività cron e ricevere messaggi di posta elettronica quando non vengono eseguiti?

Mi rendo conto che quando each cron ha prodotto emetterà quella output … quello che sto cercando di determinare è che se ho un script programmato per 3 di martedì martedì e per qualunque motivo o sia un errore o non riesce a funzionare, Vorrei sapere …

Sto pensando adesso di impostare una tabella di database che memorizza i timestamp di ultima esecuzione per each command cron e abbiamo un rapporto settimanale per i comandi cron. O forse memorizzando nel database quando dovrebbe essere eseguito e quando ha funzionato, se c'è un problema che ci invierà e-mail.

  • Testare il tempo di applicazione
  • Qual è il modo migliore per monitorare un server di produzione?
  • Qualsiasi suggerimento QUICK per iniziare con Splunk
  • Il lavoro di Cron non viene eseguito se ho impostato per triggersrsi pochi minuti da ora
  • Come posso eseguire un lavoro quando il caricamento del server è basso?
  • Suite di monitoraggio Unix CLI
  • La "emailing" sarebbe fatta dai nostri sisthemes interni where i nostri dipendenti stanno registrando in modo costante in modo che non si basasse sul cron stesso.

    C'è una soluzione migliore?

  • Come sapere se un traffico del router forma?
  • Esiste uno strumento open source per mappare le connessioni SFTP come un'unità mappata Windows?
  • Registrare i dati di networking per indirizzo IP
  • Come impedire a TCP ZeroWindow di scrivere un file di grandi size a una condivisione di Windows?
  • Le voci ARP statiche persistenti su Windows, è ansible?
  • Perché la multicasting rende il WAN inaccessibile?
  • 7 Solutions collect form web for “Come monitorare le attività cron e ricevere messaggi di posta elettronica quando non vengono eseguiti?”

    Penso che il syslog di monitoraggio sarebbe la soluzione più semplice.

    Avviate i tuoi syslog in avanti al tuo sistema di monitoraggio e quindi impostati avvisi nel tuo sistema di monitoraggio.

    Ho anche impostato MIBs SNMP personalizzate in passato, che potresti mettere il timestamp dell'ultima volta che il particolare cronjob è stato eseguito. Poi un sistema esterno potrebbe monitorare la MIB snmp per un timestamp superiore a 24 ore.

    La tua soluzione suona OK in base all'ambiente, ma potrebbe essere un po 'di overkill (a less che non sia necessario verificare la storia di questo lavoro nel lungo periodo, nel qual caso il bit di database potrebbe avere un senso).

    Un'altra opzione da considerare è semplicemente avvolgere i tuoi lavori cron in uno script di controllo (se il lavoro cron esce con uno stato di errore (! = 0) submit un'email o generare l'output e lasciare che cron invia l'email per te).

    La tua soluzione sembra un po 'più complicata di quanto penso che deve essere.

    Inizia con la revisione e / o il monitoraggio /var/log/cron.log (o ovunque i log cron siano in corso). cron fa un buon lavoro di logging di each command che viene eseguito, insieme a errori. Se vuoi sapere cosa è successo, questo è il posto da guardare. Se sei preoccupato di morire di cron, puoi impostare un battito cardiaco che registra each 5 minuti e se non vedrai il battito cardiaco, mandate una sorta di avviso. Se ti senti veramente come se fosse necessario un secondo strumento tenere d'occhio il cron, c'è un pacchetto perl ( Schedule::Cron ) che potresti usare per controllare regolarmente il tuo battito cardiaco. Se sei così preoccupato per l'affidabilità della macchina locale, puoi anche submit i registri a una seconda macchina per il monitoraggio / elaborazione / avviso / etc.

    In alternativa, è ansible utilizzare solo una sorta di strumento di monitoraggio del sistema (SNMP, Nagios, Hobbit / BigSister, ecc.) Per controllare esternamente che il process cron è in esecuzione. Controlli la salute dei tuoi sisthemes, giusto?

    Anche se, se sei veramente preoccupato di morire di cron, potresti voler esaminare la ricostruzione o la sostituzione della macchina. il cron dovrebbe essere abbastanza affidabile e se non funziona, probabilmente è un sintomo di un problema più grande.

    Ho affrontato un requisito simile:

    Lo script gestito da cron invia l'output al command logger . il logger invia un messaggio syslog alla function Local4, gestita da rsyslog. Il local4. * Viene quindi inviato ad un listener remoto Syslog – nel mio caso, un'istanza Splunk. Splunk ha una ricerca salvata che spara gli avvisi di posta elettronica se gli events non si verificano all'interno della window di ora prevista. Oltre agli avvisi, Splunk mi dà anche una bella timeline storica ricercata degli events.

    La soluzione è funzionale, ma reinventa alcune ruote che probabilmente non hanno bisogno.

    In primo luogo, si dovrebbe avere un certo tipo di servizio di monitoraggio. Io tendono ad usare nagios, ma c'è un tono là fuori. Scegliete uno di questi sisthemes e controlli il tuo demone cron.

    Quindi scrivere un plugin che utilizzerà i wrapper che voretaq7 ha menzionato. Avrai un avviso se il cronjob non riesce e se anche crond fallisce.

    Il motivo che suggerisco è che avrai tutto il tuo monitoraggio in un unico posto. Alla fine dovresti avere un sistema di monitoraggio a livello di sito e ha più senso mettere il tuo impegno in quella piuttosto che avere una serie dispersa di sisthemes di monitoraggio in atto.

    Puoi utilizzare PushMon e creare un URL con un programma "da 3:30 each mattino". Quindi "ping" l'URL PushMon quando il tuo script è stato eseguito correttamente. Se l'URL PushMon non viene richiamato perché la macchina è spenta o il cron non è riuscito a eseguire (succede) o lo script non riesce, PushMon avverte entro le ore 3:30. Puoi ricevere un avviso via e-mail, SMS, telefono, IM o Twitter e il servizio è gratuito.

    Disclaimer: Sono associato a PushMon.

    Ho costruito un semplice strumento per questo tipo di monitoraggio – https://cronitor.io

    Permette di impostare entrambi gli intervalli (each 24 ore) e le durate (più di 10 minuti, less di 2 minuti, ecc.) E quindi ricevere avvisi di posta elettronica / SMS se il tuo lavoro cron (o qualsiasi altra attività automatizzata) non viene eseguito secondo le regole che hai definito.

    Lo strumento è gratuito per monitor individuali e sono disponibili piani a pagamento per coloro che hanno più necessità di monitoraggio.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.