jueves, 9 de enero de 2014

Cómo enviar los logs de un switch juniper a un servidor syslog

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:

http://www.juniper.net/techpubs/en_US/junos10.4/topics/reference/configuration-statement/syslog-edit-system.html

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";}}

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