Analizza lo Smart Error e la gestione dei log di Stackify

Cosa è Stackify?

Stackify fornisce server basati su cloud. Performance e monitoraggio e strumenti di risoluzione dei problemi denominati Smart Error and Log Management (SmartELM). In questo tutorial, ho intenzione di presentarvi le sue potenti funzionalità SmartELM, che sono particolarmente utili per gli sviluppatori professionisti di monitoraggio e risoluzione dei problemi del codice di produzione post-implementazione.

Per molti di noi, i registri sono i figliastri trascurati della codifica; per i programmatori professionisti, sono essenziali ma spesso falliscono nella loro utilità. Stackify cambia questo fornendo una sorta di registratore di volo live cockpit per la vostra applicazione.

Una volta che la tua domanda lascia la produzione, esattamente quanto sono accessibili e utili i tuoi file di log? Ci sono un sacco di dati. Devi accedervi. I file necessari possono essere distribuiti su più server o limiti di servizio. Questi sono file piatti, difficili da cercare e difficili da leggere. Inoltre, spesso mancano di contesto, ad esempio, quale account utente o metodo è correlato alla voce del registro. Poi c'è la complessità della gestione dei file man mano che crescono: chiama il sysadmin, giusto? Meno male che sei stato gentile con loro ultimamente.

Lo Smart Error Tracking e Log Management di Stackify risolve molti di questi problemi.

Ad un livello elevato, SmartELM di Stackify procede come segue:

  • Aggrega tutti i dati di registro ed eccezioni in un servizio.
  • Lo rende disponibile, istantaneamente, a tutti i membri del team.
  • Presenta una sequenza temporale di registrazione nell'intero stack, test e infrastruttura del server di produzione.
  • È altamente indicizzato, ricercabile e "intelligente" al riguardo.

Dopo aver iniziato la registrazione dei dati dell'applicazione su Stackify, è possibile effettuare le seguenti operazioni:

  • Gestisci e cerca registri su tutte le tue app e server.
  • Trasforma gli errori non elaborati in errori intelligenti, contestualizzati, intelligenti.
  • Visualizza raccolte di dichiarazioni di registrazione relative a un errore specifico.
  • Ricevi avvisi in base a tassi di errore e query del registro permanente come nuove eccezioni, picchi di errori e riapparizione di problemi risolti.

In definitiva, queste funzionalità consentono di trovare e risolvere i problemi delle applicazioni più velocemente.

È possibile eseguire il monitoraggio di server e applicazioni di Stackify insieme a Smart Log e Gestione degli errori oppure è possibile eseguirli in modo indipendente. Sebbene questo tutorial evidenzi maggiormente Smart Smart, ti illustrerò anche le basi del servizio di monitoraggio.

Installare il monitoraggio Stackify

Qui puoi trovare la documentazione della guida di installazione per la tua piattaforma. Sto usando Stackify con Linux.


Stackify fornisce supporto per il monitoraggio di Windows, Linux e Azure, nonché errori e registrazione per .NET e Java. Il supporto per PHP, Node.js, Python e Ruby arriverà presto.

Visitare il impostazioni menu e scorrere verso il basso per ottenere la chiave di attivazione:

Accedi al tuo server ed esegui i seguenti comandi per installare l'agente in un unico passaggio:

sudo -s wget https://s1.stackify.com/Account/AgentDownload/Linux --output-document = stackify.tar.gz && tar -zxvf stackify.tar.gz stackify-agent-install-32bit && cd stackify- agent-install-32bit && ./agent-install.sh 

Dovrai incollare la chiave di attivazione dall'alto. Dovresti vedere qualcosa di simile a questo:

Dai all'applicazione un po 'di tempo per iniziare a raccogliere i dati, e poi puoi continuare in seguito. Puoi anche esplorare la sandbox di Stackify: c'è una panoramica dettagliata delle funzionalità in questo post del blog e le istruzioni di sandbox alla fine (scorri fino alla fine della pagina).

Stackify Dashboard

Il dashboard di Stackify offre visibilità sullo stato dei server e delle applicazioni con la telemetria basata sul tempo e l'evidenziazione degli eventi che è necessario esaminare.

Una volta che i dati arrivano, il tuo dashboard Stackify sarà simile a questo:

