Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon GoAccess: Analizador de Registros Web en Tiempo Real


GoAccess es un programa analizador de registros del servidor web interactivo y en tiempo real que analiza y visualiza rápidamente los registros del servidor web. Es de código abierto y se ejecuta como una línea de comandos en los sistemas operativos Unix/Linux. Proporciona un breve y beneficioso informe de estadísticas HTTP (servidor web) para los administradores de Linux sobre la marcha. También se encarga de los formatos de registro de los servidores web Apache y Ngnix.

 


 

GoAccess analiza los formatos de registro del servidor web en las opciones preferidas, incluyendo CLF (Common Log Format), formato W3C (IIS), y hosts virtuales de Apache, y luego genera una salida de los datos a la terminal.

 

Mientras que la salida de la terminal es la salida por defecto, tiene la capacidad de generar un informe HTML completo, autónomo y en tiempo real, así como un informe JSON, y CSV.

Características

GoAccess analiza el archivo de registro web especificado y envía los datos al terminal X. Las características incluyen:

  • Tiempo real: Todos los paneles y métricas se actualizan cada 200 ms en la salida del terminal y cada segundo en la salida HTML.
  • Mínima configuración necesaria: Sólo tienes que ejecutarlo contra tu archivo de registro de acceso, elegir el formato de registro y dejar que GoAccess analice el registro de acceso y te muestre las estadísticas.
  • Seguimiento del tiempo de respuesta de la aplicación: Registra el tiempo que se tarda en servir la solicitud. Extremadamente útil si quieres rastrear las páginas que están ralentizando tu sitio.
  • Casi todos los formatos de registro web: GoAccess permite cualquier cadena de formato de registro personalizado. Las opciones predefinidas incluyen Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront, etc.
  • Sólo una dependencia: GoAccess está escrito en C. Para ejecutarlo, sólo necesitas ncurses como dependencia. Eso es todo. Incluso cuenta con su propio servidor Web Socket – https://gwsocket.io/.
  • Visitantes: Determina la cantidad de visitas, visitantes, ancho de banda y métricas de las solicitudes más lentas por hora o fecha.
  • Métricas por Host Virtual: ¿Tiene varios hosts virtuales (bloques de servidores)? Cuenta con un panel que muestra qué host virtual está consumiendo la mayor parte de los recursos del servidor web.
  • Esquema de colores personalizable: Adapta GoAccess a tus propios gustos/esquemas de color. Ya sea a través del terminal, o simplemente aplicando la hoja de estilos en la salida HTML.
  • Soporte para grandes conjuntos de datos: GoAccess tiene la capacidad de analizar grandes registros gracias a sus tablas hash optimizadas en memoria.
  • Soporte para Docker: Posibilidad de construir la imagen Docker de GoAccess desde el upstream.

¿Cómo se instala GoAccess en Linux?

Para instalar la última versión estable es necesario descargarla y compilarla manualmente a partir del código fuente en los sistemas Linux, como se muestra:

Instalar GoAccess desde las fuentes en Linux

Descarga, extrae y compila GoAccess con:

wget https://tar.goaccess.io/goaccess-1.4.6.tar.gz
tar -xzvf goaccess-1.4.6.tar.gz
cd goaccess-1.4.6/
./configure --enable-utf8 --enable-geoip=mmdb
make
make install

Construir desde GitHub (Desarrollo)

git clone https://github.com/allinurl/goaccess.git
cd goaccess
autoreconf -fiv
./configure --enable-utf8 --enable-geoip=mmdb
make
make install

Distribuciones

 

Lo más fácil es instalar GoAccess en GNU+Linux utilizando el gestor de paquetes preferido de tu distribución de GNU+Linux. Ten en cuenta que no todas las distribuciones tendrán la última versión de GoAccess disponible.

  • Debian/Ubuntu
sudo apt-get install goaccess

Nota

Es probable que esto instale una versión obsoleta de GoAccess. Para asegurarte de que está ejecutando la última versión estable de GoAccess, consulta la opción alternativa siguiente.

Repositorio oficial de GoAccess para Debian y Ubuntu

 echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
sudo apt-get update
sudo apt-get install goaccess

 

  • Fedora
yum install goaccess

  • Arch
pacman -S goaccess

  • Gentoo
emerge net-analyzer/goaccess

  • OS X / Homebrew
brew install goaccess

  • FreeBSD
cd /usr/ports/sysutils/goaccess/ && make install clean pkg install sysutils/goaccess

  • OpenBSD
cd /usr/ports/www/goaccess && make install clean pkg_add goaccess

  • openSUSE
zypper ar -f obs://server:http http zypper in goaccess

  • OpenIndiana
pkg install goaccess

  • pkgsrc (NetBSD, Solaris, SmartOS, …)
pkgin install goaccess

Windows


