Buona pratica o servizio per il monitoraggio degli errori di applicazione non gestiti per una piccola organizzazione

3

Sto lavorando con più software con vari modi di monitorare gli errori. Quando creo software, di solito mando un'email con lo stack trace agli amministratori (di solito io). Alcuni software del cliente sono monitorati da un team che controlla che una determinata esecuzione batch sia avvenuta con successo. Altri software potrebbero non avere alcun monitoraggio (qualcuno chiamerà quando le cose vanno male in modo orribile).

L'invio di email è buono, tranne quando le cose iniziano a andare storte, la mia posta viene riempita velocemente. Inoltre, non voglio risolvere lo stesso problema nel codice per ogni software. Ci sono alcuni software o pratiche relativamente economici e con poca manutenzione per gestirli. Voglio che sia economico / a bassa manutenzione perché di solito lavoro da solo o in gruppi di 5 o più piccoli. Ad esempio sarebbe bello se gli errori venissero aggregati, quindi non ricevo 10 000 email quando succede qualcosa di inaspettato ...

Per chiarimenti: per errori non gestiti intendo eccezioni non gestite dal codice dell'applicazione che è stato propagato a Tomcat o Jboss. Non ho bisogno di aiuto su come rilevare quegli errori. Ho bisogno di aiuto su cosa fare con loro.

C'è qualche applicazione cloud a cui potrei inviare i miei errori? O qualche semplice server da installare? O qualche libreria in grado di gestire gli errori usando i file di configurazione. Io uso Java se questo è un aiuto.

    
posta palto 12.06.2012 - 11:53
fonte

3 risposte

2

Hai opzioni ...

  • Implementa il proprio app di log4j / logback ( WriteYourOwnAppender ) che "fa quello che vuoi "

  • Utilizza SMTPAppender che accumula eventi di registrazione in uno o più buffer a dimensione fissa e invia il contenuto del buffer appropriato in un messaggio di posta elettronica dopo che si è verificato un evento specificato dall'utente

  • Utilizza un DBAppender che inserisce eventi di registrazione in tre tabelle di database in un formato indipendente da il linguaggio di programmazione Java

  • Utilizzare un SocketAppender progettato per accedere a un'entità remota mediante la trasmissione di ILoggingEvent serializzato istanze sul filo. Dovresti occuparti ovviamente del lato ricevente.

  • Utilizza un SyslogAppender a che invia un piccolo messaggio a un ricevitore syslog. Il ricevitore viene comunemente chiamato syslog daemon o syslog server . Logback può inviare messaggi a un demone syslog remoto. In breve, invierà tutte le eccezioni (errori, avvisi, in base alla configurazione in logback.properties / xml ) a un syslog del sistema operativo.

  • Oppure, Bug4J , che puoi utilizzare tramite Bug4jAppender o tramite l'agente Bug4J. Entrambi scriveranno in un server Bug4J che ha una interfaccia web che sembra un po 'più carina di ChainSaw (che, btw, è un altro modo ..):

    
risposta data 14.06.2012 - 04:49
fonte
3

Hai provato la registrazione di slf4j + logback in un server syslog centrale con SyslogAppender di Logback?

Da lì puoi utilizzare gli strumenti syslog per analizzare i messaggi e inviarti un'email se necessario.

    
risposta data 12.06.2012 - 13:06
fonte
0

Ho solo sviluppato il mio servizio di aggregazione per questo tipo di problema in passato. Fondamentalmente solo passando una notifica ogni x occorrenze in y timeframe. Forse puoi implementare una soluzione semplice simile per le app che offri.

    
risposta data 12.06.2012 - 12:36
fonte

Leggi altre domande sui tag