Monitorizar nuestro servidor web es algo que debemos realizar de manera regular. Las estadísticas de uso nos permiten identificar cuellos de botella y provisionar adecuadamente los recursos necesarios.
El servidor Apache 2 tiene un módulo que nos ofrece esta información en tiempo real y que normalmente viene instalado,solamente tenemos que activarlo para ello accedemos al archivo de configuracion de nuestro servidor:
sudo nano /etc/apache2/apache2.conf
y quitamos el comentario a la línea
ExtendedStatus on
añadimos las lineas
<Location /server-status>
SetHandler server-status
AuthType basic
AuthName "Apache Server Status"
AuthBasicProvider file
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
Veremos el estado del servidor accediendo a la página /server-status, donde se nos pedirá un usario y una contraseña.
Vamos a crearlas para ello descargaremos el paquete apache2-utils si no lo hemos hecho ya
sudo apt-get update
sudo apt-get install apache2-utils
Utilizamos el comado htpasswd para crear el archivo con los usuarios autorizados:
sudo htpasswd -c /etc/apache2/.htpasswd xxxx
siendo xxxxx el nombre del usuario. Se nos pedirá la contraseña del mismo. Podemos añadir usuarios adicionales utilizando el mismo comando sin la opción -c
. Una vez introducidos el usuario y la contraseña correctas veremos las estadísticas de nuestro servidor:
Presentemos esta información de una manera visualmente más atactiva. Para ello haremos uso del módulo mod_lua que nos permite extender las funcionalidades del servidor. Lo habilitamos como siempre sudo a2enmod lua
y descargamos el script server-status.lua. Añadimos a nuestro apache2.conf la linea AddHandler lua-script .lua
, subimos el script server-status.lua a nuestro servidor y sustituimos la directiva location por la siguiente:
<Files "server-status.lua">
AuthType basic
AuthName "Apache Server Status"
AuthBasicProvider file
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Files>
También podemos añadir en nuestro .htaccess /Redirect "/server-status/" "ubicacion/de/server-status.lua"
si queremos seguir accediendo como antes. Si todo ha ido bien debemos ver algo similar a:
El resultado es mucho más comprensible