Apache se ha posicionado como una de las mejores soluciones para las tareas de servidor web gracias a sus funciones, escalabilidad y alcance que permite a los administradores tener a mano soluciones integrales no solo a la hora de implementar elementos web sino en todo el proceso de gestión.
Una de las soluciones integrales a la hora de administrar Apache es GoAccess la cual mediante gráficos nos permite controlar todo lo que ocurre con nuestro servidor Apache.
Solvetic hará un análisis sobre como instalar GoAccess y de esta forma ver el alcance que esta utilidad nos brinda dentro de las tareas administrativas.
Al usar GoAccess, estaremos con una herramienta que nos ofrece estadísticas HTTP integrales útiles a la hora de administrar todo el sistema web y donde se requieren detalles específicos sobre las acciones que ocurren en él.
Por defecto, los resultados generados con esta utilidad son a través de la terminal, está en la capacidad de generar un informe HTML completo en tiempo real, así como informes JSON y CSV.
- Todos los paneles y métricas están programados para actualizarse cada 200 ms en la salida del terminal y cada segundo en la salida HTML lo cual nos permite garantizar que los resultados serán generados en tiempo real.
- GoAccess es compatible con cualquier cadena de formato de registro personalizado, dentro de sus opciones predefinidas tenemos Apache, Nginx, Amazon S3, Elastic Load Balancing, CloudFront y más.
- Seguimiento del tiempo de respuesta de la aplicación el cual nos permite rastrear páginas que están ralentizando el sitio y así tomar acciones administrativas.
- GoAccess tiene la capacidad de procesar registros de forma incremental a través de la base de datos del árbol B + en el disco duro.
- GoAccess está escrito en el lenguaje C, para su ejecución, solo se necesita ncurses como dependencia.
- Configuración mínima necesaria
- Al usar GoAccess, será posible determinar la cantidad de visitas, visitantes, ancho de banda y métricas para las solicitudes de ejecución más lentas por hora o fecha lo cual nos permite un control total sobre momentos críticos.
- Métricas por host virtual la cual despliega qué host virtual está consumiendo la mayoría de los recursos del servidor web en el momento.
- Esquemas de color personalizable
Ahora veremos cómo instalar GoAccess y para ello usaremos Ubuntu 17 Server.
1. Actualizar el Sistema Operativo Linux
El primer paso que dar consiste en actualizar los paquetes del sistema operativo y para ello ejecutaremos los siguientes comandos:
sudo apt-get update -y sudo apt-get upgrade -y
2. Instalar las dependencias en Linux
La utilidad GoAccess está escrita en C, razón por la cual será necesario instalar algunas dependencias requeridas por GoAccess, para ello, podremos instalarlas con el siguiente comando:
sudo apt-get -y install libncursesw5-dev gcc make libgeoip-dev libtokyocabinet-dev build-essential -y
3. Instalar el servidor web Apache en Linux
GoAccess es una herramienta enfocada en analizar los registros del servidor web, por lo que se requiere instalar Apache en la distribución y para su instalación se puede instalar con el siguiente comando:
sudo apt-get install apache2 -y
En este caso ya contamos con Apache instalado en el sistema. Una vez instalado procedemos a iniciar el servicio y habilitarlo en el arranque del sistema ejecutando lo siguiente:
sudo systemctl start apache2 sudo systemctl enable apache2
4. Instalar GoAccess en Linux
Una vez completemos los pasos anteriores es momento de instalar GoAccess la cual podemos realizar de dos formas.
La primera alternativa, la cual usaremos en este tutorial, es a través del recurso oficial de GoAccess, para ello, en primer lugar, descargaremos la última versión de GoAccess usando el comando wget de la siguiente forma:
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
Procedemos a extraer el archivo descargado ejecutando:
sudo tar -xzvf goaccess-1.2.tar.gz
Ahora, cambiaremos el directorio a goaccess-1.2 y compilaremos GoAccess ejecutando el siguiente comando:
cd goaccess-1.2 sudo ./configure --enable-utf8 --enable-geoip=legacy
Una vez este proceso finalice veremos lo siguiente:
Ahora ejecutamos:
sudo make
Finalmente instalamos GoAccess ejecutando:
sudo make install
La segunda alternativa para instalar GoAccess es a través de un repositorio, para ello será necesario descargar el repositorio de GoAccess usando apt con el siguiente comando:
echo "deb http://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 add –
Luego, actualizaremos el repositorio usando el siguiente comando:
sudo apt-get update -y
Finalmente, instalamos GoAccess ejecutando:
sudo apt-get install goaccess -y
5. Usar GoAccess en Linux
Ha llegado el momento de comprobar el uso de GoAccess y para esto, en primer lugar, vamos a acceder al servidor web Apache usando la siguiente sintaxis:
http://Direccion__IP
Como vemos, el acceso a Apache funciona de forma correcta. Después de acceder al servidor web, Apache se encargará de agregar algunas entradas de registro en el archivo access_log de forma predeterminada. Ahora es posible analizar el registro del servidor web Apache desde la terminal ejecutando el siguiente comando:
sudo goaccess /var/log/apache2/access.log --log-format=COMBINED
Allí encontramos las estadísticas del servidor web Apache en tiempo real. Ahora, también es posible generar un reporte en formato HTML ejecutando la siguiente línea:
sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html
Una vez creado este reporte, podremos acceder a él desde nuestro navegador ejecutando lo siguiente:
http://Direccion_IP/report.html
Allí podemos ver gráficamente las estadísticas en tiempo real del servidor web Apache. A medida que bajamos encontramos más secciones:
En el costado lateral izquierdo podemos pulsar en el icono de menú para acceder directamente a alguna de las categorías disponibles:
Al pulsar en el icono de engranaje, podremos acceder a la configuración de GoAccess:
Allí podremos cambiar el tema, definir la cantidad de paneles a desplegar y más, estos cambios son aplicados inmediatamente:
Podemos ver como GoAccess es una utilidad simple pero completa que nos permite tener un control centralizado sobre todo lo que sucede en el servidor web Apache.