Monitoring dei sistemi WSO2 con Elastic Stack
Integrazione WSO2 e Elastic Stack

Monitoring dei sistemi WSO2 con Elastic Stack

Come molti sapranno tutti i prodotti WSO2 possono essere configurati per generare dei file di logs che offrono la possibilità di essere utilizzati per scopi di controllo e per monitorare l'integrità e lo stato dei sistemi da parte degli amministratori. 

Oggi parleremo di come utilizzando Elastic Stack siamo in grado di monitorare le attività dei prodotti WSO2 come ad esempio Enterprise Integrator o Api Manager.

Per alcuni dei prodotti WSO2 viene fornito il cosiddetto profilo di Analytics, ovvero un sistema supplementare con cui è possibile monitorare alcuni aspetti tecnici dell’esecuzione del workflow.

Questo consente di garantire il corretto funzionamento del sistema, ottenere feedback sulle prestazioni, fornire statistiche, report e grafici sulle risorse distribuite nei sistemi WSO2 consente inoltre di configurare gli avvisi per notificare comportamenti insoliti e condizioni di errore quasi in tempo reale.

Attraverso l’utilizzo di ElasticStack è possibile invece centralizzare la gestione di queste informazioni, al quale è possibile aggiungere un taglio diverso, volendo più completo e avanzato rispetto ad Analytics, andando per esempio anche a gestire delle statistiche o a monitorare dei parametri legati in modo più intrinseco alla gestione applicativa.

Ma andiamo a conoscere meglio ElasticStack:

L'implementazione standard di ElasticStack utilizza cinque componenti principali :


  • Filebeat
  • Logstash
  • Elasticsearch
  • Kibana
  • X-Pack (opzionale)

Il seguente diagramma mostra come viene eseguito il monitoraggio dei log WSO2 utilizzando Elastic Stack.

Non è stato fornito nessun testo alternativo per questa immagine

  

Il client Filebeat legge le righe di registro dai file di log dei prodotti WSO2 (pertanto Filebeat deve essere eseguito sullo stesso server dove questi ultimi risiedono ) e le invia verso il server atto ad ospitare l’architettura ELK, dove in ascolto c’è il Logstash che si occupa della manipolazione delle informazioni ricevute.

Logstash analizza le linee di log non elaborate in un formato utile, utilizzando dei filtri denominati “grok” che sono specifici per i log della componente che si sta monitorando, questo perchè sono scritti in maniera tale da parsificare la stringa di logs prodotta.

Il seguente esempio mostra un filtro grok per la manipolazione della stringa di logs che fa riferimento ad una login/logout dall’administration console di un api manager 3.1.0


grok {

  match => { "message" => "TID: \[%{GREEDYDATA:tenant_id}\] \[%{GREEDYDATA:code}\] \[%{TIMESTAMP_ISO8601:timestamp}\] %{LOGLEVEL:loglevel} \{%{GREEDYDATA:authenticator}\} - \'%{GREEDYDATA:user} \[% 

               {GREEDYDATA:tenant_id}\]\' %{GREEDYDATA:action} at \[%{TIMESTAMP_ISO8601:actiontime}\]"}

  }

Una volta effettuata la manipolazione dei dati questi vengono convogliati verso Elasticsearch che si occupa della loro memorizzazione e storicizzazione.

Kibana è configurata per leggere i dati da Elasticsearch e ci fornisce degli strumenti di visualizzazione attraverso l’utilizzo di dashboard.

Una volta che tutte le componenti sono state configurate e l’intero stack è attivo, è quindi possibile iniziare a visualizzare I dati su Kibana:

Non è stato fornito nessun testo alternativo per questa immagine


La dashboard di esempio mostra il grafico dei logs “grezzi”. È possibile attraverso l’utilizzo di indici e raggruppamenti, graficare informazioni in modo più congeniale possibile al visualizzatore finale.

Il pacchetto di sicurezza X-Pack consente di crittografare il traffico da, verso e all'interno del cluster Elasticsearch; le connessioni sono protette utilizzando Transport Layer Security (TLS), comunemente indicato come "SSL".

Per approndimenti riguardo alla crittografia dei dati si rimanda alla seguente guida ufficiale https://www.elastic.co/guide/en/x-pack/current/encrypting-communications.html.

Per ulteriori informazioni iscriviti al gruppo WSO2 italia o scrivi a Profesia (wso2.sales@profesia.it), Distributore italiano di WSO2, per prenotare una sessione dedicata con un esperto.

Per visualizzare o aggiungere un commento, accedi

Altre pagine consultate