Nos conectamos por ssh o telnet al switch Juniper escribimoscliconfigure Y despues introducimos el comando: set system syslog host IP_SERVIDOR_SYSLOG any info o a través de la configuración web syslog {
user * {
any emergency;
}
host IP_SERVIDOR_SYSLOG {
any info;
}
time-format millisecond;
}
Bibliografía:
Syntax
syslog {archive {files number;size maximum-file-size;start-time "YYYY-MM-DD.hh:mm";transfer-interval minutes;(world-readable | no-world-readable);}console {facility severity;}file filename {facility severity;explicit-priority;match "regular-expression";archive {files number;size maximum-file-size;start-time "YYYY-MM-DD.hh:mm";transfer-interval minutes;(world-readable | no-world-readable);}structured-data {brief;}}host (hostname | other-routing-engine
| scc-master) {facility severity;explicit-priority;facility-override facility;log-prefix string;match "regular-expression";}source-address source-address;time-format (millisecond | year | year millisecond);user (username | *) {facility severity;match "regular-expression";}}
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