A powerful and extensible log parsing web application built with the MERN stack. Supports real-time parsing, visualization, and querying of multiple log formats, including: - Nginx Logs - JSON Structured Logs - Syslog Format - Docker Logs - Kernel Logs Deployed via Docker Compose and using MongoDB Atlas as the cloud database backend. --- ## 🚀 Features - 📄 Multi-format log parsing engine (pluggable architecture) - 📊 Interactive web UI with real-time log updates - 🔍 Advanced filtering, search, and pagination - 🧩 Supports structured and unstructured log formats - 📦 Dockerized with `docker-compose` for easy deployment - ☁️ MongoDB Atlas integration for scalable storage --- ## 🛠️ Tech Stack - **Frontend**: React + Tailwind + Chart.js - **Backend**: Node.js + Express - **Database**: MongoDB Atlas - **Log Parsing**: Custom parsing logic per format - **Deployment**: Docker, Docker Compose --- ## ⚙️ Prerequisites - Docker + Docker Compose installed - MongoDB Atlas connection string - Node.js (if running locally without Docker) --- ## 📦 Installation ```bash # Clone the repository git clone https://github.com/your-username/log-parser.git cd log-parser # Create your .env file cp .env.example .env # Edit .env to add your MongoDB Atlas URI and other settings# From root directory docker-compose up --buildThe frontend will be available at: 📍 http://localhost:3000
API will be running at: 📍 http://localhost:5000
MONGO_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/logs├── backend/ │ ├── parsers/ │ │ ├── nginx.js │ │ ├── json.js │ │ ├── syslog.js │ │ └── ... │ ├── routes/ │ ├── controllers/ │ └── app.js ├── frontend/ │ ├── components/ │ ├── pages/ │ └── App.jsx ├── docker-compose.yml ├── Dockerfile ├── README.md └── .env.example - Upload or stream log files via UI or API
- Select parser (or auto-detect)
- Filter logs by date, level, service, etc.
- Visualize log trends with charts
- User authentication and RBAC
- Log export (CSV, JSON)
- Alerting system (Slack, Email)
- Kubernetes log support
- Elasticsearch integration
- Fork the repo
- Create your feature branch (
git checkout -b feature/foo) - Commit your changes (
git commit -m 'Add some foo') - Push to the branch (
git push origin feature/foo) - Open a pull request
Shubham Nimkar 🔗 GitHub 🔗 LinkedIn



