Informations sur le multithreading
This commit is contained in:
58
README.md
58
README.md
@@ -263,7 +263,63 @@ ping 192.168.10.202
|
|||||||
|
|
||||||
## Support multi-équipements
|
## Support multi-équipements
|
||||||
|
|
||||||
**Note** : Le support complet multi-équipements nécessite une implémentation avec threading/multiprocessing. Actuellement, le script traite le premier équipement de la liste et affiche un avertissement pour les autres.
|
Le script supporte nativement la surveillance simultanée de plusieurs équipements grâce à une architecture **multi-threading** :
|
||||||
|
|
||||||
|
### Fonctionnement
|
||||||
|
|
||||||
|
- **Thread indépendant** pour chaque équipement configuré
|
||||||
|
- **Surveillance parallèle** : tous les équipements sont surveillés simultanément
|
||||||
|
- **Isolation des erreurs** : la défaillance d'un équipement n'affecte pas les autres
|
||||||
|
- **Clients MQTT séparés** : chaque thread utilise son propre client MQTT
|
||||||
|
- **Arrêt gracieux** : tous les threads s'arrêtent proprement sur signal
|
||||||
|
|
||||||
|
### Avantages
|
||||||
|
|
||||||
|
- ⚡ **Performance optimale** : pas de blocage entre équipements
|
||||||
|
- 🔄 **Traitement parallèle** : requêtes SNMP simultanées
|
||||||
|
- 🛡️ **Robustesse** : isolation des défaillances
|
||||||
|
- 📊 **Scalabilité** : facilement extensible à des dizaines d'équipements
|
||||||
|
- 🔧 **Maintenance** : logs clairement identifiés par équipement
|
||||||
|
|
||||||
|
### Configuration multi-équipements
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
devices:
|
||||||
|
routeur_principal:
|
||||||
|
ip: "192.168.10.1"
|
||||||
|
snmp_community: "public"
|
||||||
|
oids:
|
||||||
|
# ... configuration OID ...
|
||||||
|
|
||||||
|
switch_bureau:
|
||||||
|
ip: "192.168.10.5"
|
||||||
|
snmp_community: "public"
|
||||||
|
oids:
|
||||||
|
# ... configuration OID ...
|
||||||
|
|
||||||
|
point_acces_wifi:
|
||||||
|
ip: "192.168.10.10"
|
||||||
|
snmp_community: "private"
|
||||||
|
oids:
|
||||||
|
# ... configuration OID ...
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logs multi-threading
|
||||||
|
|
||||||
|
Chaque thread est clairement identifié dans les logs :
|
||||||
|
|
||||||
|
```
|
||||||
|
(INFO) [Device-routeur_principal] Starting monitoring thread
|
||||||
|
(INFO) [Device-switch_bureau] MQTT client connected
|
||||||
|
(DEBUG) [Device-point_acces_wifi] Published state to SNMP/point_acces_wifi/state
|
||||||
|
```
|
||||||
|
|
||||||
|
### Gestion des ressources
|
||||||
|
|
||||||
|
- **Clients MQTT uniques** : ID client basé sur le nom de l'équipement
|
||||||
|
- **Topics séparés** : chaque équipement a ses propres topics MQTT
|
||||||
|
- **Discovery HA indépendante** : configuration Home Assistant par équipement
|
||||||
|
- **Disponibilité individuelle** : statut online/offline par équipement
|
||||||
|
|
||||||
## Logs et debugging
|
## Logs et debugging
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user