Utilizzo di e-mail di eccezione come indicatore di stato del sistema

4

Sto lavorando alla nostra lista di bug oggi e sto cercando di chiarire / risolvere i problemi per i quali riceviamo comunemente email di eccezione. Sebbene tutte le eccezioni (finora) siano gestite, alcune non rappresentano in realtà un errore nel codice. Ad esempio, se un servizio di terze parti si interrompe temporaneamente, il nostro codice non funziona, gestisce l'eccezione e ci invia un'email.

Questo può essere particolarmente utile durante l'orario lavorativo perché ci consente di vedere rapidamente se qualcosa è inattivo e reagire ad esso. Tuttavia, sono previsti anche tempi di inattività e le e-mail di eccezione possono riempire rapidamente una casella di posta.

La mia domanda è: esiste una best practice per ottenere informazioni dettagliate sullo stato del sistema? È un'e-mail di eccezione in quanto ho delineato qui una pratica accettabile o le notifiche di eccezioni dovrebbero essere sempre inaspettate?

    
posta Chuck 02.05.2012 - 18:19
fonte

3 risposte

6

Non penso che le email siano il modo migliore per segnalare errori come questo.

L'email ovviamente non garantisce la consegna veloce e devi avere qualcuno alla fine di quelle e-mail.

Se hai troppi segnalazioni di errori, le cose vengono perse e inizi a ignorarle a causa del basso rapporto segnale / rumore.

Le migliori pratiche in questo settore sarebbero probabilmente l'uso di software di monitoraggio e avviso di terze parti. Ci sono centinaia di questi prodotti sul mercato che faranno un lavoro migliore della maggior parte di casa soluzioni coltivate. Nagios è un buon strumento open source in quest'area.

Re eccezioni, mi dispiace per la risposta concisa, ma penso che le eccezioni dovrebbero essere utilizzate solo per circostanze eccezionali .

Se hai pianificato tempi di inattività pianificati sui tuoi sistemi partner, probabilmente questo dovrebbe essere gestito in modo pulito nel codice o tramite un processo piuttosto che consentire all'applicazione di iniziare a generare eccezioni.

    
risposta data 02.05.2012 - 18:28
fonte
3

Un'e-mail di eccezione sarebbe ragionevole a seconda, ovviamente, del sistema, dell'azienda, dell'urgenza dell'errore, ecc. Suggerirei che l'errore venga scritto anche su qualche registro (preferirei una tabella di errori in un database presupponendo che il database sia disponibile ma un file di registro sarebbe perfettamente accettabile) e che la decisione sull'invio dell'email riguarderebbe l'analisi di quel file di registro. Se hai riscontrato un errore particolare e hai inviato un'email 5 secondi fa, è improbabile che l'invio di un altro sia utile. Probabilmente non vuoi inviare email più di ogni minuto per un errore particolare (eventualmente aggiungendo un contatore alle e-mail per dirti quante volte è successo dall'ultima email). Ciò ti impedisce di inondare una casella di posta con migliaia di messaggi duplicati.

Maggiore è l'organizzazione e più critica l'applicazione, più è probabile che tu voglia creare una sorta di dashboard di stato che qualcuno possa monitorare e più è probabile che tu voglia esporre le informazioni di monitoraggio in un modo che può gestire un pezzo centralizzato di software di monitoraggio aziendale. Se hai un gruppo di persone che indossano cercapersone e guardi decine o centinaia di applicazioni aziendali, ottenere migliaia di email da centinaia di fonti sarà lento, inefficiente e soggetto a errori. Se hai un piccolo team di sviluppatori che è anche responsabile della risoluzione dei problemi se qualcosa dovesse andare storto, gli avvisi via email potrebbero essere un compromesso appropriato.

    
risposta data 02.05.2012 - 18:36
fonte
0

Spero che tu abbia pochi clienti che stanno pagando molto per questo servizio. Sto lavorando con un'app che determina come gestire le notifiche di errore in un file di configurazione. Ogni tipo di errore è contrassegnato per e-mail o meno e a quale / i indirizzo / i. Qualche email anche sul successo. Tutto è registrato in un file per ogni app del cliente (gli errori possono verificarsi qui e non possono mai arrivare al server) e al server dell'app.

Per un servizio che è fuori servizio, il client dovrebbe esserne a conoscenza o almeno sui suoi amministratori (email?), ma non so se gli sviluppatori / il personale di supporto debbano farlo.

Quando diverse aziende maturano con il sistema, molte di queste notifiche sono disattivate o limitate all'indirizzo di posta elettronica di supporto di un cliente.

    
risposta data 02.05.2012 - 18:45
fonte

Leggi altre domande sui tag