Está en la página 1de 14

RSYSLOG – LOGANALYZER

Hoy en día como Administradores debemos estar al pendiente de cientos de logs para
asegurarnos de que todo ande bien, y de seguro contamos con varios servidores y
equipos de comunicación y andar día tras día por los logs de esos equipos es algo
tedioso.
Que tal si pudiéramos contar con un servidor que reciba todos esos logs y lo podamos
revisar desde una interfaz centralizada, aquí es donde entra Rsyslog y su Frontend
Gráfico, Log Analyzer. Es una solución sencilla que hace el trabajo y es bastante
sencillo de implementar.
Rsyslog es una herramienta Open Source utilizada en las versiones más recientes de
Linux y que reemplaza a syslogd. Permite reenviar y recibir los mensajes de logs de
varios equipos en una red de comunicación. Implementa el protocolo básico de Syslog
extendiendo sus capacidades a filtrado basado en contenido, configuración flexible y
añade características importantes como usar TCP para el transporte.
1.- INSTALACIÓN PREVIA
Antes de comenzar con la instalación del rsyslog y loganalyzer primero debemos de
instalar previamente otros paquetes necesarios para el servidor asi como el sistema
operativo de Linux, a esto se le conoce como Instalación de LAMP (Linux, Apache,
MySQL, PHP)

A. Lo primero hacer una instalación limpia, en este caso usaré Linux Centos 6.5
B. Instalación del Apache
 yum install httpd

 service httpd start


 chkconfig httpd on

C. Instalación y configuración de MySQL


 yum install mysql mysql-server

 service mysqld start


 chkconfig mysqld on

 mysqladmin -u root password '12345' (por seguridad cambiar el pass del


mysqladmin)
 mysql -u root –p (probemos accediendo con el nuevo pass “12345”)

D. Instalación y configuración de PHP


 yum install php php-mysql php-gd

 vi /var/www/html/test.php

 service httpd restart

 probamos la ruta del php si muestra el valor indicado, ingresando con la ip o


el nombre del host.
2.- INSTALACIÓN RSYSLOG
A. Descargamos los paquetes del rsyslog para su instalación, luego lo movemos aun
archivo personalizado para su configuración, y por último levantamos el
servicio.
 wget http://rpms.adiscon.com/v8-stable/rsyslog.repo

 mv rsyslog.repo /etc/yum.repos.d/rsyslog.repo

 yum install rsyslog* --skip-broken

 chkconfig rsyslog on

B. Configuración de la bd del rsyslog


 Editamos la bd createDB.sql de la siguiente manera:
vi /usr/share/doc/rsyslog-mysql-8.2.1/createDB.sql
CREATE DATABASE rsyslogdb;
USE rsyslogdb;
CREATE TABLE SystemEvents
[...]

 Al haber cambiado el nombre de la table y el user, debemos de crear la bd


para este nuevo user y bd y probar si tenemos acceso al mismo.
mysql -u root -p < /usr/share/doc/rsyslog-mysql-8.2.1/createDB.sql
 Al comprobar que se tiene acceso a la bd, accederemos bajo el usuario
rsyslogdb al mysql y configuramos un nuevo usuario admin y password para
mayor seguridad:
mysql -u root -p rsyslogdb
GRANT ALL ON rsyslogdb.* TO rsyslogdbadmin@localhost IDENTIFIED
BY 'ABC';
FLUSH PRIVILEGES;
Exit

 Comprobemos si el nuevo usuario creado tiene acceso al mysql.


mysql -u rsyslogdbadmin -p rsyslogdb

C. Ya configurado el mysql, la bd y el php del rsyslog, es hora de editar el archivo


de configuración del servicio “vi /etc/rsyslog.conf” en los siguientes
parámetros.

 Editando UDP, TCP y creando MySQL


# Provides UDP syslog reception
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

# Provides TCP syslog reception


module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")
# Load the MySQL Module
module(load="ommysql")

 Modificamos las reglas por default, en este caso modificaremos los log de la
console, donde se presente una emergencia notifique mediante logs.
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
*.emerg* /dev/console

 Ahora es hora de realizar el reenvio de los log, rsyslog enviara todos los logs
del sistema de la base de datos MySQL.
# ### begin forwarding rule ###
# Let's forward all logs to the MySQL Database
*.* :ommysql:127.0.0.1,rsyslogdb,rsyslogdbadmin,YourPassword

