# S2S Monitoring WebSocket Server

Serveur temps réel pour le dashboard de monitoring S2S.

## Installation

```bash
cd /var/www/html/monitoring-ws
npm install
```

## Utilisation

```bash
# Démarrer le serveur
./manage.sh start

# Arrêter le serveur
./manage.sh stop

# Redémarrer
./manage.sh restart

# Statut
./manage.sh status

# Logs
./manage.sh log
```

## Démarrage automatique (systemd)

```bash
# Copier le service vers systemd
sudo cp monitoring-ws.service /etc/systemd/system/

# Activer le service
sudo systemctl daemon-reload
sudo systemctl enable monitoring-ws
sudo systemctl start monitoring-ws
```

## Configuration

- **Port**: 54.37.39.240 (configurable via variable d'environnement `PORT`)
- **Base de données**: Se connecte à `audit_db` et `mytekdb15N`
- **Événements émis**:
  - `metrics` - Métriques système (RAM, CPU, Disk) toutes les 5 secondes
  - `alerts` - Alertes de sécurité toutes les 10 secondes  
  - `audit` - Statistiques d'audit toutes les 15 secondes
  - `fail2ban` - Statut Fail2ban toutes les 30 secondes

## Dashboard Integration

Le dashboard PHP (`audit_dashboard.php`) se connecte automatiquement au WebSocket via:
- Client Socket.io (chargé depuis CDN)
- URL dynamiques basée sur l'hôte courant

Les éléments avec attribut `data-live` sont mis à jour automatiquement:
- `ram_pct`, `ram_used`
- `load1`, `load5`, `load15`
- `disk_pct`
- `uptime`

## Performance

- Socket.io avec polling fallback
- Reconnection automatique (5 tentatives)
- Haute performance avec événements cron planifiés
- Support multi-clients simultanés