Mostrando entradas con la etiqueta nuevo. Mostrar todas las entradas
Mostrando entradas con la etiqueta nuevo. Mostrar todas las entradas

lunes, 18 de febrero de 2013

Logwatch configuracion para nuevo servicio de log

Logwatch es un sistema personalizable de analisis de logs, desarrollado en Perl. Recorre todos y cada uno de los ficheros logs que se le especifiquen, mientras los parsea; al finalizar genera un reporte del analisis tipo resumen y hasta puede enviarlo por mail. Funciona sin problemas en la mayoria de los sistemas y en general viene preinstalado de base en muchas distribuciones de Linux. Esta es la página del proyecto.

Para instalarlo, basta con ejecutar # yum install logwatch.
Si bien este software trae soporte de base para muchos servicios comunes como Login, Apache2, SSH, etc; es relativamente sencillo extenderlo para dar soporte a un servicio nuevo. 

La estructura básica de sus directorios y ficheros es como se muestra a continuación:


etc
| logwatch
|-- conf
|---- logfiles
|       rpm-check.conf
|---- services
|       rpm-check.conf
|-- scripts
|---- services
|       rpm-check


Este ejemplo de configuracion, envia con el logwatch el contenido de un archivo de log.

La carpeta /etc/logwatch 

vim /etc/logwatch/conf/logfiles/rpm-check.conf

# What actual file?  Defaults to LogPath if not absolute path....
#LogFile = /var/log/asterisk/full
LogFile = /var/log/controles/rpm.txt

# If the archives are searched, here is one or more line
# (optionally containing wildcards) that tell where they are...
#If you use a "-" in naming add that as well -mgt
#Archive = /var/log/asterisk/messages.*
#Archive = /var/log/asterisk/full.*

# Expand the repeats (actually just removes them now)
*ExpandRepeats


Luego, creamos el archivo vim /etc/logwatch/conf/services/rpm-check.conf

# You can put comments anywhere you want to.  They are effective for the
# rest of the line.

# this is in the format of  = .  Whitespace at the beginning
# and end of the lines is removed.  Whitespace before and after the = sign
# is removed.  Everything is case *insensitive*.

# Yes = True  = On  = 1
# No  = False = Off = 0

Title = "Chequeo de RPMs"

# Which logfile group...
LogFile = rpm-check

*RemoveHeaders


Por último, creamos el fichero vim /etc/logwatch/scripts/services/rpm-check  
#!/usr/bin/perl
# Copyright header...

use strict;
use Logwatch ':all';

print "Log rpm.txt\n";
my @vec = '';
open(ARCHIVO,"</var/log/controles/rpm.txt");
#Carga el contenido de rpm.txt en el vector:@vec

@vec = <ARCHIVO>;
#Mostar el resultado

foreach $a (@vec)

{ print "$a"; }


print "\nLog PROBLEMAS.TXT\n";
my @vec = '';
open(ARCHIVO,"</var/log/controles/PROBLEMAS.TXT");
#Carga el contenido de rpm.txt en el vector:@vec


@vec = <ARCHIVO>;
#Mostar el resultado

foreach $a (@vec)

{ print "$a"; }


Para compilar y hacer que logwatch envie el correo.

/usr/share/logwatch/scripts/logwatch.pl --debug High \

o


/usr/sbin/logwatch --mailto user@example.com --format html --service secure

Con el comando mail revisamos el correo.
Eliminamos correo tipiando d2-9 
donde 2 es el num de correo inicial a eliminar, y 9 es el ultimo.
Con q salimos.