心扉美文

美文 > 经典日志 >

IT运维网 365Master.com

在一个完整的信息系统里面,日志系统是一个非常重要的功能组成部分。查看交换机、路由器和其他网络设备的日志,可以帮助网管员迅速了解和诊断问题。一些网管员认为日志管理是信息安全管理的内容,和系统管理关系不大,这绝对是错误的。很多硬件设备的操作系统也具有独立的日志功能,本文以校园网中常见的Cisco设备为代表,着重介绍在网络设备日志管理中最基本的日志记录的方法与功能。

日志消息通常是指Cisco IOS中的系统错误消息。其中每条错误信息都被分配了一个严重级别,并伴随一些指示性问题或事件的描述信息。Cisco IOS发送日志消息(包括debug命令的输出)到日志记录过程。默认情况下,只发送到控制台接口,但也可以将日志记录到路由器内部缓存;在实际的管理工作中,我们一般将日志发送到终端线路,如辅助和VTY线路、系统日志服务器和SNMP管理数据库。

了解日志消息的格式

在Cisco IOS设备中,日志消息采用如下格式:

%--

:

下面是一个简单的例子:

这个消息经常出现在Catalyst 4000交换机上(北京地区很多区县都配备此型号交换机),假设日志消息已经启用了时间戳和序列号,对于日志消息,将看到以下信息,首先是序列号,紧接着是时间戳,然后才是真正的消息:

%SYS-4-P2_WARN: 1/Invalid traffic from multicast source address 81:00:01:00:00:00 on port 2/1

这种日志连续出现,我们通查阅CISCO在线文档,或者利用“错误信息解码器工具”分析就可判断出,当交换机收到信息包带有组播MAC地址作为源MAC时,“无效的数据流从组播源地址”系统日志消息生成。

在MAC 地址作为源MAC地址时,帧不是符合标准的工作情况。然而,交换机仍然转发从组播MAC地址发出的数据流。解决方法是设法识别产生帧带有组播源MAC地址的终端站。一般来说,共享组播MAC 地址的这个帧从数据流生成器(例如SmartBits)或第三方设备被传输(例如负载平衡防火墙或服务器产品)。

基本日志记录的配置

在设置日志记录时,需要完成两个基本的任务:打开日志记录和控制日志在线路上的显示。

1. 打开日志记录

默认地,日志记录只在路由器的终端控制台打开,要在其他地方记录日志,则必须相应的打开日志记录并进行配置。使用logging on命令可打开日志记录;其他的如logging命令,可以为日志记录打开其他已配置的目的地,如系统日志服务器或路由器的内部缓存。在将系统消息记录到除了控制台端口的其他位置之前,必须执行该命令。

2. 配置同步日志记录

在路由器线路上显示日志的一个烦人的事情是,可能在我们正在输出入命令的时候,路由器反消息显示在正在输入的命令行中间。虽然这个消息和正在输入的命令无关,我们可能继续输出入来完成命令,但是这种情况是很烦人的。logging synchronous命令的主要目的是将日志消息输出和调试输出同步到控制台、辅助和VTY线路。当启用这个特性时,同步日志使得Cisco IOS显示消息,然后执行一个等价的Ctrl-R的命令,这使得路由器将已经输入的信息重新显示在命令行上。

在config-line模式下可以使用logging synchronous命令来影响日志消息的显示,如下所示:

Router(config-line)# logging synchronous [level severity_level | all [ limit #_of_line ] ]

severity_level是指日志消息的严重程度,这些消息是异步显示的。严重性数值比该值高的消息(更低严重性的消息)被同步显示;数值更低(更严重)消息被异步显示。默认的严重级别是2。参数all使得所有消息都被异步显示,不管分配的严重级别。参数limit指定在路由器开始丢弃新的消息前,有多少个同步消息可以排队在队列中,默认是20条消息。如果到达该阈值,路由器必须丢弃新的消息时,就会看到_of_messages due to overflow日志消息。

注意:同步日志的主要缺点是当路由器正在产生许多消息,而我们正在CLI很慢地输入时,路由器必须丢弃超过阈值的任何消息。因此,将无法在线路上看到这些消息,如果看到这类事件对您来说很关键,强烈建议将它们记录在路由器内部缓存、系统日志服务器或者SNMP管理台。另外,黑客也有可能利用过长的VTY线路空闲时间。

日志级别

在开始讨论将记录日志到其他目的地之前,管理员应当熟悉日志消息和严重级别。每个日志消息被子关联一个严重级别,用来分类消息的严重等级:数字越低,消息越严重。严重级别的范围从0(最高)到7(最低)。

0——emergencies——系统不可用消息。

1——alerts——立即采取行动。

2——critical——关键状态。

3——errors——出错消息。

4——warrings——警告消息。

5——notifications——正常但有特殊意义的状态。

6——informational——信息消息。

7——debugging——调试消息和FTP命令及WWW URL记录。

将日志记录到其他位置

1. 到逻辑VTY

有两个命令可用于控制日志消息发送到路由器的线路上:logging console 和logging monitor。

logging console命令是指将日志记录到物理的TTY,如控制台和辅助线路。Logging console命令是指将日志记录到逻辑VTY,如Telnet会话。默认地,记录日志在控制台对所有级别都打开;但是也可以通过改变logging console 命令中的严重级别来修改。默认情况下,网络设备不会将逻辑VTY打开,我们需要执行logging monitor或者terminal monitor,将控制台日志消息复制到VTY。

提示:由于设备需要将消息显示在终端线路上,这样会给网络设备增加额外负担,所以强烈建议将严重级别改到比调试更高的严重级别(较低的数字)。

2. 内部缓存记录

我们日志消息记录到逻辑TTY后,依然无法保证我们调试过程被完整记录下来,比如我们没在意连接线路的屏幕输出,或消息滚过屏幕并超出了终端软件的历史缓存,则没有任何机制可以再看到那些丢失的消息。一个解决方案是将日志消息记录到路由器的内部缓存,根据路由器平台的不同,该项可能是默认打开或者关闭的;在大多数平台下,默认是打开的。使用以下命令将日志记录到路由器的缓存:

logging buffered [ buffer_size | severity_level ]

该命令有两个参数,buffer-size参数指定应该为内部缓存分配多大的内存,以字节为单位,从4096到294967295字节。使用default logging buffered命令可将缓存大小设成出厂的默认值。

注意:将缓存的大小设置得太大时要小心,因为如果有很多消息,这会使得路由器耗尽内存,可能使其崩溃。

3. 到日志服务器

将日志记录到日志服务器比将日志记录到命令行或者内部缓存要稍微复杂一些,但这也是Cisco和其他产商推荐的做法。以下是将日志记录到服务器的相关命令:

logging [host-name | ip-address]

logging trap level

logging facility facility-type

logging source-interface interface-type interface-number

logging on

其实命令也不是十分复杂,对应如图所示拓扑图:

R3(config)# logging 16.2.2.6

R3(config)# logging trap informational

R3(config)# logging source-interface loopback 0

R3(config)# logging on

l-Logging host 命令指定系统日志服务器的IP地址。

l-logging trap命令指定要发送到系统日志服务器的日志消息的严重级别。默认是informational。

l-logging source-interface命令来生成一致的日志条目,这样路由器使用一个相同的源地址。

l-Logging on命令允许将日志记录到非控制台目的地。

4. 到SNMP数据库

可以将日志信息发送到的最后一个地方是SNMP管理台,很多网管软件都有相关的说明。此外,赛迪网站上此类文章较多,读者可以自行参考配置。
 

(责任编辑:admin)