Esto está organizado para el 2026-04-29.
En este punto, la última versión estable que figura en el archivo README oficial es “1.10.2”.
1. Instale primero las dependencias de compilación
1
2
3
|
sudo apt-get update
sudo apt-get install -y build-essential wget tar \
libncurses-dev libmaxminddb-dev libssl-dev zlib1g-dev
|
2. Descargue el paquete fuente más reciente
1
2
3
4
|
cd /usr/local/src
sudo wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
sudo tar -xzvf goaccess-1.10.2.tar.gz
cd goaccess-1.10.2
|
3. Configurar las opciones de compilación
1
|
sudo ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
|
Si también desea compatibilidad con TLS para informes HTML en tiempo real:
1
|
sudo ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib --with-openssl
|
4. Construir e instalar
1
2
|
sudo make
sudo make install
|
5. Verificar la versión
1
2
|
goaccess --version
which goaccess
|
Para registros combinados comunes de Nginx o Apache:
1
|
goaccess /var/log/nginx/access.log --log-format=COMBINED
|
Si la ruta del registro es Apache:
1
|
goaccess /var/log/apache2/access.log --log-format=COMBINED
|
1
2
3
4
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o /usr/share/nginx/html/goaccess-report.html
|
También puedes escribirlo en el directorio actual:
1
2
3
4
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o report.html
|
1
2
3
4
5
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o /usr/share/nginx/html/goaccess-report.html \
--real-time-html
|
Para cambiar el puerto:
1
2
3
4
5
6
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o /usr/share/nginx/html/goaccess-report.html \
--real-time-html \
--port=7891
|
Para vincularse solo a localhost:
1
2
3
4
5
6
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o /usr/share/nginx/html/goaccess-report.html \
--real-time-html \
--addr=127.0.0.1
|
9. Siga los registros continuamente
1
|
tail -f /var/log/nginx/access.log | goaccess --log-format=COMBINED -
|
Desde el principio del archivo y mantenlo activo:
1
2
3
4
|
tail -f -n +0 /var/log/nginx/access.log | goaccess \
--log-format=COMBINED \
-o report.html \
--real-time-html -
|
10. Mire solo ciertas solicitudes
Por ejemplo, solo solicitudes que contengan firefox:
1
2
|
tail -f /var/log/nginx/access.log | grep -i --line-buffered 'firefox' | goaccess \
--log-format=COMBINED -
|
Por ejemplo, sólo 5xx y 3xx:
1
2
3
|
tail -f -n +0 /var/log/nginx/access.log | awk '$9~/3[0-9]{2}|5[0-9]{2}/' | goaccess \
--log-format=COMBINED \
-o out.html -
|
11. Analizar varios registros juntos
1
|
goaccess /var/log/nginx/access.log /var/log/nginx/access.log.1 --log-format=COMBINED
|
Lea registros comprimidos y sin comprimir juntos:
1
|
zcat --force /var/log/nginx/access.log* | goaccess --log-format=COMBINED -
|
12. Habilitar subprocesos múltiples
1
2
3
4
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-o report.html \
-j 4
|
Aumentar el tamaño del trozo:
1
2
3
4
5
|
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-o report.html \
-j 4 \
--chunk-size=8192
|
13. Procesamiento incremental
Primero persista en un registro antiguo:
1
|
goaccess /var/log/nginx/access.log.1 --log-format=COMBINED --persist
|
Luego agregue el registro actual:
1
|
goaccess /var/log/nginx/access.log --log-format=COMBINED --restore --persist
|
Solo lectura de datos persistentes:
14. El conjunto de comandos que ejecutaría primero
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
sudo apt-get update
sudo apt-get install -y build-essential wget tar \
libncurses-dev libmaxminddb-dev libssl-dev zlib1g-dev
cd /usr/local/src
sudo wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
sudo tar -xzvf goaccess-1.10.2.tar.gz
cd goaccess-1.10.2
sudo ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib --with-openssl
sudo make
sudo make install
goaccess --version
goaccess /var/log/nginx/access.log \
--log-format=COMBINED \
-a \
-o /usr/share/nginx/html/goaccess-report.html \
--real-time-html
|
Básicamente eso es todo.
Si su objetivo es claro, instalar la última versión fuente y hacer que --log-format=COMBINED más --real-time-html funcione primero suele ser suficiente. Después de eso, la mayoría de los cambios se refieren solo a rutas de registro, archivos de salida y puertos.