Repository logo
 
Loading...
Thumbnail Image
Publication

Real-time failure prediction in distributed systems via log analysis: A proof of concept

Use this identifier to reference this record.
Name:Description:Size:Format: 
Tese_5955.pdf3.16 MBAdobe PDF Download

Abstract(s)

In order to ensure high reliability in distributed systems, it is necessary to implement predictive maintenance strategies. However, manual log analysis is not a viable option when applied at scale. Modern systems and IoT devices generate a huge volume of heterogeneous logs, and unplanned outages can incur costs in the hundreds of thousands of dollars per hour. Conventional rule-based methodologies are incapable of accommodating the dynamic nature of distributed architectures; thus, there is a necessity for automated and scalable approaches. The present dissertation proposes a methodology for the transformation of raw logs into structured sequences, the extraction of informative features, and the training of machine-learning models for the purpose of predicting imminent system failures. The HDFS_v1 dataset from LogHub was utilised in the study, comprising over 11 million log lines collected from a 203-node private cloud cluster with injected anomalies. The study involved the cleaning and structuring of log sequences, as well as the derivation of unigrams, bigrams and temporal metrics. The baseline random forest and gradient-boosting models (XGBoost, LightGBM, CatBoost) are tuned via a randomised search and evaluated with 10-fold cross-validation. All models achieve macro-F1 scores above 0.98; LightGBM (0.9872) slightly exceeds XGBoost (0.9850), but statistical tests reveal no significant difference between them. The assessment of real-time performance is conducted within a simulated log-streaming environment. It is evident that both models demonstrate a high level of adaptability, with final correct-prediction ratios of approximately 0.973 (XGBoost) and 0.905 (LightGBM), and inference latencies of less than one second. LightGBM has been shown to exhibit greater flexibility, reclassifying failing blocks back to normal more frequently, whereas XGBoost has been observed to maintain failure states for a longer duration. A downtimeavoidance analysis reveals that warnings from XGBoost prevent only 3.6% of downtime (90 minutes out of 2,520 possible minutes), whereas LightGBM avoids 39.3% (990 minutes) by predicting failures earlier. The findings demonstrate the viability of machine-learning-based log analysis for predictive maintenance in distributed systems, underscore the trade-off between conservative and flexible models, and motivate future work on adaptive ensembles, confidence-based decision mechanisms and validation with production-scale data.
De modo a garantir alta confiabilidade em sistemas distribuídos, é necessário implementar estratégias de manutenção preditiva. No entanto, a análise manual de logs não é uma opção viável quando aplicada em grande escala. Os sistemas modernos bem como os dispositivos IoT geram um enorme volume de logs heterogéneos, e interrupções não planeadas podem acarretar custos de centenas de milhares de dólares por hora. As metodologias convencionais baseadas em regras são incapazes de acomodar a natureza dinâmica das arquiteturas distribuídas; portanto, há uma necessidade de abordagens automatizadas e escaláveis. A presente dissertação propõe uma metodologia para a transformação de logs brutos em sequências estruturadas, a extração de características informativas e o treino de modelos de machine learning com o objetivo de prever falhas iminentes no sistema. O dataset HDFS_v1, proveniente do projeto LogHub foi utilizado no estudo, compreendendo mais de 11 milhões de logs coletados a partir de um private cloud cluster contendo 203 nós com anomalias injetadas. O estudo envolveu a limpeza e estruturação de sequências de logs, bem como a derivação de unigramas, bigramas e métricas temporais. Os modelos base Random Forest e gradient boosting (XGBoost, LightGBM, CatBoost) são ajustados através de uma pesquisa aleatória e avaliados com validação cruzada de 10 vezes. Todos os modelos alcançam pontuações macro-F1 acima de 0,98. O LightGBM (0,9872) excede ligeiramente o XGBoost (0,9850), contudo testes estatísticos revelam que não há diferença significativa entre eles. A avaliação do desempenho em tempo real é realizada num ambiente simulado de log-streaming. É evidente que ambos os modelos demonstram um alto nível de adaptabilidade, com taxas finais de previsões corretas de aproximadamente 0,973 (XGBoost) e 0,905 (LightGBM) e latências de inferência inferiores a um segundo. O LightGBM demonstrou maior flexibilidade, reclassificando blocos com falha de volta ao normal com mais frequência, enquanto o XGBoost manteve os estados de falha por um período mais longo. Uma análise de prevenção de tempo de inatividade revela que os alertas do XGBoost evitam apenas 3,6% do tempo de inatividade (90 minutos de 2.520 minutos possíveis), enquanto o LightGBM evita 39,3% (990 minutos) ao prever falhas mais cedo. Os resultados demonstram a viabilidade da análise de logs baseada em aprendizagem automática para manutenção preditiva em sistemas distribuídos, destacam o compromisso entre modelos conservadores e flexíveis e motivam trabalhos futuros sobre adaptive ensembles, mecanismos de decisão baseados em confiança e validação com dados em escala de produção.

Description

Keywords

Log Analysis Failure Prevention Machine Learning XGBoost LightGBM

Pedagogical Context

Citation

Research Projects

Organizational Units

Journal Issue

Publisher

CC License

Without CC licence