viernes, 3 de enero de 2014

Cómo recolectar logs de Cisco con rsyslog en Red Hat / CentOS

Normalmente ya viene instalado en nuestro sistema Red Hat o Centos el demonio rsyslogd, pero viene configurado para recivir logs locales del propio servidor, no está preparado para recibir logs de otros equipos.

Deshabilitar SElinux? cat /etc/selinux/config
Deshabilitar Firewall? system-config-firewall-tui

Asi que vamos a configurar el servicio para recibir logs desde otros dispositivos de red (en nuestro caso switches y routers cisco).

Editamos el archivo /etc/rsyslog.conf

#Hay que descomentar algunas líneas para que el servidor 
#reciba logs de otro equipos.

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514


# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514


#Añadimos el nuevo archivo de log dedicado a los dispositivos CISCO
local6.emerg;local6.alert;local6.crit;local6.err;local6.warning;local6.notice;local6.info;local6.debug  /var/log/cisco


Reiniciamos el servicio
/etc/init.d/rsyslog restart
 
En los dispositivos Cisco introducimos los siguientes comandos. (Revisar si teneis alguna ACL que os impida llegar al servidor de logs)

conf t
logging count
logging queue-limit 1000
logging rate-limit 60
logging trap notifications
logging origin-id hostname
logging facility local6
logging IP_del_servidor_rsyslog
end



En el servidor de logs para ver los logs ejecutar:
tail -f /var/log/cisco
Jan  3 09:20:39 192.168.1.1 156: RTR-0: 000157: Jan  3 09:20:43.738 GMT: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/18, changed state to up
 

Como se puede acumular mucho log vamos a rotar los logs (durante 12 meses realizando un log por mes). si el log es menos de 1k no se rotará.
Creamos un archivo llamado /etc/logrotate.d/cisco y ponemos la siguiente configuración.
 
/var/log/cisco {
        mothly
        create 0644 root root
        rotate 12
        missingok
        notifempty
        size 1k
}

 

Para forzar la compresion de los logs rotados, editamos /etc/logrotate.conf y descomentamos:
# uncomment this if you want your log files compressed
compress


Para forzar la ejecución de la rotacion de los logs ejecutamos:
logrotate -vf  /etc/logrotate.conf

[root@syslogsrv]# ls -lh /var/log/cisco*
-rw-r--r--. 1 root root   0 ene  3 17:46 /var/log/cisco
-rw-r--r--. 1 root root 526 ene  3 17:46 /var/log/cisco-20140103.gz

No hay comentarios: