Lo más visto por aquí en 2013

Josemaría | 2 de enero de 2014 | Comentar

icono de calendario En estos días todas las estrellas de esto de la blogocosa se dedica a publicar listas de “lo más” de su año: los libros que más les han gustado, las canciones que más han escuchado, lo que más han comido (de esto no tengo pruebas pero seguro que alguién lo ha escrito por ahí…) Yo, que hace años que tengo pretensiones y amenazo con mantenerme por aquí hasta que, por fin, sea el año de la muerte de los blogs y tras desaparecer todos menos el mío me convierta en (espero) uno de los más leídos del mundo mundial, voy a empezar por dejar aquí una lista con los 11 posts más leídos de este blog durante el 2013, por si acaso a alguno de mis siete lectores se le ha escapado alguno de ellos. Y si, se que es injusto usar sólo el criterio de número de lectores sin ningún tipo de proporcionalidad pero ¿aún alguien se cree que esta vida es justa? Pues así os va…

ACTUALIZACIÓN: ¿Qué os decía? :-D
Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

AWStats Total

Josemaría | 4 de marzo de 2012 | Comentar

estadisticas Es lo último que escribo sobre esto y ya dejo de daros la lata sobre este “antiguedad”. AWStats Total es un script PHP que te permite ver de un vistazo un resumen de todas las instancias web, servidores de correo, etc. cuyas estadísticas estamos controlando. El aspecto que presenta, una vez instalado, es así:

Pantallazo de AWstats-total

Ponerlo a funcionar en un servidor donde ya tenemos AWstats funcionando es muy sencillo. Basta con crear una instancia web para esto (o usar un directorio en la instancia por defecto), copiar en ella el archivo awstatstotal.php que podemos descargarnos de la página del proyecto y configurar adecuadamente la seccion de configuración de dicho script para que se adecue a nuestra instalación. Si hemos configurado AWStats tal y como hemos visto en el primer texto de esta serie la configuración del script sería así:

$DirData = '/var/lib/awstats';
$AWStatsURL = '/awstats/awstats.pl';
$Lang = 'es';
$DirLang = '/usr/local/awstats/wwwroot/cgi-bin/lang';
$NotViewed = 'columns';
$sort_default = 'unique';
Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

AWStats para recoger estadísticas de servidores de correo

Josemaría | 3 de febrero de 2012 | Comentar

estadisticas Vamos a seguir sacándole partido a la configuración de AWStats que empezamos el otro día. Una de las opciones que tenemos disponible y que lo pone también por delante de los gestores de estadísticas que no leen directamente los ficheros de log del servidor es la posibilidad de generar informes de nuestros servidores de FTP y de correo. Hace tiempo que no uso servidores de FTP en mis servidores (prefiero la transferencia por SFTP que sólo requiere tener instalado el servicio de SSH) pero la posibilidad de tener datos estadísticos de mi servidor de correos si que me resulta interesante. Este sería el aspecto de las estadísticas recogidas:

Estadísticas de AWStats para un servidor Postfix

La instalación, si seguiste el paso a paso del otro día, es inmediata. Si no lo hiciste ve echándole un vistazo al mismo tiempo que lees esto porque no vamos a repetir lo que ya está allí.

La configuración del virtual host de Apache es ideńtica, así que nada que añadir a ese punto. Para crear el fichero de configuración de awstats procederemos igual (usando como base el modelo del fichero /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf) pero en este caso las directivas a tocar serán las siguientes:

LogFile="perl /usr/local/awstats/tools/maillogconvert.pl standard < /var/log/mail.log |"
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
SiteDomain="mail.morales-vazquez.com"
HostAliases="mail.morales-vazquez.es"
DNSLookup=1
DirData="/var/lib/awstats"
DirCgi="/awstats"
DirIcons="/awstatsicons"
AllowFullYearView=3
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1

Las tres primeras líneas son las más importantes. En la primera preprocesamos el fichero de log de nuestro servidor de correo (/var/log/mail.log) mediante el programa maillogconvert.pl. En la segunda línea indicamos que se trata de un log de correo y en la tercera especificamos el formato del mismo. Las líneas entre la 4 y la 10 son las mismas que ya vimos el otro día y a partir de la 11 desactivamos algunas directrices que no tienen sentido más que en servidores web y activamos otras propias de la información que queremos recoger en un servidor de correo.

La programación a intervalos de la lectura de logs mediante cron es también idéntica a la vista en el anterior artículo, pero en este caso crearemos un fichero sh independiente del que ya teníamos para luego usarlo también en la rotación de logs del servidor de correo. En mi caso lo he llamado /etc/awstats/cron-awstats-mail.sh y contiene las siguientes líneas:

#!/bin/sh
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mail -update
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mail -databasebreak=day -update

Añadimos otra línea como esta en nuestro fichero de crontab:

*/15 * * * * root /etc/awstats/cron-awstats-mail.sh > /dev/null

Tenemos aún que apañar el tema de la rotación de logs. Los logs del servidor de correo se "limpian" semanalmente y la configuración de este proceso la encontramos en el fichero /etc/logrotate.d/rsyslog. Editamos este fichero y, casi al final del mismo y antes de la directiva postrotate, incluimos las siguientes dos líneas:

prerotate
      /etc/awstats/cron-awstats-mail.sh > /dev/null

Y esto es todo. La extensión Day by Day de la que hablábamos el otro día funciona perfectamente también con las estadísticas del servidor de correo y para añadirlas el procedimiento es el mimo que ya habíamos visto. Suerte con ello.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

AWStats revisitado

Josemaría | 17 de enero de 2012 | 9 comentarios

estadisticas Desde hace unos meses he dejado de lado a Piwik, el maravilloso sistema de estadísticas que he venido usando durante los tres últimos años. Piwik ha evolucionado muchísimo desde que empecé a usarlo: ya no usa gráficos flash, mantiene muy controlado el tamaño de su base de datos, es más rápido y tiene nuevos plugins que lo convierten en un perfecto competidor libre de google analytic y lo están haciendo escalar puestos poco a poco en el competitivo ranking de los sistemas de estadísticas. Pero… tiene un enorme problema: el consumo de memoria resulta del todo inasumible para una máquina con RAM escasa que es el gran cuello de botella de un servidor web con Apache, así que cuando me pasé a un servidor VPS en Linode, con la limitación de RAM que eso supone, fue lo primero que tuve que sacrificar. Algún día me pararé a probar lighttpd o a ver si realmente el módulo MPM worker mejora tanto como cuentan la gestión de memoria, pero por el momento los alrededor de 128 Megas que consumen los scripts de Piwik me resultan del todo inasumibles.

AWStats tiene un aspecto realmente “viejuno” de web sacada de Geocities, pero hace bien lo que tiene que hacer, apenas consume RAM y obtiene sus resultados leyendo directamente de los logs de Apache con lo que no pierde ni una sóla visita. Cualquier otro método (usando javascript en cliente, PHP en el servidor, etc.) es susceptible de perder información en determinadas circunstancias.
Pantalla principal de Awstats

El hecho de que no ofrezca datos en tiempo real se puede mitigar haciendo que los logs se procesen en intervalos más pequeños o, incluso, añadiendo un enlace para que estos se procesen bajo demanda. El filtro de estadísticas diario que por defecto no es posible también puede conseguirse mediante la extensión Day by Day que también veremos en esta entrada.

Los únicos requisitos previos son tener instalados perl (necesario para ejecutar los scripts de awstats) y nuestro servidor web que, en este ejemplo, será Apache. La instalación en una debian es tan fácil como siempre (apt-get install awstats) pero la versión en el repositorio estable es la 6.9.5 que tiene más de dos años. Si quieres trabajar con la última versión (la 7.0 o la beta 7.1 en estos momentos) lo más fácil es bajarte el paquete desde aquí y descomprimirlo en tu servidor en el directorio /usr/local. Todo lo que vamos a ver a continuación supone que estamos instalando por este segundo método.

A continuación creamos un virtual host en nuestro Apache para realizar el acceso a las estadísticas o incluimos las siguientes líneas (sacadas del modelo que tendremos en el fichero /usr/local/awstats/tools/httpd_conf) en, por ejemplo, la instancia por defecto del mismo:

Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
Alias /awstatsjs "/usr/local/awstats/wwwroot/js/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"


     Options None
     AllowOverride None
     Order allow,deny
     Allow from all

Una vez editado debemos de pedir a apache que vuelva a leer la configuración para que tengan efecto estas líneas (service apache2 reload).

Vamos ahora a crear un fichero de configuración para awstats. Partimos del modelo que habrá en /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf. Lo copiamos en el directorio /etc/awstats (que debemos de haber creado antes) con un nombre distintivo (por ejemplo awstats.miweb001.conf) y lo editamos para adecuarlo a nuestra instalación. Mucha antención a la partícula miweb001 que debería de identificar a la web cuyas estadísticas queremos ver y que tendremos que usar en otras instrucciones más adelante. Las líneas que deberías de modificar sobre la configuración por defecto (y que no aparecen consecutivamente como aquí ¿eh?) son estas:

LogFile="/var/log/apache2/apache2-myweb001-access.log"
SiteDomain="www.miweb001.es"
HostAliases="www.miweb0001.com www.miweb001.net"
DNSLookup=1
DirData="/var/lib/awstats"
DirCgi="/awstats"
DirIcons="/awstatsicons"
AllowToUpdateStatsFromBrowser=1
AllowFullYearView=3

Las tres primeras definen, respectivamente, el emplazamiento del fichero de logs de la instancia de apache, el nombre de la web y los posibles alias a través de los cuales podamos acceder a la misma (separados estos por espacios). La cuarta línea habilita la resolución completa por DNS de las IP’s de acceso. En la quinta línea decimos donde queremos que deje los ficheros resultantes de procesar los ficheros de log (¡no olvides crearlo!). En la sexta y la séptima se define donde están los diferentes componentes de awstats según los hemos definido anteriormente en el fichero de configuración de la instancia de apache. Las dos últimas líneas hacen que nos aparezca un enlace que permita refrescar los datos en cualquier momento y habilitan la posibilidad de realizar informes estadísticos de todo un año.

Existen muchos otros parámetros interesantes o útiles para activar plugins, funcionalidades extras, personalización, etc, pero yo te recomiendo que lo eches a funcionar sólo con esto que es lo mínimo y luego ya te metas en experimentar otras cosas. Sobre todo si no tienes mucha experiencia en estas lides.

Vamos ahora a programar el cron de nuestra máquina para que procese los logs de apache, por ejemplo, cada 15 minutos. Creamos un fichero llamado /etc/awstats/cron-awstats.sh, le damos permisos de ejecución y copiamos lo siguiente en él:

#!/bin/sh
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=miweb001 -update
perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=miweb001 -databasebreak=day -update

Fijate bien en que la partícula que aparece a continuación de config en ambas líneas (miweb001) debe de ser exactamente la misma que aparece en el nombre del fichero de configuración que hemos creado anteriormente (awstats.miweb001.conf). Bien, ahora editamos el fichero /etc/crontab y añadimos al final del mismo lo siguiente:

*/15 * * * * root /etc/awstats/cron-awstats.sh > /dev/null

Y listo. Nos quedan unos pequeños retoques pero ahora ya cada 15 minutos se analizarán los logs del servidor de apache y podremos consultar la información, ya procesada, en la siguiente URL. Atención, de nuevo, a la partícula miweb001:

http://ip-del-servidor/awstats/awstats.pl?config=miweb001

Si, como es habitual, nuestro sistema rota los ficheros de log tenemos que evitar perder el procesado de los últimos minutos antes de una rotación. Para ello editamos el fichero /etc/logrotate.d/apache2 y bajo la línea donde pone prerotate volvemos a ejecutar el procedimiento que llama a los scripts de awstats:

prerotate
     /etc/awstats/cron-awstats.sh > /dev/null

Lo último que nos resta por hacer es habilitar la posibilidad de mostrar informes diarios. Para ello usaremos la extensión Day by Day. Para instalarla y configurarla tenemos que descargarnos la última versión, descomprimirla y copiar los dos archivos javascript (day-by-day-head.js y day-by-day-end.js) en el directorio /usr/local/awstats/wwwroot/js/. A continuación editamos el fichero de configuración de awstats (recuerda que en nuestro ejemplo se llama awstats.miweb001.conf y está en el directorio /etc/awstats) y reemplazamos los valores de los dos parámetros HTMLHeadSection y HTMLEndSection (casi al final del fichero) por las siguientes líneas:

HTMLHeadSection=""
HTMLEndSection=""

Una vez hecho esto, la pantalla principal de nuestro awstats aparecerá con un cintillo en la parte superior donde podemos escoger un día concreto y, al hacerlo, en la gráfica principal aparecerá un corte de detalle por horas. El resto de los datos también serán referidos al día escogido. Para volver a la vista mensual pulsamos el enlace “Back to monthly report” del cintillo superior.
Pantalla principal de Awstats con la extensión Day by Day

Si tenemos otras instancias web separadas en nuestro servidor y también queremos obtener sus estadísticas sólo tenemos que repetir, por cada una de ellas, dos de los pasos anteriores:

La URL para consultar las estadísticas de estas nuevas instancias será también diferente, claro. Y recuerda que la partícula distintiva que usamos en el nombre del fichero de configuración será la que nos permitirá construirla.

ACTUALIZACIÓN: Hace unos meses apareció Apache2Piwik un script que importa los logs de Apache a la base de datos de Piwik. Habrá que echarle un vistazo y si el consumo de memoria es bajo lo mismo volvemos a hablar de ello por aquí…
Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Estadísticas de ancho de banda y calidad de la conexión a Internet en el mundo

Josemaría | 27 de mayo de 2010 | 4 comentarios

opinion España se encuentra entre los puestos 24 y 26 de la Unión Europea (y en los puestos 45, 51 y 90 en el mundo, por debajo de Ghana y ligeramente por encima de las Islas Feroe) en calidad y ancho de banda de sus conexiones a Internet. Lo dice la gente de Ookla en Net Index, una completa colección de estadísticas elaboradas a través de la recopilación de los datos recogidos por dos de sus servicios: Speedtest y Pingtest.

