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:
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.