Skip to content

adityakanu/Log-Ingestor-with-Query-Interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues


Logo

Issue Tracker and Log Ingestor


Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

Screenshot-Webpage 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.

Log Ingestion

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.

Issue Query Interface

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.

Built With

These are the major technologies used to build the software

  • React
  • Express.JS
  • MongoDB

Load Testing

Here's the report of a Load Test with 100 Virtual Users for 1 min:

Screenshot-from-2023-12-01-14-45-10.png

Getting Started

This project is a simple log management system with a front-end for logging ingestion and a backend for verifying and displaying logs.

Backend Setup

  1. Clone the repository:

    git clone https://github.com/adityakanu/Log-Ingestor-with-Query-Interface.git
    cd Log-Ingestor-with-Query-Interface
  2. Install dependencies:

    cd backend
    npm install
  3. 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
  4. Run the backend server:

    npm start

    The backend server will be running at http://localhost:3000.

Frontend Setup

  1. Install dependencies:

    cd frontend
    npm install
  2. Run the frontend development server:

    npm run dev

    The front end will be available at http://localhost:5173.

Usage

  • 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.

Roadmap

  • Add query using multiple filters
  • Query issues between dates
  • Role-wise issue management
  • Export of filtered data into CSV

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Your Name - @adityakanu_ - official.adityakanu@gmail.com

(back to top)

About

A Log Ingestor with Query Interface

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published