CowAxess es una implementación de GoAccess para sistemas Windows. Es un paquete de GoAccess, Cygwin y muchas otras herramientas relacionadas para convertirlo en una solución completa y lista para usar para el análisis de registros web en tiempo real, todo en un paquete de 4 MB.

Si prefieres ir por el camino más tedioso, GoAccess se puede utilizar en Windows a través de Cygwin. Consulta los paquetes de Cygwin. O a través del subsistema GNU+Linux en Windows 10.

¿Cómo utilizar GoAccess?

Una vez que tengas instalado GoAccess en tu máquina Linux, puedes empezar a utilizarlo ejecutando los siguientes comandos.

 


Cómo empezar

  • Para dar salida a un terminal y generar un informe interactivo:
goaccess access.log

 

Generar Informes HTML

GoAccess puede utilizarse para generar informes HTML que puedes servir en línea. Utiliza el siguiente comando para generar un informe HTML.

 

goaccess /var/log/nginx/access.log -o stats.html

Puedes descargar el archivo en tu PC local para ti o en la carpeta de tu sitio web para servirlo públicamente.


 

Incluso puedes generar un informe HTML en tiempo real utilizando GoAccess. Pero primero, necesitas abrir el puerto 7890 para que se ejecute el Websocket de GoAccess. Abre el puerto utilizando el siguiente comando.

$ sudo firewall-cmd --permanent --add-port=7890/tcp

Recarga el cortafuegos para aplicar el cambio.

 $ sudo firewall-cmd --reload

Ahora, ejecuta el siguiente comando para generar un informe HTML en tiempo real.

$ goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/livereport.html --real-time-html

Esto generaría un informe en tiempo real en la ubicación especificada. El comando anterior mantendrá GoAccess ejecutándose en primer plano como un WebSocket a la escucha de conexiones.

  • Para generar un informe HTML:
goaccess access.log -a > report.html

 


  • Para generar un informe JSON:
goaccess access.log -a -d -o json > report.json
  • Para generar un archivo CSV:
goaccess access.log --no-csv-summary -o csv > report.csv
  • GoAccess también permite una gran flexibilidad para el filtrado y análisis en tiempo real. Por ejemplo, para diagnosticar rápidamente los problemas mediante la supervisión de los registros desde que se inició goaccess:
tail -f access.log | goaccess -
  • Y aún mejor, para filtrar mientras se mantiene abierta una pipe para preservar el análisis en tiempo real, podemos hacer uso de tail -f y una herramienta de patrones de coincidencia como grep, awk, sed, etc:
tail -f access.log | grep -i --line-buffered 'firefox' | goaccess --log-format=COMBINED -

 

 

  • o para parsear desde el principio del archivo manteniendo la pipe abierta y aplicando un filtro
tail -f -n +0 access.log | grep -i --line-buffered 'firefox' | goaccess -o report.html --real-time-html -

Consejos

Además, cabe destacar que si queremos ejecutar GoAccess con menor prioridad, podemos ejecutarlo como:

nice -n 19 goaccess -f access.log -a

y si no quieres instalarlo en tu servidor, puedes ejecutarlo desde tu máquina local.

ssh -n root@server 'tail -f /var/log/apache2/access.log' | goaccess -

Nota

SSH requiere -n para que GoAccess pueda leer desde stdin. Además, asegúrate de utilizar claves SSH para la autenticación, ya que no funcionará si se requiere una frase de contraseña.

 

Ejecutar GoAccess sin privilegios

Como buena práctica de seguridad, cuanto menos código funcione como root, mejor. Para ejecutar GoAccess sin ser root, necesita permisos para leer los archivos de registro.

Los archivos de registro del servidor suelen formar parte del grupo adm. Puedes comprobarlo utilizando el siguiente comando.

$ ls -l /var/log/nginx
total 68
-rw-r----- 1 nginx adm 30547 Oct 10 12:47 access.log
-rw-r----- 1 nginx adm 35063 Oct 10 12:47 error.log

Como puedes ver, no necesitas ser usuario root para abrir los archivos de registro. Cualquier usuario perteneciente al grupo adm puede abrir los archivos.

La forma más sencilla de ejecutar GoAccess sin ser root es añadir al usuario actualmente conectado al grupo adm. De ese modo, podrás ejecutar GoAccess con ese usuario sin sudo.

Ejecuta el siguiente comando para añadir el usuario actual al grupo adm.

$ sudo usermod -aG adm $USER

Ahora, cierra la sesión y vuelve a entrar para aplicar el cambio. O puedes ejecutar el siguiente comando sin necesidad de cerrar la sesión para aplicar el cambio.

 $ su $USER

Deberías poder ejecutar GoAccess directamente sin necesidad de sudo.

 $ goaccess /var/log/nginx/access.log

