Skip to content

Latest commit

 

History

History
152 lines (102 loc) · 5.88 KB

File metadata and controls

152 lines (102 loc) · 5.88 KB

Herramienta Open Source para el Monitoreo de Bases de Datos MariaDB, PostgreSQL y MongoDB con Prometheus y Grafana

Este proyecto tiene como objetivo desarrollar una herramienta open-source para el monitoreo dinámico de tres bases de datos: MongoDB, PostgreSQL y MariaDB/MySQL. La herramienta permite a los usuarios especificar credenciales de conexión a través de una interfaz web en React y visualizar paneles personalizados en Grafana para una o varias bases de datos combinadas.

El backend está desarrollado con Spring Boot y utiliza Prometheus y Grafana para recopilar y visualizar las métricas de las bases de datos seleccionadas.

Select Language:

Características

  1. Configuración de Conexión a Bases de Datos:

    • Los usuarios pueden especificar credenciales para conectar MongoDB, PostgreSQL y MariaDB a través de un formulario dinámico en la aplicación React.
    • Permite la combinación de diferentes bases de datos: por ejemplo, monitorear solo MongoDB, PostgreSQL o MariaDB, o combinaciones como MongoDB + PostgreSQL.
  2. Monitoreo Dinámico:

    • El backend en Spring Boot recibe las credenciales proporcionadas por el usuario y configura las conexiones a la base de datos.
    • Se recopilan métricas con Prometheus y se visualizan en Grafana.
  3. Visualización en Grafana:

    • Dashboards preconfigurados en Grafana que se activan según las bases de datos seleccionadas por el usuario.
  4. Envío de notificaciones:

    • Envío de notificaciones mediante Alertmanager.

Resultados

Bienvenido

Alt text

Instalación del usuario administrador, Grafana, Prometheus y demás complementos

Alt text

Inicio de sesión

Alt text

Inicio de sesión (Modo oscuro)

Alt text

Recuperar contraseña (Modo oscuro)

Alt text

Gestión de credenciales de los Sistemas de Gestión de BD

Alt text

Activación de alertas para los Sistemas de Gestión de BD

Alt text

Modificación de alertas

Alt text

Envío de alertas al cumplirse reglas

Alt text

Gestión de usuarios

Alt text

Gestión de usuarios (todo el sistema compatible con modo oscuro)

Alt text

Creación de usuarios

Alt text

Recepción de correo de creación de usuarios

Alt text

Paneles de control en Grafana - PostgreSQL

Alt text

Paneles de control en Grafana - MariaDB/MySQL

Alt text

Paneles de control en Grafana - MongoDB

Alt text

Paneles de control en Grafana - MongoDB + MariaDB/MySQL + PostgreSQL

Alt text ¡Claro! Aquí tienes tu texto corregido, con redacción clara, tildes, buena estructura y con el enlace al PDF vinculado correctamente para que puedan acceder al manual:


Manuales de Desarrollador, Administrador y Usuario

Dentro de la carpeta docs/manual se encuentran los manuales correspondientes.

Puedes acceder al manual del administrador aquí:
📄 Manual del Administrador (PDF)

Puedes acceder al manual del administrador aquí:
📄 Manual del Desarrollador (PDF)

Puedes acceder al manual del administrador aquí:
📄 Manual del Usuario (PDF)

Tecnologías Utilizadas

  • Frontend: React (creado con Vite), React Bootstrap para el diseño de formularios dinámicos.
  • Backend: Spring Boot.
  • Monitoreo y Visualización: Grafana y Prometheus.
  • Sistemas de Gestión de Bases de Datos: MongoDB, PostgreSQL, MariaDB y H2 Database.
  • Contenedores: Docker y Docker Compose para la orquestación de servicios.

Instalación y Uso

1. Clonar el Repositorio

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

2. Ejecutar Docker

Es importante tener Docker iniciado para continuar con el proceso.

3. Ejecutar el Frontend

  • Dirígete a la carpeta Frontend
  • Instala las dependencias:
    npm install
  • Luego ejecuta el proyecto:
    npm run dev

4. Ejecutar el Backend

  • Dirígete a la carpeta Backend
  • Asegúrate de que las dependencias del archivo pom.xml se descarguen correctamente
  • Ejecuta el proyecto desde tu entorno de desarrollo con Maven

5. Consultar el Manual del Administrador

Para más detalles sobre la configuración y administración del sistema, puedes revisar el siguiente documento:
📘 Manual del Administrador (PDF)

Contribuciones

Si deseas contribuir a este proyecto, puedes abrir un issue o enviar un pull request.

Licencia

Este proyecto está licenciado bajo la BSD 3-Clause "New" or "Revised" License.

Equipo e Información del Proyecto

Herramienta open source para el monitoreo dinámico de tres bases de datos: MongoDB, PostgreSQL y MariaDB/MySQL.

Gerente del Proyecto: Ing. Luis Chica, Mgtr - Perfil de GitHub

Desarrollador: Ing. Angel Patiño - Perfil de GitHub