{{tag> monitorización linux logwatch logcheck snoopy logs}}
===== Programas Monitorización =====
Existen varias alternativas para el monitoreo de servidores, pero si sólo queremos una simple monitorización del equipo podemos usar logwatch, logcheck y snoopy.
==== logcheck ====
es una utilidad que revisa los logs del sistema y genera un reporte, eliminando las entradas que son normales en un sistema (ejecuciones de cron, por ejemplo) para mostrar únicamente aquellas sospechosas.
==== snoopy ====
es una librería que funciona como wrapper del execve() de libc, para guardar un registro de todos los comandos ejecutados en el sistema, un .bash_history que no puede ser modificado o borrado por el usuario.
Un problema de tener estas dos utilidades corriendo es que snoopy va a guardar el registro de los comandos ejecutados por logcheck cuando parsea los logs, formando un circulo vicioso que terminara generando un reporte con las acciones de logcheck, ¡marcadas como alertas!. En palabras cristianas, un email de 500k con información repetida.
La solución es crear los archivos /etc/logcheck/ignore.d.server/snoopy y /etc/logcheck/violations.ignore.d/snoopy con esta línea (probado y usado en Debian GNU/Linux):
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ snoopy.*uid\:109.*
El mismo esquema se puede usar para pasar por alto diferentes comandos del sistema, como sendmail y procmail, que generalmente son bastante comunes. Para validar que las expresiones regulares nos funcionen, se puede usar el útil grep o la página Rex V
==== LogWatch ====
es una utilidad que nos permite analizar los logs de un sistema Linux. En centos viene instalado por defecto, en caso contrario.
Para instalarlo yum install logwatch
requiere usar el repositorio de rpmforge
configuración en
/usr/share/logwatch/default.conf/logwatch.conf.
Por ejemplo podemos cambiar el nivel de detalle y el correo
Detail = High
MailFrom = micorreo@midominio.com
MailTo = root updates to MailTo = administrador@midominio.com
Para verificar que todo funciona correctamente
# logwatch --logfile secure --detail high --mailto micorreo@midominio.com --range yesterday
Para que logwatch envíe correos con los resúmenes podemos utilizar por ejemplo nail o ssmtp
=== con nail ===
yum install nail
Editar /etc/nail.rc y colocar
set smtp=smtp://miservidorsmtp.com
Editar /etc/logwatch/conf/logwatch.conf y poner
mailer = /usr/bin/nail -t
MailTo = monitorcn en xxxxx.com.co
MailFrom = template_vm
MailSubject= "Logwatch for serverxxxx"
Range = yesterday
Detail = med
=== Con ssmtp ===
yum install ssmtp
vim /etc/ssmtp/ssmtp.conf
Y configurar la siguiente información:
root=micorreo@midominio.com
mailhub=miservidor.pop3.com
rewriteDomain=midominio.com
hostname=midominio.com
FromLineOverride=YES // Necesario para re-escribir la cabecera From: de nuestro correo
AuthUser=MiUsuarioDeCorreo
AuthPass=MiPassword
Para enviar un correo de prueba usando ssmtp
cat - | /usr/sbin/ssmtp -v micorreo@midominio.com
==== Referencias ====
* http://lists.centos.org/pipermail/centos-es/2010-January/006852.html
* http://www.sisfo.com/blog/2009/08/usando-logwatch-para-recibir-informacion-de-nuestros-servidores/
* http://www.sisfo.com/blog/tag/sysadmin/