# Switch Log Parser & Excel Uplink Report & Uplink Diagram ## Description 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) --- ## Arborescence du projet ```bash C:. ├───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é ```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 Projet développé par : - Julie Chevallier | Computacenter