Ver y examinar tu access.log a través de SSH

 

Generalidades

Este artículo muestra algunos comandos que puedes ejecutar a través de SSH para ayudar a identificar qué IP están afectando tu sitio.

Los registros se rotan diariamente, lo que significa que solo hay unos pocos días en cualquier momento. Si necesitas registros a largo plazo, debes respaldarlos continuamente. Por GDPR, DreamHost almacena registros HTTP de forma predeterminada durante 3 días.

Iniciar sesión en tu servidor

Para ejecutar los siguientes comandos, primero debes iniciar sesión en tu servidor a través de SSH:

Después de iniciar sesión, navega al directorio de registros correcto.

¿Qué directorio de registros debo ver?

Solo para Planes DreamPress

No necesitas incluir http/s en la ruta del archivo (como se menciona en los siguientes ejemplos) para ver los archivos de registro de los sitios DreamPress. Puedes encontrar los archivos de registro relacionados con DreamPress usando la ruta del archivo /exampleuser/logs/example.com.

Si has agregado un certificado SSL a tu sitio web, verás dos carpetas. Uno para /http y otro para /https. Por ejemplo: 

  • /logs/example.com/http
  • /logs/example.com/https

Si visitas tu sitio y ves que está usando HTTPS en la URL (https://example.com), esto significa que debes ver el directorio /https. Si tu sitio muestra HTTP cuando lo visitas, deberías ver el directorio /http en su lugar. Los siguientes ejemplos asumen que tu sitio está usando HTTPS.

[server]$ cd ~/logs/example.com/https

Aquí es donde ejecutará los siguientes comandos.

Listado de visitas de IP

Comando Descripción
[server]$ cat access.log| awk '{print $1}' | sort | uniq -c |sort -n
Genera una lista de direcciones IP precedida por la cantidad de veces que llega a un sitio.
[server]$ tail -10000 access.log| awk '{print $1}' | sort | uniq -c |sort -n
Genera una lista que muestra los últimos 10,000 accesos a un sitio.
[server]$ host 66.249.66.167
167.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-167.googlebot.com
El comando 'host' determina la compañía de hosting desde la cual una IP específica está golpeando un sitio. En este ejemplo, la IP pertenece a Google.
[server]$ tail -f -q access.log
Revisa los registros de tu servidor en tiempo real para ver si el problema se presenta con una IP específica (para problemas intermitentes).
order allow,deny
deny from 66.249.66.167
allow from all 
Bloquea la IP en un archivo .htaccess. En este ejemplo, el archivo .htaccess bloquea la IP de Google anterior.

Listado de archivos, carpetas y dominios principales

Comando Descripción
[server]$ awk '{print $7}' access.log|cut -d? -f1|sort|uniq -c|sort -nk1|tail -n10
Genera una lista de archivos o directorios en tu sitio que se llaman más.
[server]$ for k in `ls -S */https/access.log`; do wc -l $k | sort -r -n; done
  • Genera una lista de tráfico para todos los dominios listados bajo un usuario específico (en un servidor compartido).
  • Este comando debe ejecutarse en tu directorio /logs/.

Usuarios SHELL en un VPS o Servidor Dedicado

Los siguientes comandos solo muestran sitios bajo un solo usuario Shell. Si necesitas ver todos los registros del sitio en tu servidor, dirígete  la sección a continuación titulada Administrar usuarios en un Servidor Dedicado.

Comando Descripción
[server]$ for k in `ls -S /home/*/logs/*/https/access.log`; do wc -l $k | sort -r -n; done
  • Genera una lista de todo el tráfico para todos los dominios bajo un solo usuario de SHELL.
  • Puedes correr este comando desde cualquier directorio.
[server]$ tail -f -q /home/*/logs/*/https/access.log
  • Revisa los registros de tu servidor (bajo un solo usuario de Shell) en tiempo real para ver si el problema se presenta con una IP específica (para problemas intermitentes).
  • Puedes correr este comando desde cualquier directorio.

Administrar usuarios en un Servidor Dedicado

Los siguientes comandos solo funcionan si tiene un usuario 'Admin' en tu Servidor Dedicado. Luego debes cambiar a tu usuario 'root'. Sólo entonces verás todos los registros de todos los sitios en tu servidor.

Cómo cambiar al usuario 'root' después de iniciar sesión como usuario 'admin'

Los siguientes pasos detallan cómo iniciar sesión como usuario 'root' en tu servidor DESPUÉS de iniciar sesión como tu usuario 'admin' primero.

  1. Inicia sesión en tu servidor como tu usuario 'admin'.
  2. Corre sudo su:
    [server]$ sudo su
    [sudo] password for exampleuser:
    
  3. Ingresa tu contraseña para tu usuario 'admin'.

Ahora has iniciado sesión como usuario 'root'. Puedes ver esto en el símbolo del sistema:

root@ds123456#

Después de iniciar sesión como usuario 'root', corre los siguientes comandos para ver los registros de todos los sitios en tu servidor.

Comando Descripción
[server]$ for k in `ls -S /home/*/logs/*/https/access.log`; do wc -l $k | sort -r -n; done
  • Genera una lista de todo el tráfico para todos los dominios en un Servidor Dedicado.
  • Puedes correr este comando desde cualquier directorio.
[server]$ tail -f -q /home/*/logs/*/https/access.log
  • Mira los registros de tu servidor en tiempo real para ver si el problema se presenta con una IP específica (para problemas intermitentes).
  • Puedes correr este comando desde cualquier directorio.

Solución de problemas

Mi IP Única esta haciendo demasiadas conexiones

Puedes encontrar en tu access.log que la IP única de tu sitio está haciendo muchas conexiones. Esto no es un problema y puede ignorarse con seguridad.

Esto ocurre porque Apache está generando internamente estas conexiones para cerrar procesos innecesarios.

Puedes leer más al respecto aquí.

Solución de problemas

Puedes ver la siguiente respuesta de error después de correr el comando para ver todo el tráfico de todos los dominios en un servidor.

[server]$ for k in `ls -S /home/*/logs/*/https/access.log`; do wc -l $k | sort -r -n; done
ls: cannot access /home/*/logs/*/https/access.log: No such file or directory

Este error ocurre cuando ejecuta el comando como un usuario SFTP. Debes ejecutarlo como usuario 'Shell' en un VPS o usuario 'Shell' o 'Admin' en un Servidor Dedicado.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?