Questo sito usa cookies, anche di terze parti. Se continui a navigare nel sito, presti il consenso all'uso dei cookies.
Se non sei d'accordo o necessiti di ulteriori informazioni, consulta la nostra Privacy Policy.

Chi segue l’evoluzione dei progetti open source avrà certamente sentito l’acronimo ELK (ora Elastic Stack), che con i suoi 500mila download mensili rappresenta il punto di riferimento per l’analisi, la correlazione e la rappresentazione in tempo reale (e non) dei log.

In estrema sintesi, Elastic Stack è composto da:

  • Elasticsearch, un motore di ricerca interrogabile mediante API RESTful basato sul motore di Apache Lucene;
  • Logstash, uno strumento dedicato alla raccolta dei log che accetta dati da input eterogenei (es. syslog e database), esegue trasformazioni completamente configurabili e li esporta verso diverse destinazioni (tra cui ovviamente Elasticsearch);
  • Kibana, un tool di rappresentazione dei risultati in formato web che usa Elasticsearch come fonte dati.

I casi d’uso di questa suite sono molteplici e non riguardano solo l’ambito IT: business intelligence, security e compliance e web analytics sono solo la punta dell’iceberg. Il numero di applicazioni è sconfinato e dipende solo dalla fantasia e dalla capacità dell’utilizzatore.

Vediamo un caso d’uso concreto recentemente affrontato dal nostro team: l’analisi in tempo reale del traffico di una infrastruttura di Posta Elettronica Certificata (PEC).

CONTESTO

La normativa tecnica che regolamenta il funzionamento della PEC prevede il tracciamento completo di ogni singola mail: a fronte di ogni lavorazione le piattaforme devono produrre delle notifiche relative all’accettazione, alla presa in carico, alla consegna del messaggio o viceversa alla mancata consegna per virus o per altri motivi ben codificati (es. mailbox piena).

 

Flussi PEC

 

Per uno dei principali gestori PEC italiani le attività di troubleshooting relative ad una qualunque anomalia incontrata dagli oltre 2,5 milioni di messaggi gestiti giornalmente rappresentano un impegno non trascurabile.

La PEC non è più solamente un servizio di scambio messaggi sicuri ma si configura come bus su cui si attestano alcuni dei servizi core di grandi aziende e pubbliche amministrazioni

PM Servizi Tecnici PEC presso uno dei principali gestori accreditati

In ogni momento le Operations devono poter ricostruire il percorso seguito da un messaggio in modo da correggere tempestivamente eventuali eccezioni e garantire il massimo livello di efficienza.

I REQUISITI DEL CLIENTE

L’obiettivo del progetto era disporre di un’interfaccia web che mostrasse in tempo reale la lavorazione dei flussi sui vari sistemi, evidenziasse e consentisse di analizzare eventuali problemi che richiedono una gestione manuale.

LA SOLUZIONE

Il censimento e l’analisi preliminare dei log scritti da servizi come Postfix, Dovecot e Amavis nonché dal motore di firma PEC sui numerosi nodi di front-end e back-end ha rappresentato un prerequisito per qualunque analisi successiva: ogni sistema utilizza infatti un formato diverso e, in alcuni casi, deve essere espressamente configurato per tracciare tutti i dati propedeutici alla successiva correlazione.

Ogni servizio è stato configurato per inviare i log a un client syslog-ng che attraverso dei patterndb aggrega i dati (nativamente multi-linea), estrapola le informazioni necessarie al tracciamento e le salva su Redis, un database in-memory da noi utilizzato come sistema di message queueing. Tali dati sono interrogati sia dalla webapp, mediante un tradizionale approccio publish/subscribe, sia da Logstash, che provvede a memorizzarli su Elasticsearch.

 

Diagramma logico

 

Per la rappresentazione in tempo reale delle informazioni non ci siamo affidati a Kibana ma abbiamo sviluppato una web application personalizzata per soddisfare i requisiti del Cliente. Elasticsearch rientra in gioco ogni qualvolta l’utente richieda i dettagli di una transazione: l’applicazione correla le numerose informazioni atomiche provenienti dai diversi sottosistemi e fornisce una visione sintetica e strutturata di facile lettura per l’operatore.

 

Interfaccia operatore

 

Per ogni messaggio in transito vengono rappresentati i principali step di elaborazione ed il relativo stato d’avanzamento aggiornato in tempo reale (ogni box verde rappresenta uno step completato con successo). Nell’area sulla destra vengono invece elencati i messaggi che non riescono ad essere lavorati nei tempi e nei modi previsti: tale lista, tipicamente molto corta o addirittura vuota, consente al team di Operations di risolvere eventuali anomalie prima che venga aperto un ticket dall’utente finale o da un altro gestore PEC.

 

Dettaglio di un flusso PEC

 

La criticità dei servizi erogati impone dei livelli di servizio che vanno oltre quelli richiesti dalla normativa. Ciò ha richiesto l’implementazione di strumenti di monitoraggio end-to-end e real-time che ci permettessero di avere una visione d’insieme sulla lavorazione dei messaggi PEC all’interno dell’infrastruttura.

La soluzione realizzata con Par-Tec ci ha permesso di aumentare il controllo sulla piattaforma e di individuare problemi che avrebbero inciso negativamente sullo SLA di servizio. Abbiamo notevolmente ottimizzato le attività di monitoraggio e di supporto ai clienti finali.

PM Servizi Tecnici PEC presso uno dei principali gestori accreditati

QUALE FUTURO?

Il nostro team sta già lavorando all’evoluzione dello strumento, introducendo nuove funzionalità dedicate alla generazione automatica di report sui casi analizzati e al calcolo delle performance della piattaforma da inserire nei documenti ufficiali riportanti gli SLA del servizio.

Se volete sapere di più sulla nostra offerta di prodotti, soluzioni e servizi in ambito Monitoring & Reporting Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo..

Giovanni Mancuso

Da oltre 10 anni è focalizzato sull’integrazione di tecnologie open source come Postfix, Courier, Dovecot, MySQL e più recentemente Docker e OpenStack. Con il ruolo di System Architect e team leader dei sistemisti è parte attiva nel processo di progettazione e delivery di numerose piattaforme IT. È RHCE e RHCVA.