Visitas: 10
Muchas veces tenemos varios servidores y queremos centralizar sus respectivos logs en uno solo. En este post voy a explicar cómo hacerlo.
La idea es tener un sólo Servidor de logs (ServidorLogs) y almacenar todos los logs de los demás Servidores.
Configuración del ServidorLogs:
OBS:
- Ser root
- 192.168.1.156: es el ServidorLogs
Entramos a la consola y escribimos:
nano /etc/default/rsyslog
Nos va a aparecer lo siguiente:
# Options for rsyslogd
# -m 0 disables 'MARK' messages (deprecated, only used in compat mode < 3)
# -r enables logging from remote machines (deprecated, only used in compat mode < 3)
# -x disables DNS lookups on messages received with -r
# -c compatibility mode
# See rsyslogd(8) for more details
RSYSLOGD_OPTIONS="-c4"
La línea donde dice RSYSLOGD_OPTIONS=”-c4″, la cambiamos por:
RSYSLOGD_OPTIONS="-r514"
Ahora lo guardamos (Control + o), y luego lo cerramos (Control + x).
Ahora reiniciamos el servicio. Entramos a la consola:
/etc/init.d/rsyslog restart
Ahora, comprobamos si escucha en el puerto 514 UPD. Escribimos en la consola:
grep syslog /etc/services
Sale esto por pantalla:
syslog 514/udp
Tras esto, podremos comprobar que el demonio funciona con la opción deseada. Escribimos en la consola:
ps -ef | grep syslog
Nos sale lo siguiente:
root 1553 1 0 16:45 ? 00:00:00 /usr/sbin/rsyslogd -r514
root 1570 1357 0 16:46 pts/0 00:00:00 grep syslog
Ahora escribimos en la consola:
netstat -ntulp
Sale lo siguiente:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:46959 0.0.0.0:* LISTEN 661/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 649/portmap
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1332/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1113/exim4
tcp6 0 0 :::22 :::* LISTEN 1332/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1113/exim4
udp 0 0 0.0.0.0:837 0.0.0.0:* 661/rpc.statd
udp 0 0 0.0.0.0:35171 0.0.0.0:* 661/rpc.statd
udp 0 0 0.0.0.0:111 0.0.0.0:* 649/portmap
udp 0 0 0.0.0.0:514 0.0.0.0:* 1553/rsyslogd
udp6 0 0 :::514 :::* 1553/rsyslogd
Entramos a la consola y escribimos:
nano /etc/rsyslog.conf
Descomentamos estas dos lineas:
$ModLoad imudp
$UDPServerRun 514
Y agregamos lo siguiente:
# Agregado por proyectosbeta
# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"
# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be u$
*.* ?FILENAME
Ahora lo guardamos (Control + o), y luego lo cerramos (Control + x).
Ahora reiniciamos el servicio. Entramos a la consola:
/etc/init.d/rsyslog restart
Configuración de Clientes de logs:
- Donde van a mandar los logs al Servidor de logs (ServidorLogs).
OBS:
El proceso que se describe abajo se tiene que realizar para todos los clientes.
Escribimos en la consola:
nano /etc/rsyslog.conf
Cambiamos lo siguiente:
#
# First some standard log files. Log by facility.
#
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none /var/log/syslog
#cron.* /var/log/cron.log
daemon.* /var/log/daemon.log
kern.* /var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* /var/log/mail.log
user.* /var/log/user.log
#
# Logging for the mail system. Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info /var/log/mail.info
mail.warn /var/log/mail.warn
mail.err /var/log/mail.err
#
# Logging for INN news system.
#
news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice /var/log/news/news.notice
# Agregado por proyectosbeta
*.* @192.168.1.156:514
OBS:
@192.168.1.156:514 → es el servidor donde se guardan los logs. En este caso se llama ServidorLogs.
Ahora lo guardamos (Control + o), y luego lo cerramos (Control + x).
Ahora reiniciamos el servicio. Entramos a la consola:
/etc/init.d/rsyslog restart
En el ServerLogs:
Para ver las carpetas de logs de cada Servidor. Escribimos en la consola:
ls -l /var/log/
Y nos desplegará lo siguiente:
drwx------ 2 root root 4096 jul 13 12:13 127.0.0.1
drwx------ 2 root root 4096 jul 13 13:51 192.168.1.151
drwx------ 2 root root 4096 jul 13 12:14 192.168.1.155
drwx------ 2 root root 4096 jul 13 12:16 192.168.1.157
Por ejemplo para ver los logs del server 192.168.1.151. Escribimos en la consola:
cd /var/log/192.168.1.151
Y luego en la consola:
tail -f syslog.log
Y nos saldrá lo siguiente. A modo de ejemplo nomas.
Jul 13 13:51:06 ServidorBUMBUM kernel: imklog 4.6.4, log source = /proc/kmsg started.
Jul 13 13:51:06 ServidorBUMBUM
rsyslogd: [origin software="rsyslogd" swVersion="4.6.4" x-pid="4736" x-info="http://www.rsyslog.com"] (re)start
Jul 13 13:54:06 ServidorBUMBUM
su[4679]: pam_unix(su:session): session closed for user root
Fuente 1: Lo hice y lo entendí
Fuente 2: Server Fault
Fuente 3: The Geek Stuff
Gracias, me ha servido, lo hice pero en Ubuntu. Como le haria para hacerlo grafico en web??