1. Introducción
Core-Admin incluye, dentro del módulo Webhosting Management, una herramienta integrada que permite analizar los logs de acceso HTTP de cualquier alojamiento alojado en el servidor y generar un informe que combina:
- Un resumen estadístico del tráfico (códigos de estado, IPs con país, URLs más solicitadas, métodos, bots vs humanos, ancho de banda consumido, peticiones por minuto y referers).
- El listado cronológico de las líneas del log para el día seleccionado.
Esto evita tener que entrar por SSH al servidor para mirar access.log con grep, awk o herramientas externas: el informe se genera con un par de clics y se puede consultar en la propia interfaz, recibir por correo o publicar como enlace privado.
Este artículo explica dónde se encuentra la opción, cómo se utiliza y qué contiene el informe resultante.
2. Requisitos previos
- Core-Admin instalado con el módulo Webhosting Management activo en el servidor donde reside el alojamiento.
- Acceso al panel web de Core-Admin con permisos suficientes para editar el alojamiento.
- El alojamiento debe tener al menos un fichero
access.logen su carpeta/var/webs/<nombre-hosting>/logs/. Esto se cumple por defecto en todos los hostings creados con la herramienta.
3. Dónde se encuentra la opción
La función se encuentra dentro de la vista de edición de cada alojamiento, en la pestaña General settings, sección Hosting stats.
Para llegar a ella:
- Accede al panel web de Core-Admin.
- Entra en el módulo Webhosting Management.
- En el listado de alojamientos, haz doble clic sobre el hosting que deseas analizar (o selecciónalo y pulsa Edit).
- En la vista de edición, sitúate en la pestaña General settings (es la que se abre por defecto).
- Desplázate hasta la sección Hosting stats y pulsa el botón Access logs and stats.
4. Cuadro de diálogo: opciones disponibles
Al pulsar el botón se abre un diálogo de confirmación con dos secciones:
4.1. Selección del log de acceso
En el desplegable Access log aparece la lista de ficheros access.log* disponibles en la carpeta de logs del hosting, ordenados desde el más reciente al más antiguo. Cada entrada muestra:
- La fecha y hora de la última modificación del fichero.
- Una etiqueta que indica si se trata del fichero activo (
current) o de un fichero rotado (por ejemplo,access.log.1,access.log-20260512.gz, etc.).
Esto te permite seleccionar el día concreto que quieres analizar sin tener que conocer la convención de rotación de logs del sistema.
4.2. Modo de entrega del informe (Output options)
El segundo desplegable, Output mode, decide cómo se entrega el informe generado. Hay tres opciones:
| Opción | Descripción |
|---|---|
| Show results in panel | (Por defecto) El informe se muestra directamente en un panel del propio Core-Admin como texto plano. Útil para una consulta rápida desde el navegador. |
| Send result by email | El informe se guarda como .txt, se comprime en .zip y se envía adjunto al correo indicado en el campo Destination email. Útil para compartirlo o archivarlo. |
| Show results in link | El informe se guarda como un fichero .txt estático bajo el document root del alojamiento, con un sufijo aleatorio que dificulta su descubrimiento, y se devuelve una URL pública. Útil para compartir el informe con un tercero sin acceso al panel. |
Nota sobre el modo “Send result by email”: el campo Destination email solo es obligatorio si seleccionas esta opción. Si lo dejas vacío en otros modos, no se utiliza. El sistema valida que la dirección tenga formato correcto antes de procesar el informe.
Nota sobre el modo “Show results in link”: el fichero generado queda accesible públicamente vía HTTPS bajo el dominio del propio hosting. El sufijo aleatorio (32 caracteres hexadecimales) hace muy difícil que un tercero lo encuentre por casualidad, pero cualquiera que disponga de la URL podrá descargar el informe. Trátalo como información sensible: compártelo solo con quien deba verlo y bórralo del servidor cuando ya no sea necesario. Junto con la URL, el panel muestra el comando exacto
rm <ruta>para eliminarlo.
5. Contenido del informe
Independientemente del modo de entrega, el informe siempre tiene la misma estructura. Por defecto se analizan las 24 horas completas del fichero seleccionado (rango 00:00 - 23:59) y la sección estadística se imprime antes que el listado de líneas.
5.1. Cabecera
Cabecera con los datos de contexto del informe:
Hosting access log report
=========================
Hosting: midominio.com
Server: servidor.example.com
Log file: /var/webs/midominio.com/logs/access.log
Time range: 00:00 - 23:59 (full day)
Generated: 2026-06-04 11:32:18
5.2. Bloque de estadísticas HTTP
A continuación se imprime el bloque HTTP Statistics (o Estadísticas HTTP si el panel está en español), generado por crad-log-search.pyc con las opciones --http-stats --stats-first. Contiene:
| Apartado | Descripción |
|---|---|
| Resumen | Total de registros analizados, ancho de banda total servido, y reparto entre peticiones de bots y de humanos (con porcentaje). |
| HTTP Status Codes | Distribución de códigos de respuesta (200, 301, 404, 500…) con número de peticiones, porcentaje y barra visual proporcional. |
| Top IPs | IPs que más han accedido, con resolución GeoIP (país) cuando está disponible. Permite detectar abusos o tráfico anómalo desde un origen concreto. |
| Top URLs | Rutas más solicitadas (sin query string), útil para detectar páginas calientes, escaneos automatizados (/wp-login.php, /xmlrpc.php…) o errores 404 recurrentes. |
| HTTP Methods | Reparto entre GET, POST, HEAD, etc. |
| User-Agent (bots vs humanos) | Clasificación del tráfico. Reconoce bots conocidos por su firma (Googlebot, bingbot, MJ12bot, UptimeRobot, Twitterbot, etc.) y agrupa el resto como tráfico humano. |
| Bandwidth | Total de bytes transferidos en el rango analizado. |
| Requests per minute | Distribución temporal del tráfico minuto a minuto. Permite localizar picos puntuales (ráfagas de bot, ataques, campañas, etc.). |
| Top Referers | Sitios desde los que llegan más peticiones. |
5.3. Listado cronológico de líneas
Después del bloque estadístico, el informe incluye todas las líneas del access.log dentro del rango horario indicado, en orden cronológico. Esto permite, una vez identificada una IP, URL o ventana temporal sospechosa en el resumen, ir al detalle de cada petición sin tener que abrir un terminal contra el servidor.
6. Casos de uso típicos
A continuación se enumeran los escenarios más habituales en los que esta herramienta resulta útil:
6.1. Investigar un pico de tráfico o de carga
Si el servidor ha tenido carga elevada en un momento concreto, abre el informe del día y revisa el apartado Requests per minute: localizarás el minuto exacto del pico y, en Top IPs y Top URLs, podrás identificar la causa (un bot agresivo, un cliente legítimo procesando una integración, un escaneo automatizado, etc.).
6.2. Detectar un escaneo o intento de intrusión
Si sospechas que un sitio está siendo escaneado en busca de paneles administrativos, revisa el apartado Top URLs. La aparición masiva de rutas como /wp-login.php, /xmlrpc.php, /.env, /phpmyadmin/ o /wp-admin/admin-ajax.php con respuestas 404 o 401 indica que alguien está sondeando el sitio. Cruzando con Top IPs y su país (GeoIP) se confirma fácilmente.
6.3. Justificar consumo de ancho de banda
El bloque Bandwidth y el reparto bots vs humanos permite responder rápidamente preguntas como “¿quién está consumiendo mi cuota de transferencia?” o “¿cuánto del tráfico de mi web son visitas reales y cuánto son crawlers?”. Útil tanto para optimización de SEO como para argumentar bloqueos por robots.txt o reglas de firewall.
6.4. Compartir un informe con el cliente
Si necesitas enviar el análisis al cliente final o a un tercero (por ejemplo, para documentar una incidencia de seguridad), utiliza el modo Send result by email (zip adjunto) o Show results in link (URL privada). El informe es texto plano legible sin herramientas adicionales.
6.5. Auditar un día concreto del pasado
Al estar disponible cualquier access.log* que aún esté presente en /var/webs/<hosting>/logs/, puedes analizar días anteriores mientras los ficheros rotados no hayan sido eliminados por la política de logrotate del sistema.
7. Consideraciones técnicas
-
Comando interno utilizado: el botón ejecuta internamente
crad-log-search.pyc --range 00:00-23:59 --http-stats --stats-first <ruta-del-log>, sobre el fichero seleccionado. -
Día completo: el rango horario está fijado a las 24 horas del día (
00:00 - 23:59). No es configurable desde la interfaz; si necesitas un rango más estrecho (por ejemplo, una ventana de 5 minutos sobre un incidente), usacrad-log-search.pycdirectamente por línea de comandos. - Solo formato Apache Combined Log: el análisis estadístico solo funciona sobre líneas en el formato estándar de Apache. Las líneas que no cumplan el formato se ignoran en el bloque estadístico (pero sí aparecen en el listado cronológico).
-
Restricción de seguridad: el botón solo analiza ficheros dentro de
/var/webs/<nombre-hosting>/logs/. No puede ser engañado para leer logs de otros hostings o ficheros arbitrarios del sistema. -
Codificación: el panel devuelve el informe en base64 internamente y se renderiza como texto plano dentro de un
<pre>. Las secuencias de color ANSI generadas por la herramienta se eliminan antes de mostrar/enviar el informe para que se lea limpio en todos los entornos. - Idioma: si el panel está en español, las cabeceras del bloque estadístico también aparecen en español. El resto del contenido (líneas del log, URLs, user agents, etc.) se muestra tal cual aparece en el log.
8. Resolución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
El botón devuelve No access.log files found
|
El directorio /var/webs/<hosting>/logs/ está vacío o el hosting no ha recibido tráfico todavía |
Verifica que el hosting esté activo en Apache y que esté recibiendo peticiones |
Se muestra Refusing to analyze a file outside the hosting logs folder
|
El combobox ha devuelto un valor manipulado o inconsistente | Cierra el diálogo y vuelve a abrirlo; refresca la vista del hosting si persiste |
| El correo no llega en modo Send result by email | El relay SMTP del servidor no permite el remitente core-admin-access-log@<servidor>, o el destinatario lo marca como spam |
Revisa los logs de correo del servidor (/var/log/mail.log); confirma que el dominio del servidor está correctamente configurado en SPF/DKIM |
| El enlace del modo Show results in link devuelve 403 / 404 | El document root del hosting no permite servir ficheros .txt o tiene reglas específicas |
Revisa la configuración Apache del hosting; como alternativa, usa el modo Send result by email |
| El informe estadístico está vacío | El fichero seleccionado no contiene líneas en formato Apache Combined Log (por ejemplo, es un log de error en lugar de un access.log) | Selecciona explícitamente un fichero access.log* del combobox |
9. Resumen rápido
- Webhosting Management → abrir el alojamiento → pestaña General settings → sección Hosting stats → botón Access logs and stats.
- Elegir el día en el desplegable Access log (orden de más reciente a más antiguo).
- Elegir cómo se entrega el informe: en pantalla, por email o como enlace.
- Revisar primero el bloque de estadísticas HTTP y luego, si hace falta, el detalle cronológico de líneas que aparece debajo.


