Rsyslog + Loganalyzer: Monitorización de logs


Rsyslog es una mejora de syslog que es el que se encarga de almacenar todos los logs del sistema y junto con loganalyzer  es capaz de mostrarlos todos centralizados. Es decir, teniendo un servidor con rsyslog mas loganalzyer e instalando en los clientes un rsyslog se pueden monitorizar todos los logs de los equipos. Con esta opción los logs se guardan en una base de datos por lo tanto no es del todo recomendable yo usaría Graylog2

rsyslog81
 Para empezar hay que editar los repositorios
  # vim /etc/apt/sources.list 
      # MySQL 5.6 (Percona Server) 
      deb http://repo.percona.com/apt  wheezy main 
      deb-src http://repo.percona.com/apt  wheezy main 
     # PHP 5.5
      deb http://packages.dotdeb.org  wheezy-php55 all 
      deb-src http://packages.dotdeb.org  wheezy-php55 all 
     #DotDeb 
      deb http://ftp.hosteurope.de/mirror/packages.dotdeb.org/  wheezy all 
      deb-src http://ftp.hosteurope.de/mirror/packages.dotdeb.org/  wheezy all 
Luego añadir las claves
  # apt-key adv –keyserver keys.gnupg.net –recv-keys 1C4CBDCDCD2EFD2A 
  # wget http://www.dotdeb.org/dotdeb.gpg 
  # apt-key add dotdeb.gpg
Actualizar el los repositorios
  # aptitude update
Instalar los paquetes necesarios
  # aptitude install php5 php5-mysql percona-server-server-5.6 apache2-mpm-prefork chkconfig linux-kernel-headers php5-gd

 

Iniciar el servicio y comprobar la configuración
  # service apache2 start
  # service mysql start
  # chkconfig apache2 on
# chkconfig mysql on

Conectarse a la base de datos para comprobar que funciona
# mysql -u root -p 

Enter password:
# mysql> exit


Instalar rsyslog
  # aptitude install rsyslog rsyslog-mysql

Parar syslog si estuviera instalado
# service syslog stop
   # chkconfig syslog off

Inciar rsyslog
# service rsyslog start
   # chkconfig rsyslog on

Editar el archivo que creará la base de datos
# vim /usr/share/doc/rsyslog-mysql/CreateDB.sql

CREATE DATABASE rsyslogdb;
USE rsyslogdb;
CREATE TABLE SystemEvents
(
ID int unsigned not null auto_increment primary key,
CustomerID bigint,
ReceivedAt datetime NULL,
DeviceReportedTime datetime NULL,
Facility smallint NULL,
Priority smallint NULL,
FromHost varchar(60) NULL,
Message text,
NTSeverity int NULL,
Importance int NULL,
EventSource varchar(60),
EventUser varchar(60) NULL,
EventCategory int NULL,
EventID int NULL,
EventBinaryData text NULL,
MaxAvailable int NULL,
CurrUsage int NULL,
MinUsage int NULL,
MaxUsage int NULL,
InfoUnitID int NULL ,
SysLogTag varchar(60),
EventLogType varchar(60),
GenericFileName VarChar(60),
SystemID int NULL
);

Crear la base de datos
  # mysql -u root -p < /usr/share/doc/rsyslog-mysql/CreateDB.sql
Conectarse a la base de datos rsyslogdb
  # mysql -u root -p rsyslogdb
mysql> GRANT ALL ON rsyslogdb.* TO rsysloguser@localhost IDENTIFIED BY ‘farsa’;
mysql> grant all privileges on rsyslogdb.* to rsysloguser@localhost identified by ‘farsa’ with grant option;
mysql> FLUSH PRIVILEGES;
mysql> exit
Editar el archivo rsyslog.conf y dejarlo de la siguiente manera.

  # vim /etc/rsyslog.conf
################# #### MODULES #### #################

$AllowedSender UDP, 127.0.0.1, 10.10.0.0/24
$AllowedSender TCP, 127.0.0.1, 10.10.0.0/24

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support
#$ModLoad immark # provides –MARK– message capability

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
$ModLoad ommysql
*.* :ommysql:127.0.0.1,rsyslogdb,rsysloguser,contraseña_db

 Reiniciar rsyslog
  # /etc/init.d/rsyslog restart
Hacer una prueba
  # echo ‘192.168.2.3’ | nc -v -u -w 1 127.0.0.1 514
  # mysql -u rsysloguser -p rsyslogdb
   mysql> select count(*) from SystemEvents;

LogAnalyzer

Ir a la carpeta /tmp
  # cd /tmp
Descargar el paquete deloganalyzer
  # wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.1.tar.gz
Desempaquetar
  # tar xvzf loganalyzer-4.1.1.tar.gz
Crear la carpeta loganalyzer
  # mkdir -p /var/www/loganalyzer
Copiar los archivos a su respectivo sitio
  # cp -r loganalyzer-4.1.1/src/* /var/www/loganalyzer
  # cp -r loganalyzer-4.1.1/contrib/* /var/www/loganalyzer/
Ir a la carpeta loganalyzer
  # cd /var/www/loganalyzer/
Dar permisos de ejecución al script de configuración
  # chmod +x configure.sh secure.sh ./configure.sh
Cargar el modulo de php5
  # a2enmod php5 
Reiniciar apache2
  # /etc/init.d/apache2 restart 
Ir a navegador web y escribir la siguiente dirección para empezar la instalación

http://10.10.0.150/loganalyzer/install.php 

 Si no está “Writeable” correr el script configure.sh

 

Cliente

Instalar rsyslog si no estuviese instalado
  # aptitude install rsyslog 
Editar el archivo de configuración de la siguiente manera
  # vim /etc/rsyslog.conf 
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # default location for work (spool) files
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
*.* @@IP_del_servidor
Reiniciar e servicio
  # /etc/init.d/rsyslog restart

One comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *