Table of Contents
The project is structured into two main parts: the backend (Express server) and the frontend (React application).
backend: Contains the Express server, MongoDB models, and routes.
frontend: Contains the React application using Vite.
The log ingestion feature allows you to submit logs to the backend. You can navigate to the log ingestion page (/ingest), fill in the log details, and submit the form.
The log query interface (/logs) enables you to search and filter logs based on criteria such as log level, message, resource ID, timestamp, and more. Select a property, enter a value, and click "Query Logs" to view the filtered logs in a tabular format.
These are the major technologies used to build the software
Here's the report of a Load Test with 100 Virtual Users for 1 min:
This project is a simple log management system with a front-end for logging ingestion and a backend for verifying and displaying logs.
-
Clone the repository:
git clone https://github.com/adityakanu/Log-Ingestor-with-Query-Interface.git cd Log-Ingestor-with-Query-Interface
-
Install dependencies:
cd backend npm install
-
Set up MongoDB:
Create a MongoDB Atlas cluster and obtain the connection string.
Create a .env file in the backend directory and add the MongoDB connection string:
MONGODB_URI=your-mongodb-connection-string
-
Run the backend server:
npm start
The backend server will be running at http://localhost:3000.
-
Install dependencies:
cd frontend npm install
-
Run the frontend development server:
npm run dev
The front end will be available at http://localhost:5173.
- You can use the Log Ingestor to insert logs or directly send Logs to http://localhost:3000.
- The Logs can be viewed in the query interface.
- Add query using multiple filters
- Query issues between dates
- Role-wise issue management
- Export of filtered data into CSV
Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Your Name - @adityakanu_ - official.adityakanu@gmail.com