Open Source Tool for Monitoring MariaDB, PostgreSQL, and MongoDB Databases with Prometheus and Grafana
This project aims to develop an open-source tool for the dynamic monitoring of three databases: MongoDB, PostgreSQL, and MariaDB/MySQL. The tool allows users to specify connection credentials through a React web interface and view personalized dashboards in Grafana for one or multiple combined databases.
The backend is developed using Spring Boot and leverages Prometheus and Grafana to collect and visualize metrics from the selected databases.
-
Database Connection Configuration:
- Users can specify credentials to connect MongoDB, PostgreSQL, and MariaDB via a dynamic form in the React application.
- Supports combinations of different databases: for example, monitoring only MongoDB, PostgreSQL, or MariaDB, or combinations such as MongoDB + PostgreSQL.
-
Dynamic Monitoring:
- The Spring Boot backend receives the credentials provided by the user and configures the database connections.
- Metrics are collected with Prometheus and visualized in Grafana.
-
Grafana Visualization:
- Preconfigured Grafana dashboards that activate according to the databases selected by the user.
-
Notification Sending:
- Notifications are sent using Alertmanager.
Inside the docs/manual
folder, you will find the corresponding manuals.
You can access the administrator manual here:
๐ Administrator Manual (PDF)
You can access the developer manual here:
๐ Developer Manual (PDF)
You can access the user manual here:
๐ User Manual (PDF)
- Frontend: React (built with Vite), React Bootstrap for dynamic form design.
- Backend: Spring Boot.
- Monitoring and Visualization: Grafana and Prometheus.
- Database Management Systems: MongoDB, PostgreSQL, MariaDB, and H2 Database.
- Containers: Docker and Docker Compose for service orchestration.
git clone https://github.com/Anyel-ec/SecurityMonitoring
cd SecurityMonitoring
Make sure Docker is running before proceeding with the setup.
- Navigate to the
Frontend
folder - Install dependencies:
npm install
- Then start the project with:
npm run dev
- Navigate to the
Backend
folder - Make sure all dependencies from
pom.xml
are downloaded - Run the project using your development environment or via Maven/Gradle
For more detailed setup and system administration instructions, please check the following document:
๐ Administrator Manual (PDF)
If you wish to contribute to this project, please open an issue or submit a pull request.
This project is licensed under the BSD 3-Clause "New" or "Revised" License.
Open source tool service for dynamic monitoring of three DBMS: MongoDB, PostgreSQL, and MariaDB/MySQL.
Project Manager: Ing. Luis Chica, Mgtr - GitHub Profile
Developer: Ing. Angel Patiรฑo - GitHub Profile