Creating a Scalable Log Analytics Pipeline with GitOps
Bachelor thesis
Permanent lenke
https://hdl.handle.net/11250/3139810Utgivelsesdato
2024Metadata
Vis full innførselSamlinger
Sammendrag
Norges Teknisk-Naturvitenskapelige Universitet (NTNU) sin SOC ser økende behov for observasjonsevne og logganalyse for å effektivt håndtere hendelser og overvåke driften av infrastrukturen de beskytter. Dette er spesielt viktig i kontainermiljøer, hvor en kontainer kan være avsluttet når en hendelse oppdages, noe som gjør logganalyse essensielt for å forstå hva som har skjedd. For å forbedre sin sin støtte for cloud-native logging, foreslo NTNU SOC å bygge en proof-of-concept (POC) logganalyse-pipeline. Prosjektet fokuserer på å designe, implementere og evaluere en slik pipeline, med bruk av åpen kildekode-verktøy som OpenSearch, Apache Kafka og Vector. I tillegg skulle prosjektet bygge på IAC-verktøy som Terraform og Ansible for automatisert provisjonering av infrastrukturen i SkyHiGh, NTNU sin implementasjon av Openstack-skyen.
Projektet har resultert i en fungerende logganalyse-pipeline, som demonstrerer hvordan man kan håndtere store mengder data fra ulike kilder i et cloud-native miljø. Pipelinen er definert som kode, noe som sikrer sporbarhet og reproduserbarhet, og er implementert ved hjelp av GitOps-metodikk.
Gjennom testing av pipelinen ble dens funksjonalitet og skalerbarhet evaluert. Vi oppnådde en fungerende referanse arkitektur for en skalerbar logg innhenting og prosesserings-infrastruktur, som vil fungere som et utgangspunkt for videre arbeid. Imidlertidig avdekket testingen også ytelsesutfordringer med OpenSearch under høy belastning. Dette indikerer behov for videre optimalisering av OpenSearch-konfigurasjonen for å håndtere store datamengder effektivt. The Norwegian University of Science and Technology (NTNU) SOC sees a growing need for observation capabilities and log analysis to effectively handle incidents and monitor the operation of the infrastructure they protect. This is especially important in container environments, where a container may have terminated when an event is detected, making log analysis essential to understanding what has happened. To improve its support for cloud-native logging, NTNU SOC proposed to build a proof-of-concept (POC) log analysis pipeline. The project focuses on designing, implementing and evaluating such a pipeline, using open-source tools such as OpenSearch, Apache Kafka and Vector. In addition, the project was to build on IAC tools such as Terraform and Ansible for automated provisioning of the infrastructure in SkyHiGh, NTNU's implementation of the Openstack cloud.
The project has resulted in a working log analysis pipeline, which demonstrates how to handle large amounts of data from various sources in a cloud-native environment. The pipeline is defined as code, which ensures traceability and reproducibility, and is implemented using GitOps methodology.
Through testing the pipeline, its functionality and scalability were evaluated. We achieved a working reference architecture for a scalable log acquisition and processing infrastructure, which will serve as a starting point for further work. However, the testing also revealed performance challenges with OpenSearch under high load. This indicates a need for further optimization of the OpenSearch configuration to handle large amounts of data efficiently.