Servidor RSYSLOG · 5 min read · Oct 18, 2025

Monitoreo Centralizado del Servidor RSYSLOG

Monitoreo Centralizado del Servidor RSYSLOG

Este tutorial proporciona instrucciones paso a paso sobre cómo instalar el servidor RSYSLOG en Debian 6 (Squeeze) y cómo enviar datos de syslog a él desde múltiples servidores clientes. También mostraremos cómo instalar un servidor web Apache y un servidor de base de datos MySQL para recopilar los datos de syslog y cómo instalar LogAnalyzer para navegar fácilmente por los datos recopilados con un navegador web.

Estoy utilizando una plantilla de virtualización OpenVZ lista para usar para esta configuración, pero esto también debería funcionar en la mayoría de los sistemas operativos basados en Debian.

¡No emito ninguna garantía de que esto funcione para ti!

Instalando el Servidor RSYSLOG

Esta primera parte describe cómo construir un servidor RSYSLOG que recopilará los datos de syslog de sus clientes. En este ejemplo, nuestro servidor se llama rsyslog.dominio.com y tiene una dirección IP fija de 192.168.0.15.

Primero instalamos algunas dependencias.

apt-get update
apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

¡Crea la contraseña del servidor MySQL cuando la instalación te pida que la ingreses!

Mi plantilla OpenVZ ya tenía esto, así que este comando puede no ser necesario para ti tampoco…

apt-get install linux-kernel-headers

** Asegúrate de que los servicios estén en funcionamiento…

/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart

Verifica que el servidor esté escuchando en los puertos TCP IP adecuados. (80 y 3306). RSYSLOG aún no escucha en ningún puerto en este momento.

rsyslog:~# netstat -tapn

Conexiones a Internet activas (servidores y establecidas)
Proto Recv-Q Send-Q Dirección Local
Dirección Extranjera
Estado PID/Nombre del programa
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:

LISTEN 581/apache2

Luego podemos crear la base de datos rsyslog:

mysqladmin -u root -p create rsyslog

A continuación, iniciamos el shell de comandos de MySQL y creamos el usuario rsyslog:

mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘INGRESA-TU-NUEVA-CLAVE-RSYSLOG-AQUÍ’;

FLUSH PRIVILEGES;
quit

A continuación, configuramos el servidor rsyslog para escuchar en el puerto TCP 514:

vi /etc/rsyslog.conf

Agrega estas líneas… (recuerda cambiar tu contraseña por la que ingresaste cuando creaste el usuario rsyslog de tu servidor MySQL.)

$ModLoad MySQL
*.*       >127.0.0.1,rsyslog,rsyslog,INGRESA-TU-NUEVA-CLAVE-RSYSLOG-AQUÍ

…y elimina los comentarios al frente de las líneas que tratan con la recepción de syslog TCP.

# /etc/rsyslog.conf Archivo de configuración para rsyslog v3.
#
# Para más información, consulta
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,INGRESA-TU-NUEVA-CLAVE-RSYSLOG-AQUÍ
#################
#### MÓDULOS ####
#################
$ModLoad imuxsock # proporciona soporte para el registro del sistema local
$ModLoad imklog # proporciona soporte para el registro del kernel (anteriormente hecho por rklogd)
#$ModLoad immark # proporciona capacidad de mensaje --MARK--
# proporciona recepción de syslog UDP
#$ModLoad imudp
#$UDPServerRun 514
# proporciona recepción de syslog TCP
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### DIRECTIVAS GLOBALES ####
###########################

Y reinicia el servicio rsyslog.

/etc/init.d/rsyslog restart

Verifica que el servidor esté escuchando en los puertos TCP IP adecuados. (80, 514 y 3306.)

rsyslog:~# netstat -tapn

Conexiones a Internet activas (servidores y establecidas)
Proto Recv-Q Send-Q Dirección Local
Dirección Extranjera
Estado PID/Nombre del programa
tcp
0 0
0.0.0.0:514
0.0.0.0:
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:

LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2

Luego descargamos LogAnalyzer y configuramos el servidor web Apache para mostrar los registros.

cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www

Luego configuramos los derechos de usuario de las carpetas www para el servidor web Apache.

chown www-data:www-data * . -Rf

Y luego hacemos un trabajo de ‘hacer bonito’ en las carpetas de LogAnalyzer.

mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh

Y estamos listos para ingresar la configuración final de LogAnalyzer usando nuestro navegador web. Apunta tu navegador web a la dirección IP fija de nuestro servidor rsyslog que en esta demostración es http://192.168.0.15/loganalyzer/src/install.php

Sigue el sencillo script de configuración (es bastante… siguiente -> siguiente.)

Ahora deberías tener un servidor rsyslog funcionando con LogAnalyzer en marcha.

A continuación, configuramos los clientes RSYSLOG para enviar sus datos de syslog al servidor rsyslog:

Configurando Clientes RSYSLOG

Generalmente, todo lo que necesitamos hacer es configurar el archivo rsyslog.conf y reiniciar el servicio. (Casi todos los Debians vienen con rsyslog preinstalado.)

vi /etc/rsyslog.conf

Agrega las líneas del directorio de trabajo de spool que se utilizan en caso de que se pierda la conectividad de red y cambia la DIRECCIÓN IP de tu servidor rsyslog a 192.168.0.15. (También puedes querer crear el directorio de spool /rsyslog/work con el comando mkdir.)

# proporciona recepción de syslog TCP
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # ubicación predeterminada para archivos de trabajo (spool)
$ActionQueueType LinkedList # usar procesamiento asíncrono
$ActionQueueFileName srvrfwd # establecer nombre de archivo, también habilita el modo de disco
$ActionResumeRetryCount -1 # reintentos infinitos en caso de fallo de inserción
$ActionQueueSaveOnShutdown on # guardar datos en memoria si rsyslog se apaga
*.* @@DIRECCIÓN-DE-TU-SERVIDOR-RSYSLOG-AQUÍ
###########################
#### DIRECTIVAS GLOBALES ####
###########################

Y reinicia el servicio rsyslog.

/etc/init.d/rsyslog restart

Verifica que el servidor esté conectado en el puerto TCP IP adecuado (514).

root@ic1:~# netstat -tapn

Conexiones a Internet activas (servidores y establecidas)
Proto Recv-Q Send-Q Dirección Local
Dirección Extranjera
Estado PID/Nombre del programa
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABLECIDO 13289/rsyslogd

Esto es lo que parece una configuración exitosa.

Captura de pantalla - LogAnalyzer en uso

| | Sami Mattila Internet-Content.europa SM OY
Teléfono: +358.9.42833310
Móvil: +358.400.749692
Correo electrónico: [email protected]
Tienda: https://shop.internet-content.net
Sitio: http://www.internet-content.net
Blog: http://www.internet-content.net/en/blog |

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.