The project focused on the crucial task of fault detection, and we designed a system that implements two approaches to achieve this goal.
Firstly, we designed a pipeline that allowed us to listen to and view SNMP traps in real time on our web application front-end. This enabled us to promptly identify and address any network faults as they occurred. Additionally, we designed another pipeline that leveraged machine learning tools to analyze SNMP polling data from edge devices, enabling us to gain valuable insights into the network's status. It also applied an innovative solution to allow the user to give feedback for the model to learn from new data.
The system design part of our project was very interesting and we had the opportunity to work with cutting-edge technologies and tools that have greatly enhanced our skills and knowledge. Some of the key technologies and tools we utilized include:
Microservices Architecture and patterns such as API Gateway, Circuit Breaker, and Service Discovery.
Kafka message broker for efficient and reliable data streaming and asynchronous communication.
Elastic Stack, including Elasticsearch and Kibana, as well as Elastic data streams for seamless data management and visualization.
SSE (Server-Sent Events) and RethinkDB for real-time communication.
React Next.js framework with the yarn package manager for building a robust and user-friendly web application.
Spring Boot and Flask frameworks for developing the backend infrastructure.
Ensemble Learning and SMOTE (Synthetic Minority Over-sampling Technique) for machine learning analysis.