Los datos anteriormente mencionados son presentados tanto en el terminal como el panel del navegador (ambos en inglés) en atractivos gráficos y diagramas para que, rápidamente, puedas sacar conclusiones sobre la facilidad de uso de tu web y sobre tus visitantes. La siguiente tabla explica los diferentes aspectos cubiertos por GoAccess durante su análisis de los archivos log, resumiendo los resultados y su significado.

ValorTraducciónValor decisivoSignificado para el análisis web
Unique visitors per day – including spidersVisitantes únicos diarios, incluyendo bots Visitas, visitantes, fecha (Data)Todas las visitas realizadas desde una misma IP se cuentan como una única visita. Observar el número de visitantes durante un periodo de tiempo prolongado permite ver si las campañas y los contenidos han tenido éxito.
Requested Files (URLs)Datos solicitados (incluyendo URL)Visitas, ancho de banda, tiempo de carga (Avg., Cum., Max. T.S.), URL (Data)Esta sección presenta una visión general de los URL más solicitados. Aquí conocerás qué páginas de tu proyecto web son particularmente populares, así como la cantidad de ancho de banda consumida y la estabilidad de los tiempos de carga.
Static RequestsSolicitudes de contenido estático Visitas, ancho de banda, tiempo de carga, archivos (Data)Al igual que en el caso anterior, se muestran los URL más solicitados, pero únicamente para contenidos estáticos tales como gráficos, iconos o elementos de diseño.
Not Found URLs (404s)Direcciones URL no encontradas (Errores 404)Visitas, URL (Data)En esta categoría, los URL mencionados han llevado a los usuarios a encontrarse con el error 404. Con la ayuda de esta estadística podrás identificar y solucionar problemas de red o enlaces defectuosos. Recuerda que estos últimos tienen un impacto negativo para los usuarios y para los motores de búsqueda.
Visitor Hostnames and IPsNombre del host y direcciones IPCiudad, país, nombre del host, IP (Data)Esta sección ofrece información acerca de los proveedores y las direcciones IP de los visitantes. Adicionalmente, GoAccess proporciona datos sobre el país y lugar de origen. Aquí, el principal beneficio es poder presentar contenido personalizado a los usuarios. Sin embargo, dependiendo del país será necesario considerar la legislación de protección de datos para poder utilizar esta información.
Operating SystemsSistemas operativosVisitas, visitantes, sistema operativo (Data)Aquí se muestran los sistemas operativos que utilizan los visitantes. Esta información se utiliza principalmente para determinar el porcentaje del tráfico móvil.
BrowsersNavegadoresVisitas, visitantes, navegadores (Data)En esta zona se enumeran los tipos de clientes. En primer lugar podrás ver los números de los diferentes navegadores, pero también qué crawlers rastrean tu web, en caso de que los haya.
Time DistributionDistribución temporal de las visitasVisitas, visitantes, tiempos de carga, hora (Data)Recibirás un resumen exacto sobre los horarios de mayor tráfico. Con este criterio determinas exactamente en qué momentos del día tus usuarios son particularmente activos, con lo que podrás insertar publicidad o publicar contenidos con mucha exactitud.
Virtual HostsHosts virtualesVisitas, ancho de banda, host (Data)Si ejecutas más de un host virtual (dominios, direcciones IP) en tu servidor web, con la ayuda de esta estadística puedes filtrar aquellos recursos que demandan un mayor esfuerzo por parte de tu servidor.
Referrers URLsDirecciones URL de referencia Visitas, URL (Data)Los referrers son las direcciones URL que dirigieron al visitante a tu página web. Con esta estadística puedes filtrar los sitios asociados más fuertes, así como los criterios de búsqueda exactos cuando el visitante llegó a tu web desde un motor de búsqueda.
Referring SitesPáginas web de referencia Visitas, dirección web (Data)A diferencia de las estadísticas anteriores, aquí no obtendrás el URL, sino la dirección general del sitio de origen.
Keyphrases from Google's search engingeCriterios de búsqueda utilizados en GoogleVisitas, criterios de búsqueda Además de las estadísticas de URL, GoAccess ofrece una lista separada de los criterios de búsqueda, al menos para Google.
Geo LocationLocalización geográficaVisitantes, origen (Data)Esta sección ofrece la localización geográfica exacta de las direcciones IP del sistema del usuario. Sin embargo, este punto también implica las mismas cuestiones legales correspondientes a la protección de datos que para la categoría de nombre de host y usuario IP.
HTTP Status CodesCódigos de estado HTTPVisitas, código de estado (Data)Esta categoría ofrece una visión general de las respuestas del servidor. Con esta información puedes determinar si tu servidor web funciona correctamente y si los usuarios visualizan y acceden a tus contenidos sin ningún problema.


Fuentes:

https://esgeeks.com/goaccess-analizador-registros-web-tiempo-real/
 


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.