Files
MSP-CAS/README.md
2026-01-21 11:30:58 -08:00

165 lines
4.9 KiB
Markdown

# 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
```bash
# 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:
```bash
cp .env.example .env
```
2. Edita `.env` con tus credenciales:
```env
# 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:
```bash
# 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
- [Arquitectura](docs/arquitectura/README.md)
- [API Reference](docs/api/README.md)
- [Guia de Instalacion](docs/guias/instalacion.md)
- [Guia de Configuracion](docs/guias/configuracion.md)
## Comandos Utiles
```bash
# 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:
- Email: soporte@consultoria-as.com
- Web: https://consultoria-as.com
---
Desarrollado con ❤️ por [Consultoria AS](https://consultoria-as.com)