Generalidades
En este artículo se enumeran los comandos que puedes ejecutar para ver información sobre el tráfico de tu sitio web.
Para correr los comandos de este artículo, debes crear un usuario de Shell e iniciar sesión en tu servidor a través de SSH.
Ubicar los directorios de registros
Inicia sesión en tu servidor a través de SSH para poder navegar al directorio de registros correcto.
[server]$ cd ~/logs/example.com/https
Si has agregado un certificado SSL a tu sitio web, verás dos carpetas. Una para /http y otra para /https. Por ejemplo:
- ~/logs/example.com/http
- ~/logs/example.com/https
Si visitas tu sitio y ves que utiliza HTTPS en la URL (https://example.com), debes ver el directorio /https. Si tu sitio muestra HTTP cuando lo visitas, debes ver en tu lugar el directorio /http. Los siguientes ejemplos suponen que tu sitio utiliza HTTPS.
Solo Planes de DreamPress
No hay directorios http/s en la ruta de archivo para los sitios de DreamPress. En su lugar, puedes encontrar los registros de DreamPress en el siguiente directorio:
[server]$ cd ~/logs/example.com/
Ver la información de access.log
Los siguientes comandos enumeran varios tipos de información del archivo access.log de tu sitio web.
Los registros se rotan diariamente, lo que significa que solo hay unos pocos días disponibles en cualquier momento. Si necesitas registros a largo plazo, debes realizar respaldos de ellos continuamente. Según el GDPR, DreamHost almacena registros HTTP de forma predeterminada durante 7 días.
Listado de IPs visitadas
Listado de IPs
Enumera las direcciones IP precedidas por el número de veces que accedieron a un sitio.
[server]$ cat access.log| awk '{print $1}' | sort | uniq -c |sort -nEnumera los últimos 10.000 accesos a un sitio.
[server]$ tail -10000 access.log| awk '{print $1}' | sort | uniq -c |sort -nVer los registros en tiempo real
Revisa los registros de tu servidor en tiempo real. Esto puede ayudar a identificar un problema con una IP específica.
[server]$ tail -f -q access.log-
Solo para VPS & Dedicados
Puedes ejecutar este comando desde cualquier directorio en un VPS o Servidor Dedicado.
[server]$ tail -f -q /home/*/logs/*/https/access.logVer el host de la IP
El comando host muestra la compañía de alojamiento de la que proviene una IP específica. En este ejemplo, la IP pertenece a Google.
[server]$ host 66.249.66.167
167.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-167.googlebot.com
Bloquear IPs
Revisa este artículo para obtener instrucciones sobre cómo bloquear una dirección IP usando un archivo .htaccess.
Listado de los archivos principales, directorios, y dominios
Archivos y directorios
Enumera los archivos y directorios que reciben más visitas en un sitio.
[server]$ awk '{print $7}' access.log|cut -d? -f1|sort|uniq -c|sort -nk1|tail -n10Tráfico de un dominio
Enumera el tráfico de todos los dominios incluidos bajo un usuario específico (en un servidor Shared). Este comando debe ejecutarse en el directorio /logs/.
[server]$ for k in `ls -S */https/access.log`; do wc -l $k | sort -r -n; done-
Solo para VPS & Dedicados
Enumera todo el tráfico de todos los dominios bajo un único usuario. Puedes ejecutar este comando desde cualquier directorio en un VPS o un Servidor Dedicado.
[server]$ for k in `ls -S /home/*/logs/*/https/access.log`; do wc -l $k | sort -r -n; doneUser Agent
Filtrar resultados por el User-Agent que se conecta. Esto puede ayudar a identificar bots o rastreadores que atacan un sitio. El siguiente ejemplo muestra un bot de Amazon.
[server]$ awk -F\" '($2 ~ "^GET /"){print $6}' access.log | sort | uniq -c | sort -n
3 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36
Comandos de Servidores Dedicados
Estos comandos muestran TODOS los registros de TODOS los sitios en un Servidor Dedicado.
Los siguientes comandos deben ejecutarse bajo el usuario 'root' de tu Servidor Dedicado.
Cambiar al usuario 'root'
- Inicia sesión en tu servidor como usuario 'admin'.
-
Corre sudo su:
[server]$ sudo su [sudo] password for exampleuser: -
Ingresa tu contraseña del usuario 'admin'. Luego iniciarás sesión como el usuario 'root', lo cual se puede confirmar por cómo cambia el símbolo del sistema:
root@ds123456#
Correr comandos como el usuario 'root'
Después de iniciar sesión como usuario 'root', corre los siguientes comandos para ver los registros de todos los sitios en tu servidor.
Listar todo el tráfico
Enumera todo el tráfico de todos los dominios. Puedes ejecutar este comando desde cualquier directorio.
[server]$ for k in `ls -S /home/*/logs/*/https/access.log`; do wc -l $k | sort -r -n; doneRevisar los registros en tiempo real
Observa los registros de tu servidor en tiempo real. Esto puede ayudar a identificar un problema con una IP específica. Puedes ejecutar este comando desde cualquier directorio.
[server]$ tail -f -q /home/*/logs/*/https/access.log
Solución de problemas
Mi IP Única está haciendo muchas conexiones
Si has agregado una IP Única a tu sitio web, es posible que descubras que está realizando muchas conexiones. Esto no es un problema y se puede ignorar sin problemas, ya que el servidor Apache genera internamente estas conexiones para cerrar procesos innecesarios. Puedes leer más sobre esto aquí.