MSP Monitor Dashboard

Dashboard de monitoreo unificado para Proveedores de Servicios Administrados (MSP). Integra MeshCentral, LibreNMS y Headwind MDM en una sola interfaz moderna con tema oscuro cyan/navy.

Caracteristicas

  • Monitoreo Unificado: Visualiza todos tus dispositivos en una sola interfaz
  • Multi-Tenant: Gestion de multiples clientes con aislamiento de datos
  • Control Remoto: Acceso a escritorio, terminal y archivos via MeshCentral
  • MDM Empresarial: Gestion completa de dispositivos Android con Headwind MDM
  • Monitoreo de Red: SNMP, NetFlow y alertas via LibreNMS
  • Sistema de Alertas: Reglas personalizables con notificaciones por email, SMS y webhook
  • Reportes: Inventario, uptime, alertas y actividad de usuarios
  • API Type-Safe: Backend con tRPC para comunicacion tipada

Stack Tecnologico

Componente Tecnologia
Frontend Next.js 14, React, Tailwind CSS
Backend Next.js API Routes, tRPC
Base de Datos PostgreSQL 16 + Prisma ORM
Cache/Queue Redis 7 + BullMQ
Monitoreo PC MeshCentral
Monitoreo Red LibreNMS
MDM Movil Headwind MDM
Proxy/SSL Nginx + Let's Encrypt
Contenedores Docker + Docker Compose

Inicio Rapido

Requisitos

  • Node.js 20+
  • Docker y Docker Compose
  • Acceso a MeshCentral, LibreNMS y/o Headwind MDM

Instalacion

# Clonar repositorio
git clone https://git.consultoria-as.com/msp/msp-monitor-dashboard.git
cd msp-monitor-dashboard

# Ejecutar script de setup
chmod +x scripts/setup.sh
./scripts/setup.sh

Configuracion Rapida

  1. Copia el archivo de configuracion:

    cp .env.example .env
    
  2. Edita .env con tus credenciales:

    # Base de datos
    DATABASE_URL="postgresql://user:pass@localhost:5432/msp_monitor"
    
    # Integraciones
    MESHCENTRAL_URL="https://mesh.tudominio.com"
    MESHCENTRAL_USER="admin"
    MESHCENTRAL_PASS="password"
    
    LIBRENMS_URL="https://librenms.tudominio.com"
    LIBRENMS_TOKEN="tu-token"
    
    HEADWIND_URL="https://mdm.tudominio.com"
    HEADWIND_TOKEN="tu-token"
    
  3. Inicia los servicios:

    # Desarrollo
    npm run dev
    
    # Produccion
    docker-compose -f docker/docker-compose.yml up -d
    
  4. Accede al dashboard en http://localhost:3000

Estructura del Proyecto

msp-monitor-dashboard/
├── src/
│   ├── app/                    # Next.js App Router
│   │   ├── (dashboard)/        # Paginas del dashboard
│   │   └── api/                # API endpoints
│   ├── components/             # Componentes React
│   │   ├── layout/             # Layout components
│   │   └── dashboard/          # Dashboard components
│   ├── server/                 # Backend
│   │   ├── trpc/               # tRPC routers
│   │   ├── services/           # Clientes de integracion
│   │   └── jobs/               # Workers de procesamiento
│   ├── lib/                    # Utilidades
│   └── types/                  # Tipos TypeScript
├── prisma/                     # Schema de base de datos
├── docker/                     # Configuracion Docker
│   ├── nginx/                  # Configuracion Nginx
│   └── docker-compose.yml
├── scripts/                    # Scripts de utilidad
└── docs/                       # Documentacion

Documentacion

Comandos Utiles

# Desarrollo
npm run dev              # Iniciar servidor de desarrollo
npm run build            # Compilar para produccion
npm run lint             # Verificar codigo

# Base de datos
npm run db:generate      # Generar cliente Prisma
npm run db:push          # Aplicar schema a BD
npm run db:studio        # Abrir Prisma Studio

# Workers
npm run jobs:start       # Iniciar workers de procesamiento

# Docker
docker-compose -f docker/docker-compose.yml up -d      # Iniciar servicios
docker-compose -f docker/docker-compose.yml down       # Detener servicios
docker-compose -f docker/docker-compose.yml logs -f    # Ver logs

# Backups
./scripts/backup-db.sh                     # Crear backup
./scripts/restore-db.sh /ruta/backup.sql.gz # Restaurar backup

Contribuir

  1. Fork el repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -am 'Agregar nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Crea un Pull Request

Licencia

Este proyecto es privado y propietario de Consultoria AS.

Soporte

Para soporte tecnico, contacta a:


Desarrollado con ❤️ por Consultoria AS

Description
Dashboard de monitoreo MSP - MeshCentral, LibreNMS, Headwind MDM
Readme 277 KiB
Languages
TypeScript 92.8%
Shell 4.4%
CSS 2.2%
Dockerfile 0.4%
JavaScript 0.2%