À propos du projet
ngtop est un utilitaire CLI basé sur Go pour l'analyse des journaux d'accès nginx. Il analyse les entrées de journal dans une base de données SQLite et permet aux utilisateurs d'exécuter des requêtes filtrées pour obtenir des statistiques sur les requêtes.
### Installation
Téléchargez le binaire pré‑construit depuis les releases ou installez‑le via Go : `go install github.com/facundoolano/ngtop@latest`.
### Fonctionnement
À chaque exécution, ngtop découvre les journaux d'accès nginx (par défaut `/var/log/nginx/access.log*`), les analyse selon le format de journal combiné, et stocke les entrées analysées dans une base de données SQLite (`./ngtop.db` par défaut). Les exécutions suivantes ne traitent que les nouvelles entrées de journal qui n'ont pas encore été stockées.
### Capacités de requête
L'outil prend en charge le filtrage et l'agrégation sur plusieurs dimensions :
- **Chemins** : URLs les plus demandées, avec correspondance de motif (`/blog/%`)
- **Agents utilisateur** : regroupement par navigateur, système d'exploitation, appareil ou détection de bots
- **Adresses IP** : adresses IP les plus demandeuses, ou les URLs principales par IP
- **Référents** : principaux référents pour des modèles d'URL spécifiques
- **Codes d'état** : comptage des réponses selon le code HTTP, y compris la correspondance de motif (par exemple `4%`, `5%`)
- **Plages de temps** : limiter les requêtes à la dernière seconde, minute, heure, jour, semaine ou mois avec `--since`/`-s`, et éventuellement `--until`/`-u` pour définir une fenêtre
- **Filtres** : combiner plusieurs conditions avec `--where`/`-w` en utilisant des opérateurs tels que `=`, `!=` et `LIKE`
### Configuration
Le comportement est contrôlé via des variables d'environnement :
- `NGTOP_LOGS_PATH` : motif glob pour l'emplacement des fichiers de journaux
- `NGTOP_LOG_FORMAT` : chaîne de format de journal nginx personnalisée
- `NGTOP_DB` : chemin vers la base de données SQLite
- `NGTOP_DEBUG` : activer la journalisation interne
Cela fait de ngtop une couche d'analyse légère et à faible surcharge pour les déploiements nginx où une agrégation de journaux complète n'est pas pratique.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.