Ecco un primo piano della barra degli strumenti:

Stacks elenca le app e i servizi che stai utilizzando:

Monitoraggio mostra ciò che accade su server specifici:

Puoi anche filtrare tra gli ambienti di sviluppo, test e produzione:

Ora che hai un alto livello di percezione dell'ambiente Stackify, immergiti più nel Deep Error Tracking e Log Management (SmartELM).

Smart Error Tracking e gestione dei log

Esistono alcuni scenari chiave per cui utilizzare SmartELM, ad esempio l'identificazione e la notifica di:

  1. Nuove eccezioni
  2. Riapparizione o ricorrenza di problemi risolti per i quali hai impostato i filtri
  3. Picchi di errori nell'ultimo minuto o nell'ultima ora
  4. Analisi più approfondite dell'errore e della sua origine

Ti spiegherò come Stackify ti aiuta con questo. Ma prima, esaminiamo l'installazione degli appendic log appropriati.

Stackify ha creato appendici di registrazione per una manciata di framework più comuni. È possibile ottenere ulteriori informazioni sull'installazione dalla documentazione online: Guide all'installazione di registrazione e metriche. Ho anche fornito i seguenti link:

  • log4net
  • NLog
  • Elmah
  • log4j
  • logback

Se si utilizza NuGet da Visual Studio, è possibile trovare e integrare rapidamente e facilmente le librerie e le configurazioni di registrazione di Stackify. Basta cercare Stackify e quindi installare l'appender appropriato:

Una volta installati, Stackify inizierà a tracciare e registrare errori e registri.

Quando visiti la pagina del dashboard dell'errore, vedrai qualcosa di simile a questo:

Il grafico in alto ci mostra una rappresentazione visiva dei tassi di errore nel tempo. I riepiloghi descrivono errori specifici che si verificano nel nostro codice. Stackify evita la duplicazione degli errori segnalati, quindi stai vedendo solo ricorrenze uniche.

Questa vista può essere completamente personalizzata con una varietà di filtri. Puoi cliccare Attivo, risoluto, o regredito per vedere i problemi in base al loro stato conosciuto. Puoi impostare i filtri per App, Ambiente, o server. E puoi personalizzare il set di campi mostrato nella vista tabella.

Diciamo che vuoi guardare un intervallo di tempo specifico per un evento. È possibile selezionare l'intervallo di tempo sul grafico visivamente per limitare la query degli errori:

Nota come l'intervallo di tempo tracciato della frequenza degli eventi cambia con la selezione, e il conteggio degli errori sotto il grafico si regola anche per mostrare solo quelli all'interno dell'intervallo di tempo specifico.

Esaminiamo il primo errore visualizzato in Sintesi. Questo errore si è verificato 172 volte in questo intervallo di tempo limitato, quindi è necessario indagare ulteriormente:

Fai clic sulla descrizione dell'errore e vedrai un'ampia varietà di informazioni sull'errore. Ecco le informazioni sulla linea superiore:

Scorri verso il basso e puoi vedere i dati contestuali mostrati in JSON. Discuteremo di seguito come è possibile registrare gli eventi con maggiore granularità e contesto.

Scorri ulteriormente e puoi vedere Variabili del server con l'evento:

Ora, saltiamo al Login pagina (puoi anche restringere l'intervallo di tempo per selezione visuale anche qui):

Stai visualizzando i log acquisiti al momento dell'errore sui tuoi server aggregati da Stackify senza dover chiedere ai tuoi amministratori di sistema alcun aiuto o accesso speciale. 

Puoi anche eseguire ricerche full-text su questi file di registro:

E puoi salvare queste ricerche per filtrare rapidamente problemi specifici nella produzione:

L'icona del bug è associata alla visualizzazione dei dettagli di errore modali. Facendo clic sulla sezione iniziale del collegamento ipertestuale blu del JSON viene visualizzato ciò che mostra i dati strutturati registrati.

Quindi, facendo clic sulle icone rosse "bug", posso ingrandire i dati strutturati che ho registrato con l'evento, come customerid, email e orderid:

Ripensare il log degli sviluppatori

Stackify sta cercando di incoraggiare gli sviluppatori a ripensare la registrazione:

La registrazione è spesso una delle poche linee di vita che si hanno negli ambienti di produzione in cui non è possibile collegare e eseguire il debug fisicamente. Si desidera registrare tutti i dati contestuali pertinenti che è possibile.

In altre parole, registra di più, registra più contestualmente e Stackify gestirà e aiuterà a dare un senso ai dati per te.

Come accennato in precedenza, Stackify ha creato appendici di registrazione per una manciata di framework più comuni:

  • log4net
  • log4j
  • nCollegatevi
  • logback
  • Elmah

E puoi scrivere direttamente sulla sua API per personalizzare i dati di log contestuali. Ad esempio, una semplice riga di codice per registrare un evento con un oggetto mostrato di seguito:

log.Debug ("Creato un Foo", foo);

Genera contesto dettagliato nella vista Stackify del file di registro in questo modo:

Altri scenari Stackify abilita

Sistema di allarme rapido per picchi nelle percentuali di errore

Puoi chiedere a Stackify di monitorare i tassi di errore nel tuo ambiente, avvisandoti di soglie di avviso o urgenti:

Esecuzione di attività in background

È possibile impostarli anche per gli eventi di sistema previsti. Ad esempio, è possibile impostare un rate monitor per verificare che l'attività in background venga eseguita tre volte ogni quindici minuti; in caso contrario, Stackify ti avviserà.

Puoi anche impostare gruppi di notifica, in modo che le persone giuste ricevano una notifica con gli eventi giusti:

Valutazione della copertura degli script di test

Puoi anche misurare la variazione dei tassi di errore mentre sposti il ​​codice da test a produzione. Ad esempio, se gli script di test non restituiscono gli stessi errori e gli stessi tassi di errore che si verificano successivamente nella produzione, Stackify può aiutarti a identificare le aree del codice che richiedono una copertura di test più automatizzata.

Ulteriori informazioni su SmartELM

Puoi leggere di più su SmartELM in azione in Smarter Errors & Logs: Inserimento dei dati nel blog Stackify. Qui puoi trovare una documentazione più approfondita su Errors Dashboard e la Dashboard dei registri.

Spero che tu sia impressionato dalle soluzioni SmartELM di Stackify. Ho imparato molto a conoscere il prodotto.

In chiusura

Il sofisticato servizio di tracciamento degli errori e di gestione dei registri basato su cloud di Stackify consente di:

  • Ricevi notifiche via e-mail o testo su errori nuovi e regressi e picchi di errori.
  • Passa ai registri con dati di contesto strutturati dal tuo codice.
  • Esegui una ricerca testuale avanzata in tutti i tuoi errori.
  • Filtra i log in base all'errore, al tempo o alle variabili personalizzate, ad es. Indirizzo IP o ID cliente.
  • Salva le ricerche e controlla le ricerche.
  • Informare i membri del team giusti in tempo.

Stackify incoraggia attivamente gli sviluppatori a modificare la loro mentalità per la registrazione e fornisce potenti funzionalità che ne fanno la pena, ad esempio registra di più, registra in modo intelligente con Stackify; gestiranno i dati e mostreranno i tuoi dati contestuali sul problema che stai indagando. Stackify ha anche uno strumento di monitoraggio delle applicazioni completamente integrato con la piattaforma SmartELM presentata in questo articolo, che consente agli sviluppatori di monitorare anche le prestazioni complessive delle applicazioni, la soddisfazione del cliente, i server, il database, gli URL specifici e le metriche personalizzate.

Stackify è uno strumento per gli sviluppatori professionisti che vogliono migliorare il loro gioco dove conta, in produzione.

Registrati per una prova gratuita su Stackify; puoi anche accedere ai loro white paper attraverso il sito.

Si prega di inviare eventuali commenti o idee aggiuntive di seguito. Provo a partecipare alle discussioni. Facci sapere se desideri saperne di più su Stackify. Puoi sfogliare i miei altri Tuts + tutorial sulla mia pagina dell'autore o seguirmi su Twitter @reifman.

Link correlati

  • Stackify.com 
  • Smart Error & Log Management (Panoramica) 
  • Stackizzare i casi di studio
  • 3 modi per dare un senso agli errori e alla registrazione (blog Stackify)
  • 3 set di dati che portano il contesto alle eccezioni (blog Stackify)
  • Errori e log più intelligenti: mettere i dati al lavoro (blog Stackify)