D. Terminado la edición del archivo rsyslog.conf debemos de realizar lo siguiente:

 Reiniciar el servicio

 Ver cuantos log esta almacenando, por ahora.


2.- INSTALACIÓN LOGANALYZER
A. Descargamos los paquetes del loganalyzer para su instalación, luego lo
descomprimimos y después lo movemos a la carpeta loganalyzer del drectorio
html.
 Descargando el paquete:
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz

 Descomprimiendo el paquete:
tar zxvf loganalyzer-3.6.5.tar.gz

 Copiando los archivos a la carpeta loganalyzer:


cp -r loganalyzer-3.6.5/src/ /var/www/html/loganalyzer
cp -r loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/

B. Ahora debemos de compilar el paquete descargado y configurar el entorno web


del loganalyzer
 Accedemos a la carpeta loganaylzer
cd /var/www/html/loganalyzer/

 Le damos permiso de ejecución a los archivos


chmod +x configure.sh secure.sh

 Compilamos los archivos


./configure.sh
C. Ya culminado la instalación y compilación del paqute loganalyzer, es hora de
configurar el entorno web para los log que tiene almacenado el rsyslog.
 Aceeder al entrono web desde un navegador de la siguiente manera:
“IP/loganalyzer” o “localhost/loganalyzer”

 Al acceder nos mostrara un error, debemos de instalar el entorno web dando


clic en here, donde nos indicaran que debemos de configurar unos requisitos
previos antes de la instalación.

 Verificara los permisos del archivo de configuración del php.


 En este paso debemos de sincronizar nuestra BD del rsyslog al loganalyzer.

 Luego empezara a crear las tablas de acuerdo a los log que tiene el rsyslog, si
la sincronización es correcta no presentar ningún error en su creación.
 Ahora nos pedirá crear un usuario administrador para el entorno web del
loganaylzer.

 Nos mostrara un mensaje que el usuario ha sido creado, asu vez debemos de
enlazar los log del rsyslog al loganalyzer, para ello debemos de colocar el
nombre de la BD y el usuario creado en el MySQL, Finish
 Luego nos mostrara un mensaje que la instalación web del loganalyzer fue
exitosa y damos clic en Finish, nos dirigirá a colocar el usuario y contraseña
para la administración web del loganalyzer.

 Al acceder nos mostrara un error de que no encuentra la tabla de la BD o está


mal escrita o las tablas está escrita en mayúscula o minúsculas.
 El error está en el loganalyzer porque la BD del rsyslog y MySQL tienen sus
tablas escritas en mayúsculas y minúsculas, el loganalyzer al realizar el
llamado de dichas tablas tiene un problema en la tabla SystemEvents, pues
lo llame en minúsculas “systemevents” por ello no muestra ningún log en la
web.
Para la solución de ello debemos de editar el archivo de configuracion del
loganalyzer y del entorno web y corregir el nombre de la tabla sytemevents
a SystemEvents.

Editando el archivo config.php, nos dirigimos al final del contenido.


vi /var/www/html/loganalyzer/config.php

Reiniciamos el httpd y el rsyslog

Editando desde el entorno web, nos dirigimos a la opción “Admin


Center/Source/My Syslog Source”
 Ya editado, ahora nos mostrara los log del servidor, nos dirigimos a Show
Events para verificar los log en tiempo real.

3.- FINALIZACION
Los servicios han sido culminados, pero debemos de tener en cuenta que donde se
almacenan todos los log puesto que un futuro el disco duro del servidor puede llenar y
por ello es recomendable tener un backup de este archivo.

El archivo se llama messages y se encuentra en el directorio /var/log en este archivo se


encuentra toda la data de los log del servidor o de otros servidores según la
configuración a realizar.
Con ello se culmina la instalación del servicio RSYSLOG-LOGANALYZER,
actualmente mostrara todo log del propio server, si queremos que muestre los log de
algún otro servidor sea web, correo, ftp o un firewall sea mikrotik, fortigate, pfsense,
etc, se deberá de realizar la configuración en ese servidor o firewall.

El servidor RSYSLOG-LOGANALYZER está listo para recibir todo log de cualquier


servidor.

Si queremos ver la web desde otras pc y no directamente del mismo server, debemos de
editar el iptables indicando que red o ip pueden ver o simplemente deteniendo el
iptables.

Atte.
Martin Egusquiza Meiggs
Ingeniería de Redes
Yachay Telecomunicaciones SAC

También podría gustarte