# 🐕 Bot Watchdog - Surveillance 24/7

## ✅ Installation réussie !

Le système de surveillance automatique du bot a été installé avec succès.

## 📋 Ce que fait le Watchdog

Le **Bot Watchdog** surveille le bot de trading en permanence et :

- ✅ Vérifie toutes les **60 secondes** si le bot est actif
- 🔄 **Redémarre automatiquement** le bot s'il crash
- 📊 Enregistre tous les incidents dans `watchdog.log`
- ⚠️ Limite les redémarrages à **5 par heure** (sécurité anti-boucle)
- 📝 Garde un historique de tous les redémarrages

## 🚀 Démarrage

### Option 1 : Démarrage manuel
```powershell
python bot_watchdog.py
```

### Option 2 : Démarrage avec script
```bash
start_watchdog.bat
```
ou
```powershell
.\start_watchdog.ps1
```

### Option 3 : Démarrage automatique au boot Windows (RECOMMANDÉ)

1. **Clic droit** sur `install_watchdog_service.ps1`
2. Sélectionner **"Exécuter en tant qu'administrateur"**
3. Suivre les instructions à l'écran
4. Répondre **"O"** pour démarrer immédiatement

✅ Une fois installé, le watchdog démarrera **automatiquement** à chaque démarrage de Windows !

## 📊 Monitoring

### Vérifier l'état du watchdog
```powershell
Get-Process -Name python | Where-Object { $_.CommandLine -like "*bot_watchdog.py*" }
```

### Consulter les logs
```powershell
Get-Content watchdog.log -Tail 50
```

### Voir le statut détaillé
```powershell
Get-Content watchdog_status.json | ConvertFrom-Json
```

## 🔍 Fichiers créés

| Fichier | Description |
|---------|-------------|
| `bot_watchdog.py` | Script principal de surveillance |
| `start_watchdog.ps1` | Script PowerShell de démarrage |
| `start_watchdog.bat` | Script batch de démarrage |
| `install_watchdog_service.ps1` | Installation comme service Windows |
| `watchdog.log` | Logs du watchdog |
| `watchdog_status.json` | Statut et historique des redémarrages |
| `watchdog.pid` | PID du processus watchdog |

## ⚠️ Alertes

Si le bot redémarre **plus de 5 fois en 1 heure**, le watchdog va :
- ❌ Arrêter les tentatives de redémarrage
- 🔔 Logger une alerte critique
- 📝 Indiquer qu'une intervention manuelle est requise

Dans ce cas, vérifiez :
1. Les logs du bot : `trading_bot.log`
2. Les erreurs : `bot_stderr.log`
3. Les logs du watchdog : `watchdog.log`

## 🛠️ Commandes utiles

### Arrêter le watchdog
```powershell
Get-Process -Name python | Where-Object { $_.CommandLine -like "*bot_watchdog.py*" } | Stop-Process
```

### Redémarrer le bot manuellement
```powershell
python Reset_trading.py
```

### Voir les statistiques de redémarrage
```powershell
$status = Get-Content watchdog_status.json | ConvertFrom-Json
Write-Host "Total redémarrages: $($status.total_restarts)"
Write-Host "Dernier redémarrage: $($status.last_restart)"
```

## 📈 Avantages

✅ **Disponibilité 24/7** : Le bot ne rate plus jamais d'opportunités  
✅ **Redémarrage automatique** : Pas besoin d'intervention manuelle  
✅ **Logs détaillés** : Traçabilité complète de tous les incidents  
✅ **Protection anti-boucle** : Évite les redémarrages infinis  
✅ **Démarrage au boot** : Fonctionne même après un redémarrage Windows  

## 🎯 Prochaine étape

**Installez le service Windows** pour que le watchdog démarre automatiquement :

1. Clic droit sur `install_watchdog_service.ps1`
2. "Exécuter en tant qu'administrateur"
3. Suivre les instructions

✅ **Votre bot sera maintenant surveillé 24/7 automatiquement !**

---

*Note : Le watchdog a détecté que le bot s'était arrêté entre le 15/01 à 13h57 et le 16/01 à 12h07, causant la perte de l'opportunité SOPHUSDT. Ce problème ne se reproduira plus !*