Comunicaciones ADSL en España
Comunicaciones ADSL en España

El estudio incluye tres parámetros por cada país: el ancho de banda de subida, el de bajada y el llamado Factor-R como medida de la calidad de la conexión. El estudio incluye, además, la evolución de estos tres parámetros desde el año 2007, una comparativa de ciudades dentro de cada país y un ranking parcial por separado para los países de la unión europea, del G8, de la OECD y de la APEC

Evolución de las comunicaciones en el mundo

En el futuro prometen incluir precios e ISP’s con lo que podría convertirse en una buena herramienta para elegir proveedor de conexión a Internet en tu zona.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Live Visitors en Piwik 5.5

Josemaría | 20 de marzo de 2010 | Comentar

estadísticas La nueva versión 5.5 de Piwik incluye un widget que permite mostrar información en tiempo real de los visitantes actuales de tu web y que, como todos los demás, se puede insertar en cualquier lado con un simple corta y pega. Así:


Además, como se aprecia, permite ocultar las direcciones IP para que no las vea el público en general (también mediante la activación de un nuevo plugin). Lo único que parece que continúa sin arreglarse es el excesivo volumen ocupado por la base de datos. A ver si para la próxima…

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Woopra 1.3 RC1

Josemaría | 17 de marzo de 2009 | Comentar

Woopra 1.3 RC1Estadísticas Woopra se consolida, tras el lanzamiento de su versión 1.3 RC1, como uno de los mejores productos para contabilizar las estadísticas de tus sitios webs y sacar partido de los datos de las mismas. Cuenta con una aplicación multiplataforma (basada en Java), con un plugin para wordpress y con un visor a través de su propia web. Como funciones diferenciadoras frente al omnipresente Google Analytic, está la visualización de las estadísticas en estricto tiempo real y la posibilidad de “chatear” con los visitantes de tu web.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

StatCounter GlobalStats

Josemaría | 5 de marzo de 2009 | Comentar

estadísticas Quién mejor que uno de los más antiguos y utilizados servicios de estadísticas de visitas de la web, para ofrecer estadísticas globales de uso de navegadores y sistemas operativos en Internet. Los graficos resultantes se pueden inscrustar en tu propia web o, si no quieres abusar de scripts, proporcionar enlaces a los mismos como estos:

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

QZHTTP, un servidor web desconocido con 20 millones de sitios

Josemaría | 25 de febrero de 2009 | 7 comentarios

la tierra Todos hemos oído esa cita que dice algo así como que si todos los chinos diesen un salto al mismo tiempo sacarían a la Tierra de su órbita. Pues casi de eso se trata. En el boletín de febrero de Netcraft aparece, así de repente, un servidor web al que llaman QZHTTP y que parece estar relacionado con qq.com la web detrás del, aunque también casi desconocido para nosotros, tercer programa de mensajería instantanea más utilizado. Y aparece con nada más y nada menos que 20 millones de sitios web, situándose como el tercero con más instancias y casi el 10% del total a nivel mundial. Para que os hagais una idea, supone aproximadamente un tercio del total de sitios hechos con IIS, la quinta parte de los implementados con Apache y tres veces más de los que usan el servidor de Google.

Es evidente que estos 20.000.000 de webs no se han migrado así, de la noche a la mañana y en las cifras que publica Netcraft queda claro que no son sitios “robados” a otros servidores. La espectacular irrupción se debe, al parecer, a que hasta ahora Netcraft no incluía en sus estadísticas a QZone, un servicio de Blogs similar a MySpace muy popular en el país.

ACTUALIZACIÓN: En los comentarios de este post de Open se ha abierto una interesante conversación acerca de la procedencia de este servidor (un derivado de Apache como ocurre con el de Google, de thhtpd,…) y alguien que se identificó como un empleado de Tencent, la empresa propietaria de qq.com y qzones, afirma que se trata de un servidor web propietario y que nada tiene que ver con ningún proyecto libre.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

Los Netbooks más vendidos

Josemaría | 8 de diciembre de 2008 | 3 comentarios

Portátiles y Netbooks En Linux Devices publican las últimas estadísticas de venta de netbooks correspondientes al tercer cuarto de este año. Acer y su Aspire One se sitúan en primer lugar con casi un 40% de cuota y le arrebatan la primera posición a Asus y sus eeePC con un 30%. Ninguno de sus competidores alcanza siquiera el 6% aunque hay que tener en cuenta que algunos de ellos han llegado bastante tarde a este mercado. El sorprendente éxito que está teniendo este tipo de dispositivos puede jugar un papel muy importante en el mapa de los sistemas operativos de escritorio ya que GNU/Linux apenas alcanza el 1% de cuota en los portátiles y ordenadores tradicionales de sobremesa mientras que llega al 30% de ventas en el sector de los netbooks.

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes