.. Documentation de LogBuster đŸ‘» Bienvenue dans la documentation de **LogBuster** ==================================================== **LogBuster** est un outil puissant pour analyser les fichiers de logs Apache. GrĂące Ă  LogBuster, vous pouvez extraire des informations essentielles, gĂ©rer des erreurs de format et bien plus encore. .. code:: text .-. .-') .-') .-') _ ('-. _ .-') ,---. \ ( OO ) ( OO ). ( OO) ) _( OO)( \( -O ) | | ,--. .-'),-----. ,----. ;-----.\ ,--. ,--. (_)---\_)/ '._(,------.,------. | | | |.-') ( OO' .-. ' ' .-./-') | .-. | | | | | / _ | |'--...__)| .---'| /`. '| | | | OO )/ | | | | | |_( O- )| '-' /_) | | | .-') \ :` `. '--. .--'| | | / | || | | |`-' |\_) | |\| | | | .--, \| .-. `. | |_|( OO ) '..`''.) | | (| '--. | |_.' || .' (| '---.' \ | | | |(| | '. (_/| | \ | | | | `-' /.-._) \ | | | .--' | . '.'`--' | | `' '-' ' | '--' | | '--' /(' '-'(_.-' \ / | | | `---.| |\ \ .--. `------' `-----' `------' `------' `-----' `-----' `--' `------'`--' '--''--' **(҂-_‱)⊃═O FonctionnalitĂ©s principales** ------------------------------------------- - **Extraire des statistiques clĂ©s** : Obtenez des donnĂ©es prĂ©cieuses sur vos fichiers de logs. - **Exporter les donnĂ©es en JSON** : AccĂ©dez Ă  un format structurĂ© pour vos analyses. - **Exporter des graphiques** : GĂ©nĂ©rez des graphiques de vos fichiers de logs. - **Filtrer les analyses** : Filtrez les analyses en toute simplicitĂ©. - **GĂ©rer les erreurs de format avec prĂ©cision** : Identifiez rapidement les anomalies et les erreurs de vos fichiers log. **d(■᎑■⌐) Utilisation** --------------------------- ``` python app/main.py chemin_log [-s SORTIE] [-i IP] [-c CODE_STATUT_HTTP] [--camembert CAMEMBERT] ``` - `chemin_log` : Le chemin vers le fichier de log Apache Ă  analyser. - `-s SORTIE` (optionnel) : Le chemin oĂč sauvegarder les rĂ©sultats de l'analyse. Si non spĂ©cifiĂ©, les rĂ©sultats seront sauvegardĂ©s dans un fichier `analyse-log-apache.json`. - `-i IP` (optionnel) : Le filtre Ă  appliquer sur les adresses IP des entrĂ©es du fichier de log. Uniquement les entrĂ©es avec cette adresse IP seront analysĂ©es. - `-c CODE_STATUT_HTTP` (optionnel) : Le filtre Ă  appliquer sur les code de statut http des entrĂ©es du fichier de log. Uniquement les entrĂ©es avec ce code de statut http seront analysĂ©es. - `--camembert CAMEMBERT` : (optionnel) : Active la gĂ©nĂ©ration de graphiques camemberts dans lors de l'analyse pour les statistiques compatibles. Les statistiques comptatibles. **(ĂČ_Ăł)⊃ Format de l'analyse** -------------------------------- Lors de l'analyse des fichiers de logs, LogBuster fait en sorte de regrouper les statistiques clĂ©s par catĂ©gories. Voici ci-dessous le format de l'analyse en JSON: - chemin: chemin absolu du fichier - total_entrees: nombre total d'entrĂ©es dans le fichier - filtre: filtres appliquĂ©s Ă  l'analyse - adresse_ip: filtre sur l'adresse IP (None si dĂ©sactivĂ©) - code_statut_http: filtre sur le code de statut http (None si dĂ©sactivĂ©) - statistiques: - total_entrees_filtre: nombre total d'entrĂ©es analysĂ©es - requetes: - top_urls: top 3 des urls - dictionnaires contenant: - url: ressource demandĂ©e - total: nombre d'entrĂ©e avec cette ressource demandĂ©e - taux: pourcentage d'entrĂ©e avec cette ressource demandĂ©e - reponses: - repartition_code_statut_http: rĂ©partition des codes de statut http - dictionnaires contenant: - code: code de statut http retournĂ© - total: nombre d'entrĂ©e avec ce code de statut http retournĂ© - taux: pourcentage d'entrĂ©e avec ce code de statut http retournĂ© Pour les graphiques camemberts, un fichier HTML est gĂ©nĂ©rĂ© avec ce graphique. NĂ©anmoins, toutes les statistiques ne sont pas compatibles avec ce type d'affichage. Voici la liste des statistiques comptatibles avec les graphiques: - `repartition_code_statut_http` : RĂ©partition des codes de statut HTTP. (nom: camembert-code_statut_http) **(àž‡'̀᎑'́)àž‡ Format des fichier de log Apache** ------------------------------------------------ Le format de log Apache pris en charge est celui utilisĂ© par le fichier `access.log`. Ces logs Apache contiennent des informations dĂ©taillĂ©es sur les requĂȘtes HTTP traitĂ©es par le serveur. Chaque ligne d'un fichier reprĂ©sente une requĂȘte individuelle, et les informations sont gĂ©nĂ©ralement sĂ©parĂ©es par des espaces ou des caractĂšres spĂ©cifiques. Format commun (Common Log Format) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Un fichier de log Apache standard suit gĂ©nĂ©ralement un format similaire au suivant : ``127.0.0.1 - - [10/Oct/2025:13:55:36 +0000] "GET /index.html HTTP/1.1" 200 2326`` 1. **IP de l'utilisateur** (127.0.0.1) : L'adresse IP de l'utilisateur qui a effectuĂ© la requĂȘte. 2. **Identifiant de l'utilisateur** (vide ici) : L'identifiant de l'utilisateur, souvent vide ou un tiret (`-`). 3. **Identifiant de l'utilisateur authentifiĂ©** (vide ici) : Si l'utilisateur est authentifiĂ©, cet identifiant sera visible, sinon il sera Ă©galement vide ou un tiret (`-`). 4. **Date et heure de la requĂȘte** ([10/Oct/2025:13:55:36 +0000]) : La date et l'heure prĂ©cises de la requĂȘte, suivies du fuseau horaire. 5. **RequĂȘte HTTP** ("GET /index.html HTTP/1.1") : La mĂ©thode HTTP utilisĂ©e (ici `GET`), l'URL demandĂ©e (ici `/index.html`), et la version du protocole HTTP (ici `HTTP/1.1`). 6. **Code de statut HTTP** (200) : Le code de statut retournĂ© par le serveur (ici, `200` indique que la requĂȘte a rĂ©ussi). 7. **Taille de la rĂ©ponse** (2326) : La taille en octets de la rĂ©ponse envoyĂ©e au client. Dans LogBuster, l'**IP de l'utilisateur** et la **Date et heure de la requĂȘte** sont obligatoires, sinon un message d'erreur est retournĂ©e. Format combinĂ© (Combined Log Format) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Le format combinĂ© permet d'ajouter plus de dĂ©tails sur chaque requĂȘte. Voici un exemple de ligne de log avec ce format : ``127.0.0.1 - - [10/Oct/2025:13:55:36 +0000] "GET /index.html HTTP/1.1" 200 2326 "http://referrer.com" "Mozilla/5.0"`` Dans ce format, deux informations supplĂ©mentaires Ă  la fin de l'entrĂ©e sont prĂ©sentes : 1. **RĂ©fĂ©rent HTTP** ("http://referrer.com") : L'URL de la page depuis laquelle la requĂȘte a Ă©tĂ© faite. Cela peut ĂȘtre vide si la requĂȘte provient directement de l'utilisateur sans rĂ©fĂ©rence. 2. **Agent utilisateur** ("Mozilla/5.0") : L'agent utilisateur indique quel navigateur ou appareil a effectuĂ© la requĂȘte. Assurez-vous que votre fichier de log Apache suit un format cohĂ©rent, comme ceux mentionnĂ©s ci-dessus, afin d'obtenir des rĂ©sultats prĂ©cis et fiables lors de l'utilisation de LogBuster. Pour plus d'informations, consultez la documentation Apache sur ce lien : https://httpd.apache.org/docs/2.4/fr/logs.html **(∩x_x) PrĂ©cautions concernant l'affichage des caractĂšres spĂ©ciaux** ---------------------------------------------------------------------- Le projet LogBuster utilise des caractĂšres **Unicode**, tels que des symboles spĂ©ciaux, dans le terminal pour rendre l'affichage plus plaisant. Assurez-vous que votre terminal est configurĂ© pour prendre en charge l'affichage de caractĂšres Unicode afin de profiter pleinement de l'expĂ©rience utilisateur. Si vous rencontrez des problĂšmes d'affichage (comme des symboles manquants ou mal rendus), vous pouvez essayer les solutions suivantes : - Utiliser un terminal compatible avec Unicode (par exemple, Terminal sous macOS, Windows Terminal sous Windows, ou des terminaux comme GNOME Terminal ou Konsole sous Linux). - VĂ©rifier que votre terminal utilise une police qui prend en charge les caractĂšres Unicode (par exemple, DejaVu Sans Mono ou Consolas). **Δ(( ꐑÂș-° )ꐑ Documentation du projet** ------------------------------------------- Consultez les diffĂ©rentes sections pour en savoir plus sur le projet **LogBuster** : .. toctree:: :maxdepth: 4 :caption: Contenu :numbered: modules/index_modules.rst --- © 2025 - Projet LogBuster