Un programme de monitoring du système.
Mathieu Gosselin
git https://github.com/Grindy/sysmonitor.git
Pour construire l'image, sur terminal bash, faire la commande: docker build -t sysmonitor:1.0
Pour lancer le conteneur, exécuter: docker run sysmonitor:1.0
sysmonitor/
├── .gitignore # Liste les fichiers ignorés par git
├── monitor.py # Script Python principal
├── data/
│ ├── config.ini # Fichier de configuration
│ ├── services.csv # Liste des services
│ └── access.log # Fichier de logs
├── scripts/
│ ├── filter.sh # Script grep (Partie 3)
│ ├── format.sh # Script sed (Partie 3)
│ └── stats.sh # Script awk (Partie 3)
├── output/
│ └── report.txt # Rapport généré
├── Dockerfile
├── README.md
└── REPONSES.md # Réponses aux questions et QCM
Execution avec un volume pour recuperer le rapport:
docker run -v $(pwd)/output:/app/output sysmonitor:1.0
Executer les scripts shell dans le conteneur:
stats.sh:
docker run sysmonitor:1.0 bash scripts/stats.sh
filter.sh:
docker run sysmonitor:1.0 bash scripts/filter.sh
format.sh:
docker run sysmonitor:1.0 bash scripts/format.sh
lire_config():
Lit un fichier de configuration INI et retourne
un dictionnaire imbriqué.
Args:
chemin_fichier (str): Chemin vers le fichier .ini
Returns:
dict: Dictionnaire avec sections et parametres
lire_services():
Lit un fichier CSV de services et retourne une liste de dictionnaires.
Args:
chemin_fichier (str): Chemin vers le fichier .csv
Returns:
list: Liste de dictionnaires avec les infos services
analyser_services():
Analyse la liste des services et retourne des statistiques.
Args:
services (list): Liste de dictionnaires de services
Returns:
dict: Statistiques calculees
generer_rapport():
Genere un rapport texte formate dans un fichier.
Args:
config (dict): Configuration lue
services (list): Liste des services
stats (dict): Statistiques calculees
chemin_sortie (str): Chemin du fichier de sortie