La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta.

Presentazioni simili


Presentazione sul tema: "Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta."— Transcript della presentazione:

1 Monitoring applicativo SaaS Tutorial 30/09/2015

2 Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta da un sistema informativo nell’ambito dei processi di business o aziendali. Questo può essere ottenuto mediante:  Monitoraggio funzionale La tracciatura delle attività funzionali delle applicazioni Il monitoraggio dei processi  Uno strumento che consenta di creare metriche per l’aggregazione delle attività funzionali in indicatori utili alle analisi di business.

3 Funzionalità implementate Censimento dei processi e delle attività funzionali (primo prototipo) Disegno dei processi (secondo prototipo) Dashboard per il monitoraggio dei processi e delle attività funzionali (primo prototipo) Alerting sui processi (secondo prototipo) Possibilità di esaminare gli eventi prodotti dal monitoraggio infrastrutturale che potrebbero essere collegati ad una anomalia segnalata dal monitoraggio applicativo (secondo prototipo) Possibilità di creare metriche, schedularne l’esecuzione e visualizzarne il risultato (secondo prototipo) Accesso centralizzato ai log applicativi (primo prototipo)

4 Utilizzatori Process Stakeholder – Può monitorare la corretta esecuzione dei processi e, in caso di anomalia, individuare facilmente le responsabilità. BI Analyst – Può creare metriche per raccogliere informazioni utili per l’analisi dei processi di business. Application Developer – Utilizza la piattaforma per il troubleshooting. Es. gli è stato segnalato un errore ma in maniera poco circostanziata, tramite la piattaforma può ricostruire con precisione il caso d’uso che lo ha provocato. System Administrator – Utilizza la piattaforma per il troubleshooting. Es. gli sono stati segnalati rallentamenti ma le macchine non sono in sofferenza, tramite la piattaforma può verificare dove le attività funzionali procedono più lentamente per isolare un errore di configurazione.

5 Architettura Logica definitiva (secondo prototipo) Probe API e Event API – generano eventi applicativi. ESB e Complex Event Processor Raccolgono gli eventi. Li elaborano e li correlano. Controllano i processi e creano eventi di errore. Base dati No-Sql memorizza eventi e log Servizi Tutte le funzionalità offerte dalla piattaforma sono esposti come servizi I log non hanno bisogno di essere elaborati, vengono raccolti e memorizzati direttamente su base dati documentale.

6 Architettura del primo prototipo Verranno introdotti successivamente gli altri componenti: Probe API (invio degli eventi automatizzato) ESB e Complex Event Processor (verifica esecuzione processi) Console di configurazione metriche e trigger

7 Architettura del primo prototipo I prodotti utilizzati: Elasticsearch Logstash Kibana Tomcat Il software sviluppato: Applicazioni di test Event API Servizi Console di monitoraggio

8 Integrare le applicazioni, le librerie Event API Permette di creare e inviare eventi dal codice applicativo Probe API Verrà istallata sui container applicativi. Provvederà, in maniera automatica e senza la necessità di interventi sul codice, a segnalare tutte le attività il cui completamento richiederà l’attraversamento dei confini del container applicativo.

9 Integrare le applicazioni, il modello dati dell’evento L’evento è un messaggio che viene generato nell’applicazione e che trasporta le informazioni di monitoraggio:  Principali informazioni del contesto funzionale-applicativo Processo Esecuzione Attività Applicazione  Principali informazioni del contesto infrastrutturale Identificativo macchina PID  Eventuali dati di business Molte di queste informazioni verranno generate automaticamente dalla piattaforma o dalle librerie

10 Integrare le applicazioni, il modello dati dell’evento Processo - L’istanza di un processo raggruppa tutte le attività funzionali che sono svolte all’interno di un processo funzionale riconoscibile dall’utente. E’ composto da una o più esecuzioni. All’interno di un evento è memorizzata sia la classe del processo a cui sta partecipando (il codice processo) che l’identificazione della sua istanza concreta (id processo) Esecuzione - Raggruppa tutti gli eventi e le attività funzionali svolte all’interno di un thread applicativo intesa come una successione strettamente sequenziale di istruzioni (Es. l’elaborazione di una http request da parte di una servlet). Un’esecuzione è definita da una evento che ne segnala l’inizio ed un altro che ne sancisce la fine. Attività - Modella una generica attività funzionale, come ad esempio l’emissione di una fattura. E’ sempre composta da un evento che ne segnala l’inizio ed un evento che ne segnala la fine. Applicazione – Ogni processo viene contrassegnato con un codice applicazione che identifica univocamente da quale modulo applicativo è stato generato.

11 Integrare le applicazioni, gli step 1.Censire i processi, le esecuzioni, le attività e le applicazioni nella piattaforma di monitoraggio tramite la console web. 2.Inserire la libreria nel classpath dell’applicazione. 3.Usare la classi EventFactory e EventDispatcher per creare ed inviare gli eventi.

12 Integrare le applicazioni, code snippet //Creo un evento (rappresentato dalla classe AppEvent) che segnala l’inizio del //thread applicativo (esecuzione) AppEvent eventStartExec = EventFactory.createStartExecutionEvent( Costanti.COD_PROCESSO_AGGIORNA_AUTORE, idInstProcesso, Costanti.COD_APPLICAZIONE, Costanti.COD_ESEC_VISUALIZZA_AUTORE, "inizio a preparare la pagina per la visualizzazione dell'autore" ); //Invio l’evento EventDispatcher.sendByLog(eventStartExec); …

13 Esempio completo, preparare una Servlet public void doPost(HttpServletRequest req, HttpServletResponse resp){ //creo un id di processo a partire dall’id della sessione String idInstProcesso = req.getSession().getId()+"-"+new Date().getTime(); //lo memorizzo in sessione per poterlo recuperare nelle successive richieste req.getSession().setAttribute("idInstProcesso", idInstProcesso); //Creo un evento (rappresentato dalla classe AppEvent) che segnala l’inizio del //thread applicativo (esecuzione) AppEvent eventStartExec = EventFactory.createStartExecutionEvent( "updateFormAutore1", "inizio dell'esecuzione per la visualizzazione dell'autore da modificare", Costanti.COD_PROCESSO_AGGIORNA_AUTORE, idInstProcesso, Costanti.COD_APPLICAZIONE, Costanti.COD_ESEC_VISUALIZZA_AUTORE, "inizio a preparare la pagina per la visualizzazione dell'autore"); //invio l’evento EventDispatcher.sendByLog(eventStartExec); …Codice applicazione..

14 Esempio completo, preparare una Servlet //Creo un evento che segnala l’inizio di una attività funzionale AppEvent eventStartAtt = EventFactory.createStartActionEvent(eventStartExec, "updateFormAutore2", "inizio query", Costanti.COD_ATT_INTERROGA_ENTITA_AUTORE, "inizio query"); //invio l’evento EventDispatcher.sendByLog(eventStartAtt); …Codice applicazione.. //Creo e invio un evento che segnala un errore applicativo if (…condizione di errore…){ EventDispatcher.sendByLog(EventFactory.createErrorEvent( eventStartAtt, "updateAutoreErr ", "Errore durante l'aggiornamento", "Il cognome di un autore non può essere lasciato vuoto (" + autore.getNome() + ")" ) ); } …Codice applicazione.. //Creo e invio un evento che segnala la fine di una attività funzionale EventDispatcher.sendByLog(EventFactory.createEndActionEvent(eventStartAtt, "updateFormAutore3", "fine query", "fine query") ); …Codice applicazione.. //Creo e invio un evento che segnala la fine del thread applicativo (esecuzione) EventDispatcher.sendByLog( EventFactory.createEndExecutionEvent(eventStartExec, "updateFormAutore4", "fine dell'esecuzione per la visualizzazione dell'autore da modificare", "pagina per la visualizzazione dei dettagli dell'autore preparata") ); }

15


Scaricare ppt "Monitoring applicativo SaaS Tutorial 30/09/2015. Finalità Il monitoraggio applicativo per verificare, quantificare e controllare l’automazione introdotta."

Presentazioni simili


Annunci Google