Skip to content

Open-source tool for dynamic monitoring of three databases: MongoDB, PostgreSQL, and MariaDB/MySQL. The tool allows users to specify connection credentials, subsequently, visualize custom dashboards in Grafana for one or several databases combined.

License

Notifications You must be signed in to change notification settings

Anyel-ec/SecurityMonitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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.

Select Language:

Features

  1. 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.
  2. 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.
  3. Grafana Visualization:

    • Preconfigured Grafana dashboards that activate according to the databases selected by the user.
  4. Notification Sending:

    • Notifications are sent using Alertmanager.

Results

Welcome

Alt text

Installation of admin user, Grafana, Prometheus, and other components

Alt text

Login

Alt text

Login (Dark mode)

Alt text

Password recovery (Dark mode)

Alt text

Credential management for Database Management Systems

Alt text

Alert activation for Database Management Systems

Alt text

Alert modification

Alt text

Alert notifications triggered by rule conditions

Alt text

User management

Alt text

User management (full system supports dark mode)

Alt text

User creation

Alt text

User creation email received

Alt text

Grafana Dashboards - PostgreSQL

Alt text

Grafana Dashboards - MariaDB/MySQL

Alt text

Grafana Dashboards - MongoDB

Alt text

Grafana Dashboards - MongoDB + MariaDB/MySQL + PostgreSQL

Alt text

Developer, Administrator, and User Manuals

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)

Technologies Used

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

Installation and Usage

1. Clone the Repository

git clone https://github.com/Anyel-ec/SecurityMonitoring
cd SecurityMonitoring

2. Run Docker

Make sure Docker is running before proceeding with the setup.

3. Run the Frontend

  • Navigate to the Frontend folder
  • Install dependencies:
    npm install
  • Then start the project with:
    npm run dev

4. Run the Backend

  • 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

5. Refer to the Administrator Manual

For more detailed setup and system administration instructions, please check the following document:
๐Ÿ“˜ Administrator Manual (PDF)

Contributions

If you wish to contribute to this project, please open an issue or submit a pull request.

License

This project is licensed under the BSD 3-Clause "New" or "Revised" License.

Team and Project Information

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

About

Open-source tool for dynamic monitoring of three databases: MongoDB, PostgreSQL, and MariaDB/MySQL. The tool allows users to specify connection credentials, subsequently, visualize custom dashboards in Grafana for one or several databases combined.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published