Sobre el proyecto
ngtop es una utilidad de línea de comandos basada en Go para analizar los registros de acceso de nginx. Analiza las entradas de registro y las almacena en una base de datos SQLite, permitiendo a los usuarios ejecutar consultas filtradas para obtener estadísticas de solicitudes.
### Instalación
Descargue el binario preconstruido desde los releases o instálelo mediante Go: `go install github.com/facundoolano/ngtop@latest`.
### Cómo funciona
En cada ejecución, ngtop descubre los registros de acceso de nginx (por defecto `/var/log/nginx/access.log*`), los analiza utilizando el formato de registro combinado y guarda las entradas analizadas en una base de datos SQLite (`./ngtop.db` por defecto). Las ejecuciones posteriores solo procesan las nuevas entradas de registro que aún no se han almacenado.
### Capacidades de consulta
La herramienta admite filtrado y agregación en múltiples dimensiones:
- **Rutas**: URLs más solicitadas, con coincidencia de patrones (`/blog/%`)
- **Agentes de usuario**: Agrupación por navegador, sistema operativo, dispositivo o detección de bots
- **IPs**: IPs que más solicitan, o las URLs principales por IP
- **Referentes**: Principales referentes para patrones de URL específicos
- **Códigos de estado**: Conteo de respuestas por código HTTP, incluyendo coincidencia de patrones (por ejemplo, `4%`, `5%`)
- **Rangos de tiempo**: Limitar las consultas al último segundo, minuto, hora, día, semana o mes con `--since`/`-s`, y opcionalmente `--until`/`-u` para una ventana
- **Filtros**: Combinar múltiples condiciones con `--where`/`-w` usando operadores como `=`, `!=` y `LIKE`
### Configuración
El comportamiento se controla mediante variables de entorno:
- `NGTOP_LOGS_PATH`: Patrón glob para la ubicación de los archivos de registro
- `NGTOP_LOG_FORMAT`: Cadena de formato de registro de nginx personalizada
- `NGTOP_DB`: Ruta a la base de datos SQLite
- `NGTOP_DEBUG`: Habilitar el registro interno
Esto convierte a ngtop en una capa de análisis ligera y de bajo overhead para implementaciones de nginx donde una agregación completa de registros no es práctica.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.