Riassunto analitico
Sistemi Cloud che offrono servizi su larga scala stando diventando sempre più grandi e complicati da gestire. Una singola anomalia può impattare l’esperienza di milioni di utenti, e individuarla in tempo può aiutare gli operatori nel contenere le perdite e a costruire sistemi più sicuri e affidabili. Lo scopo principale dei messaggi di log è di memorizzare e tenere traccia dello stato del sistema e degli eventi critici aiutando gli operatori nell’individuazione dei problemi e guasti. Tipicamente questi sistemi sono implementati e mantenuti da centinaia di sviluppatori e operatori, dove il singolo non ha una conoscenza completa dell’intero sistema, perciò tende a individuare gli errori nei messaggi sulla base della propria prospettiva, e in aggiunta più il sistema cresce e più l’analisi manuale diventa complessa e lenta, dove la ricerca di parole specifiche (“errore”, “fallimento”) può portare a risultati sbagliati o inutili. Lo scopo della mia tesi è quella di creare uno strumento (LogX) per supportare gli operatori nell’individuazione di problemi ed eventi rilevanti nel sistema cloud senza dover analizzare grandi quantità di messaggi, mostrando per ogni evento una breve descrizione del problema e le componenti associate, come nome dei servizi, host e indirizzi IP. Infine, l’algoritmo è stato testato in un ambiente cloud di piccole dimensioni creato in laboratorio e in uno di grandi dimensioni della Huawei, ottenendo ottimi risultati sia nell’individuazione delle anomalie e sia nella generazione di una descrizione coerente con il problema.
|
Abstract
Huawei Cloud systems have grown exponentially in scale with users that are spread across the globe and services more diversified. Thus, large scale services have become increasingly more agile and complex, and the number of network devices in cloud data centers has had to increase over the years. In this situation, a single anomaly can impact the experience of millions of users, and accurate and timely anomaly detection can help operators and developers to quickly mitigate losses and to build a secure and trustworthy system. Traditionally, in a standalone system, developers and operators manually check system logs or write rules to detect anomalies based on their domain knowledge. However, this no longer applies to today’s systems. As the number of servers and applications grows, the amount of log data that are produced quickly become too big to analyze manually.
This master thesis aims to develop an algorithm for automatic detection of errors and suspicious behavior through log analysis. After a first analysis of the definition of logs, we have developed and evaluated different existing solutions in the context of log analysis to provide support to Huawei operators by detecting anomalous log sequence. However, we have faced real problems: the quantity of noise information and the redundancy in the messages. Therefore, we have decided to change the approach and shift from sequence analysis to the event analysis by reconstruing the history of the failures. We have introduced the new concept of "error event" and implemented the first approach, called LogX. The algorithm correlates messages in two dimensions: time and meaning, to construct error events, which represent system failures, one for each event. Finally, the operator receives the system history like a sequence of "events", which contain: a brief description, an impact score, the time interval, and a list of parameters (e.g. IP address, service name, host).
|