ajout partie parseurs_logs_switch

This commit is contained in:
Chevallier
2026-05-20 13:56:08 +02:00
parent fea80315ef
commit 4ee633d0e1
71 changed files with 32926 additions and 1772 deletions

View File

@@ -1,57 +1,131 @@
# Parseur de Logs HPE 5130
# Switch Log Parser & Excel Uplink Report & Uplink Diagram
Ce projet permet d'extraire automatiquement des informations pertinentes depuis les logs de switchs **HPE 5130**, notamment les connexions entre les switchs d'accès et le cœur de réseau. Les résultats sont exportés sous deux formats :
## Description
- Un **fichier Excel** listant les interfaces côté accès et cœur.
- Un **diagramme Mermaid** simplifié représentant les connexions.
Cet outil permet de **récupérer les données des logs de différents types de switches** (HPE uniquement actuellement) et de **convertir ces informations en un format JSON normalisé basé sur des modèles OpenConfig en YANG**.
Il fournit également la possibilité de générer une **rapport des liens inter-switches format Excel** pour visualiser les liens entre les switches existants.
Il fournit également la possibilité de générer une **rapport des interfaces format Excel** pour visualiser la liste des counters pour chaque interface.
Il fournit également la possibilité de générer une **rapport des stack format Excel** pour visualiser les stack de chaque switch.
Il founit également la possibilité de générer une **schéma de l'infrastructure** pour visualiser les liens entres les switches dans l'infrastructure.
## Fonctionnalités principales
1. **Analyse multi-switches**
- Développement de scripts Python dédiés à chaque type de switch :
- HPE
- Extraction automatique des informations pertinentes à partir des fichiers de log respectifs.
- display mac-address
- display arp all
- display ip routing-table
- display fib
- display version
- display device manuinfo
- display power
- display fan
- display environment
- boot-loader infomation
- display irf
- display irf topology
- display irf configuration
- display process cpu slot [master]
- display process slot [master]
- display memory
- display transceiver diagnosis interface
- display transceiver interface
- display logbuffer
- display stp
- display interface
- display link-aggregation verbose
- display current-configuration
- display saved-configuration
2. **Conversion en JSON normalisé**
- Export des configurations dans un format JSON structuré selon les modèles OpenConfig :
- `openconfig-system`
- `openconfig-lldp`
- `openconfig-relay-agent`
- `ietf-snmp`
- `openconfig-vlan`
- `openconfig-acl`
- `openconfig-network-instance`
- `openconfig-interfaces`
- `openconfig-platform`
- `openconfig-spanning-tree`
3. **Génération de rapport de liens inter-switches**
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
- les liens entre les switches
4. **Génération de rapport des stack**
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
- les stacks
5. **Génération de rapport des interfaces**
- Script Python qui utilise le JSON normalisé pour générer automatiquement une matrice Excel détaillant :
- les counters de chaque interface
6. **Génération de schéma de l'infrastructure**
- Script Python qui utilise le JSON normalisé pour générer automatiquement un schéma accessible sur un navigateur détaillant :
- les liens entre les switches
## Utilisation
### Pré-requis
```bash
cd ..\..\
python -m venv .venv
.\.venv\Scripts\activate
pip install -r .\src\requirements.txt
```
#### Commandes principales
```bash
python3 .\src\main.py hpe .\src\input\backup\ -d -u -i -s
```
#### Options
| Option | Description |
|--------|-------------|
| -o [nom_fichier] | Spécifie le nom du fichier JSON de sortie (optionnel)
| -u | Génère un rapport Excel des liens inter-switches (optionnel)
| -s | Génére un rapport Excel des stack (optionnel)
| -i | Génére un rapport Excel des counters des interfaces (optionnel)
| -d | Génère un schéma de l'infrastructure des liens inter-switches (optionnel)
---
## 🧰 Fonctionnalités
- Extraction des données utiles depuis les fichiers `.log` au format **JSON**.
- Génération dun **rapport Excel (`uplink_report.xlsx`)** contenant :
- Les informations des interfaces côté accès connectées au cœur.
- Les informations des interfaces du cœur.
- Création dun **fichier Mermaid (`mermaid.md`)** représentant graphiquement les connexions.
---
## 🚀 Lancement
Pour lancer loutil, placez-vous dans le dossier du projet et exécutez la commande suivante :
## Arborescence du projet
```bash
python .\src\main.py [fichier logs du cœur]
```
#### 💡 Exemple : python .\src\main.py .\src\logs\core_switch.log
---
## 📁 Arborescence du projet
```makefile
C:.
src
logs # Contient les fichiers .log des switchs (à déposer ici)
├───output # Contient les fichiers générés (Excel et Mermaid)
├───scripts # Contient les scripts de traitement
│ ├───extract_json.py # Extraction des données en JSON
───format.py # Formatage des données
───mermaid.py # Formatage et génération du fichier Mermaid
│ └───parse_uplinks.py # Création du fichier Excel
└───main.py # Programme de lancement
├───src
├───icons # Fichiers de logo pour export_schema_infra
├───input # Fichiers de logs
├───modèles # Modèles YANG
│ ├───output # Fichiers JSON normalisés/Excel matrice de flux
───scripts # Fichiers python
───objets
```
---
## Structure du JSON généré
## 📌 Instructions d'utilisation
1. Déposer les fichiers .log dans le dossier src/logs.
2. Lancer le script main.py avec en argument le log du switch cœur.
3. Les résultats seront disponibles dans le dossier src/output :
- uplink_report.xlsx
- mermaid.md
```bash
.json
├── switch-device # type de switch (hpe)
├── openconfig-system
├── openconfig-lldp
├── openconfig-relay-agent
├── ietf-snmp
├── openconfig-vlan
├── openconfig-acl
├── openconfig-network-instance
├── openconfig-interfaces
├── openconfig-platform
└── openconfig-spanning-tree
```
---
## Auteurs
## ⚠️ Remarque
- Bien penser à **mettre les fichiers de logs avec l'extension `.log`** dans le dossier `src/logs`.
Projet développé par :
- Julie Chevallier | Computacenter