Webalizer muestra solo 2 meses en la página de resumen (Ubuntu 14.04)

Webalizer muestra solo 2 meses en la página de resumen (Ubuntu 14.04)

Webalizer solía mostrar 12 meses en el resumen de la página de inicio, en una descripción gráfica y en una lista de enlaces a cada mes de este y a los 11 meses anteriores. Esto funcionó de inmediato al menos en Ubuntu 10.04 y 12.04, solo tuve que configurar el modo incremental para manejar mis archivos de registro diarios (no mensuales).

Después de mover dos sitios web a 14.04, encontré que Webalizer alteraba el resumen, de manera que mostraba solo dos meses en la descripción general gráfica, 10 espacios para los otros meses estaban vacíos. La lista de enlaces muestra solo los mismos dos meses (este mes y el mes pasado). Si omito los datos de registro de mayo y junio, obtengo marzo y abril, nuevamente solo dos meses.

Intenté omitir el modo incremental (usando el archivo de configuración predeterminado) y le entregué a webalizer un único archivo de registro que contenía 30 meses de registros. Esto dio como resultado que webalizer creara un gráfico resumido y una lista de enlaces de 11 veces en mayo y 1 vez en junio.

Importante tener en cuenta: las estadísticas mensuales parecen correctas, incluso las de hace tres o más meses, solo tengo que escribir la URL a mano de cualquier entrada de estadísticas de hace más de 2 meses.

Busqué en la web cualquier combinación de "webalizer", "dos meses", "solo", etc. y solo encontré una pregunta como esta, pero sin ninguna respuesta.

¿Alguna idea, amigos, qué está mal o qué podría estar haciendo mal?

Ok, por supuesto que quieres ver más exactamente lo que probé, así que incluiré ejemplos de línea de comando de lo que probé:

$ logdir=/path-to-logdir
$ ls $logdir
...
2015.0617-access.log.gz
2015.0618-access.log.gz
2015.0619-access.log.gz
$ outputdir=/path-to-webroot/statistics
$ rm $outputdir/*
$ for logfile in $logdir/*-access.log.gz;  do webalizer -r http://$hostname -n $hostname -o $outputdir $logfile;  done
... lots of verbose output about webalizer's activity
... last of it being:
Webalizer V2.23-08 (Linux 3.13.0-55-generic x86_64) locale: htm*
Using logfile /path-to-logdir/2015.0619-access.log.gz (gzip-clf)
Creating output in /path-to-webroot/statistics
Hostname for reports is 'myhostname'
Reading history file... webalizer.hist
Reading previous run data.. webalizer.current
Saving current run data... [06/19/2015 23:27:09]
Generating report for June 2015
Saving history information...
Generating summary report
20 records in 1 seconds, 20/sec
$ 

Esto resultó en solo dos meses en resumen total, pero los resúmenes mensuales (incluso los de más de 2 meses) se crearon y fueron accesibles a través de una URL escrita manualmente.

Otro intento (todos los datos a la vez, no incrementales) fue:

$ zcat $logdir/*-access.log.gz >/tmp/access.log
$ rm $outputdir/*
$ webalizer -r http://$hostname -n $hostname -o $outputdir /tmp/access.log
... lots of verbose output just as before
$ 

Resultado similar, pero el resumen total tuvo 11 entradas en mayo y una entrada en junio.

¿Quién puede ayudar a obtener resúmenes correctos?

Gracias, TomTomTom

==================================================== = EDITAR: He corregido algunos errores tipográficos y he hecho más pruebas

Ni una sola respuesta o comentario durante más de 24 horas; parece que este material de Webalzer no es tan destacado. Bueno, esto es lo que he hecho:

  • Copié los archivos de registro en una computadora portátil con una instalación nueva de 14.04 - mismos resultados
  • Dejé caer los archivos de registro creados por Apache 14.04: el mismo resultado
  • Tomé el código fuente de Webalizer y lo compilé en dos máquinas 14.04 diferentes; esta finalmente funciona.

¿Eso significa que el paquete webalizer de Ubuntu-14.04 está roto? ¿Desde hace más de un año? Difícil de creer.

Si nadie puede explicar qué salió mal, al menos para aquellos que buscan problemas de resumen del webalizer, habrán descubierto que no es solo suyo.

Me alegrará saber de otras personas que tienen problemas similares con Webalizer y, por supuesto, me alegraré aún más si alguien puede indicarme una solución que no requiera compilar las fuentes de Webalizer.

¡Gracias!

TomTomTom

Respuesta1

Respuesta2

Bueno, tengo el mismo problema, aunque en la caja de Fedora. Y tampoco hay solución. Utilizo una "solución alternativa", basada en un script que encontré enhttp://stevehavelka.com/rebuilding-broken-webalizer-history-tcl/, con el que recreas el archivo histórico. Es sucio, estilo copiar y pegar, pero funciona. Al menos durante un mes (es decir, hasta que webalizer vuelva a crear la página de índice y sobrescriba el archivo histórico):

#!/bin/sh
#Using this script is straightforward:
#
# 1. Run it within the folder that has your old webalizer files, and it produces as much historical data as it can.
# 2. Copy/paste that historical data into your webalizer.hist file, and rerun Webalizer.
# 3. That’s it!  You should have all your stats back.
#
# the next line restarts using tclsh \
exec tclsh "$0" "$@"

# first, find the right files
foreach file [lsort -decreasing [glob usage_*.html]] {

    # and get the date from the files
    regexp {usage_(\d{4})(\d\d).html} $file -> year month

    # open the file to get some data from it
    set fh [open $file r]
    set text [list]
    while { ![eof $fh] } {
        lappend text [gets $fh]
    }
    close $fh

    # now start pulling out data with Total Hits
    set idx [lsearch -glob $text {*Total Hits*}]
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalHits

    # Total Files
    set idx [lsearch -glob $text {*Total Files*}]
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalFiles

    # Total Unique Sites
    set idx [lsearch -glob $text {*Total Unique Sites*}]
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalUniques

    # Total kB Files
    set idx [lsearch -glob $text {*Total kB Files*}]
    if { $idx == -1 } {
        set idx [lsearch -glob $text {*Total KBytes*}]
    }
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalKb

    # Process days
    set first [lsearch -glob $text {*Daily Statistics for*}]
    set last [lsearch -glob $text {*Hourly Statistics for*}]
    set subtext [lrange $text $first $last]
    set dates [lsearch -glob -all -inline $subtext {<TR*><TD ALIGN=center><FONT SIZE="-1"><B>*</B></FONT></TD>}]

    # First day processed
    regexp {<B>(\d+)</B>} [lindex $dates 0] -> firstDay

    # Last day processed
    regexp {<B>(\d+)</B>} [lindex $dates end] -> lastDay

    # Total Pages
    set idx [lsearch -glob $text {*Total Pages*}]
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalPages

    # Total Visits
    set idx [lsearch -glob $text {*Total Visits*}]
    regexp {<B>(\d+)</B>} [lindex $text $idx+1] -> totalVisits

    # and that's it!
    puts "[string trimleft $month 0] $year $totalHits $totalFiles $totalUniques $totalKb $firstDay $lastDay $totalPages $totalVisits"

}

Como se indicó, coloque este script en el directorio que contiene los resúmenes de estadísticas, ejecútelo y copie y pegue el resultado en su archivo webalizer.hist. Ahí tienes.

Probablemente esto signifique que volver a escribir el historial en el archivo de historial no funciona como se esperaba. Como no tengo idea alguna de dónde buscar en la fuente, espero que alguien más pueda arrojar más luz sobre ese tema... Cualquier sugerencia es bienvenida.

información relacionada