Está en la página 1de 4

Registro de eventos Capítulo 12

12. Registro de eventos


El registro de eventos o “logging” permite a IOS enviar mensajes a destinos designados
cuando ha ocurrido un evento de importancia en el router. Estos mensajes reciben el nombre
genérico de “mensajes de syslog” y el destino predeterminado de los mismos es la terminal de
consola.
Además de desplegar los mensajes en pantalla, IOS mantiene en la memoria RAM del
router una lista o “buffer” con los últimos mensajes generados. Puesto que el área de memoria
destinada a almacenarlos es limitada, los mensajes más antiguos se van eliminando para hacer
lugar a los nuevos mensajes que se van generando. Sin embargo, IOS dispone de mecanismos
para mantener un registro histórico de todos los eventos reportados, los cuales veremos mas
adelante en este capítulo.

Severidad y destinos
IOS dispone de ocho niveles de eventos a registrar, numerados de 0 a 7 y donde los
niveles de numeración inferior corresponden a las condiciones o eventos de mayor severidad
reportados. Estos ocho niveles se detallan en la tabla siguiente:

Nivel Nombre Descripción


0 Emergencias El sistema está inutilizable
1 Alertas Requiere acción inmediata
2 Crítico Condiciones críticas
3 Errores Condiciones de error
4 Advertencias Condiciones de advertencia
5 Notificaciones Condiciones normales pero significativas
6 Informativo Mensajes informativos
7 Registro Mensajes de registro (logging)

Ejemplos de mensajes de syslog son los siguientes:

% LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet 0, changed state to


up
% LINK-3-UPDOWN: Interface Ethernet 0, changed state to up

Los mensajes generados comienzan con un signo de porcentaje (%) y un código que indica
el dispositivo o proceso al cual refiere el mismo. Luego viene el número que indica el nivel de
severidad (0 a 7) de la situación reportada por el mensaje, un código mnemotécnico que
identifica el mensaje particular para el dispositivo o proceso y finalmente el mensaje descriptivo
del error o condición.

La funcionalidad de registro de eventos de IOS es muy flexible y permite configurar


varios parámetros relativos al mismo, tales como:

• El nivel de severidad de los mensajes a registrar


• El destino a donde enviar los mensajes generados

ORT 145
Capítulo 12 Registro de eventos

• La cantidad de mensajes que IOS mantiene en la tabla en memoria (buffer)


• Deshabilitar y volver a habilitar el registro de mensajes

El registro de mensajes está habilitado en forma predeterminada y los destinos


predeterminados a los cuales enviarlos son la consola y el buffer interno. IOS permite establecer
otros destinos a los cuales también enviar los mensajes; entre ellos a un servidor de syslog, a
una terminal virtual Telnet y también a una estación de gestión SNMP.
Para establecer el destino de los mensajes, así como el nivel de severidad de los mismos
que se quieran registrar se utiliza el comando de Configuración Global logging, el cual tiene
varias opciones posibles. El formato general de este comando es el siguiente:

Router(config)# logging destino nivel_de_severidad


El parámetro destino puede ser uno de los siguientes:

Destino Descripción
console Consola
buffered Buffer interno
monitor Terminal virtual VTY (Telnet)
trap Servidor de syslog

Un “servidor de syslog” es un host en la red en el cual se esté ejecutando un proceso de


servidor de syslog. Habitualmente se tratará de un host UNIX ejecutando un proceso de
nombre syslogd, pero también puede ser un host Linux o Windows puesto que para estos
sistemas operativos existen también aplicaciones de servidor de syslog.

El parámetro nivel_de_severidad permite establecer que los mensajes del nivel especificado
y los de numeración inferior sean los que se registren. Para establecer el nivel de severidad no
se especifica su número sino una palabra clave que lo identifica, de acuerdo a la siguiente tabla:

Nivel Palabra clave


0 emergencies
1 alerts
2 critical
3 errors
4 warnings
5 notifications
6 informational
7 debugging

Este parámetro es opcional y si el mismo no se especifica en la línea de comandos IOS


registrará en forma predeterminada los mensajes de niveles 4 e inferiores, es decir, warning,
errors, critical, alerts y emergencies.

Veamos, como primer ejemplo, cómo indicar a IOS que envíe los mensajes de syslog de
nivel 3 e inferiores a una terminal virtual Telnet. Para esto, en primer término es necesario
configurar la terminal virtual y la sesión actual como “monitor”. Esto se hace mediante el
comando de modo Privilegiado terminal monitor. Este comando provoca que los mensajes

146 ORT
Registro de eventos Capítulo 12

efectivamente se desplieguen en la terminal. Luego, en el modo de Configuración Global se


ejecuta el comando logging monitor que habilita el envío de mensajes a la misma.
Asumiendo entonces que hemos iniciado una sesión Telnet en el router, los comandos
para enviar los mensajes de nivel de severidad 4 o menor a la terminal son:

Router# terminal monitor


Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z
Router(config)# logging monitor errors
Router(config)# end
Router#

Si posteriormente se desea deshabilitar el despliegue de mensajes se utiliza el comando de


modo Privilegiado terminal no monitor y si se quiere deshabilitar el envío de mensajes
entonces se utiliza el comando de Configuración Global no logging monitor.

Como segundo ejemplo, configuremos nuestro router para enviar los mensajes de syslog
generados de todos los niveles a un servidor de syslog accesible en la red. Para esto se necesitan
ejecutar dos comandos, el primero de los cuales es para indicar a IOS la dirección IP del host en
el cual está corriendo el proceso de syslog al cual debe enviar los mensajes. El segundo
comando es para habilitar el envío de los mensajes al servidor de syslog indicado:

Router(config)# logging 197.168.100.20


Router(config)# logging trap debugging

En el ejemplo anterior, el servidor de syslog está corriendo en el host con dirección IP


197.168.100.20. Si se dispone de varios servidores de syslog en la red y se quiere que los
mensajes se registren en todos ellos, se debe ejecutar un comando logging por cada uno de
ellos:

Router(config)# logging 197.168.100.20


Router(config)# logging 177.16.100.100
Router(config)# logging trap debugging

Para eliminar alguno de los servidores de syslog de la lista se utiliza la forma “no” del
mismo comando:

Router(config)# no logging 177.16.100.100

Para deshabilitar el envío de mensajes a los servidores de syslog que se hayan


especificado, se utiliza la forma “no” del respectivo comando de Configuración Global, es decir,
no logging trap.

ORT 147
Capítulo 12 Registro de eventos

Otros comandos de configuración


Es posible deshabilitar completamente la funcionalidad de envío de mensajes, de manera
que incluso no se envíen a la consola ni al buffer interno. Para ello se utiliza el comando de
Configuración Global no logging on. Si posteriormente se desea volver a habilitar la
funcionalidad, entonces el comando adecuado es logging on.

Mencionamos anteriormente que, en forma predeterminada, los últimos mensajes de


syslog generados son almacenados temporalmente en un buffer en memoria y que la cantidad
de memoria destinada para esto es limitada. Para cambiar el tamaño del buffer de mensajes se
utiliza el comando logging buffered, el cual debe recibir como parámetro el tamaño, en
bytes, del área de memoria a reservar para este uso. El tamaño predefinido varía según el tipo y
modelo de router, pero el valor que puede especificarse debe estar en el rango de 4.096 a
4.294.976.295 bytes:

Router(config)# logging buffered 9182

Para establecer la cantidad de mensajes que IOS mantiene en el buffer se utiliza el


comando de Configuración Global logging history size, el cual debe recibir como
parámetro la cantidad de mensajes a almacenar. Este valor es un número entre 1 y 500.

Router(config)# logging history size 25

Para eliminar todos los mensajes almacenados en el buffer interno se utiliza el comando
de modo Privilegiado clear logging:

Router# clear logging


Clear logging buffer? [confirm] y
Router#

Finalmente, para ver el estado del registro de eventos podemos utilizar el commando de
modo Usuario show logging:

Router> show logging


Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
Console logging: level debugging, 8 messages logged
Monitor logging: level debugging, 0 messages logged
Trap logging: level informational, 12 message lines logged

Este último comando admite la palabra clave adicional history, que provoca que se
despliegue, además de la información anterior, la lista de mensajes almacenados en el buffer
interno.

148 ORT

También podría gustarte