学习目标
·了解CISCO日志的工作原理
·了解CISCO日志的格式分类
·掌握CISCO远程日志部署方式
任务引言
通过网络设备日志消息管理,将系统错误警告消息分配到不同的警告级别,用于问题或事件的严重性分析。Cisco IOS发送日志消息(包括debug命令的输出)到日志记录过程。默认情况下,只发送到控制台接口,可以将日志记录到设备内部缓存、终端线路、系统日志服务器和SNMP管理站等。
知识引入
1.日志格式。在Cisco IOS设备中,日志消息采用以下格式:
Facility:表示系统消息的来源或原因。
Severity:消息的严重性,用0~7表示,描述严重性级别。
Mnemonic:唯一描述消息的文本字符串。
Description:包含所报告事件的详细信息的文本字符串。
例如:
2.严重级别。每个日志消息被关联一个严重级别,用来区分消息的严重等级,数字越小,消息越严重。严重级别的范围为从0(最高)到7(最低),见表5-5-1。使用logging命令可以用数字或者名称来指定严重性。
表5-5-1 日志严重性级别描述
续表
3.日志输入方式。Console:默认情况下,路由器将所有日志消息发送到其控制台端口。因此,只有物理上连接到路由器控制台端口的用户才能查看这些消息。
Terminal:它类似于控制台日志记录,但是它显示日志消息到路由器的VTY线路。默认情况下未启用。
Buffered:此类型的日志记录使用路由器的RAM存储日志消息。缓冲区具有固定大小,以确保日志不会耗尽宝贵的系统内存。路由器通过在添加新消息时从缓冲区中删除旧消息来实现此目的。
Syslog Server:路由器可以使用Syslog将日志消息转发到外部Syslog服务器进行存储。默认情况下,不启用此类日志记录。
SNMP Trap:路由器能够使用SNMP陷阱将日志消息发送到外部SNMP服务器。
工作任务——防火墙远程日志管理
图5-5-1 防火墙流量监控管理
【工作任务背景】
为了完善企业A公司网络设备工作状态监测监控,如图5-5-1所示,基于Linux平台,实现防火墙远程日志收集。
【工作任务分析】
Server1模拟总公司内部服务器。当配置成功后,fw设备上的日志将会存储一份到Server1服务器上。参数要求见表5-5-2和表5-5-3。(www.xing528.com)
表5-5-2 网络设备信息
表5-5-3 服务器信息
【任务实现】
1.根据所学知识,完成拓扑中网络设备的主机名、网络地址的设定。
2.在防火墙设备上设置必要的路由,实现网络拓扑通信。
3.在防火墙设备上设置时区和时间。
4.启用日志功能,并将0~6级的日志都保存到缓冲区。
5.设置日志内容记录时间戳信息,配置日志服务器为172.16.1.100。
6.在日志服务器上查看日志服务器运行状态和日志接收情况,如图5-5-2所示。
图5-5-2 查看日志服务器状态和日志接收情况
问题探究
1.Syslog协议使用UDP和TCP传输日志的区别。
2.如何关闭和开启Console日志?
知识拓展
Debug指令是排错时常用的一个工具,防火墙以Syslog格式保存日志,共有8个级别的日志,其中包含MOST信息的级别称为“debug”(严重性为7)。对于启用debug级别的日志,防火墙可以将日志发送到内部的内存缓冲区,外部的日志服务器等进行功能调优或者故障排查。
关于debug命令,注意事项如下:
注意事项一:需要注意输出结果的不同。在不同的情况下,debug命令输出结果的格式是不同的。网络管理员掌握这些输出结果的差异,对进行故障排查具有很大的使用价值。如上所述,debug命令产生的信息量比较多,如果管理员能够了解不同情况下的不同输出格式,那么就可以在最短时间内找到自己需要的信息。也就是说,可以帮助管理员提高信息过滤的效率。
一是需要注意在使用这个命令进行排错时,输出的格式会随着协议的不同而变化。例如某些协议只是为每个数据包产生单行输出,而有些协议则为数据包产生多行输出。当网络管理员掌握这个规则之后,可以不看内容,而只看输出的格式,就了解这些输出结果可能对应哪些协议。这对于网络管理员从海量的信息中定位所需的内容是非常有帮助的。
二是需要注意这个命令所带的参数不同,其输出的结果的数量也是不同的。有些debug命令会产生大量的输出结果,而有些命令输出的结果数量很少。对于网络排错来说,并不是信息越多越好,也不是说越少越好,而是要看输出的结果是否明确,是否满足要求。这就对网络管理员提出了比较高的要求,要求管理员必须掌握尽可能多的debug命令,并在恰当的时候使用恰当的debug命令。也就是说,最后输出的结果能够满足管理员的需要。太多的话,是一种浪费,同时也会增加防火墙等网络设备的CPU负担。在使用这个命令时,最好能够按严重性从小到大使用。只有在当前命令收集的结果不满足需要的情况下,才使用更大范围的命令,这可以有效降低设备的CPU负荷。此外,错误的情形、协议的不同、采用命令的不同,其返回结果的格式也会有差异。如有些情况下其产生的结果是文本行的格式,而有时则以字段格式的方式提供,这也有助于网络管理员过滤信息。另外,需要注意的是,有些管理员可能会把根据debug命令收集起来的信息存入数据库中进行更加复杂的分析,此时就需要这个字段与文本行格式的差异。在某些情况下,需要对文本行格式的数据进行整理,才能够满足管理员的需要。
注意事项二:不要在生产环境特别复杂的情况下使用这个命令。通常情况下,使用debug命令可以帮助网络管理员收集到很多有用的信息,但是需要注意的是,这个命令也会产生大量的对解决问题没有帮助的垃圾数据。也就是说,这个命令本身并没有过滤的功能,其只是简单地收集相关的信息。这不仅会增加设备与网络的负担,而且分析这些信息的时候,也会有不少障碍。当信息比较多时,只有比较专业的人员才可以从繁杂的信息中整理出有用的信息。此外,在使用debug命令的过程中,也会使CPU出现比较大的开销,这会对网络的性能产生很大的负面影响。有时候甚至导致网络的堵塞,从而使得网络故障雪上加霜,破坏网络设备的正常运转。基于如上原因,建议最好能够在网络流量或者用户比较少时使用debug命令,从而最大限度地降低这个命令对其他用户的负面影响。如果必须马上解决问题,等不到网络空闲的时候,那么务必在已经了解故障的特定类型流量或者解决方案,并且已经将故障限定在某个局部范围内之后,才使用这个debug命令进一步收集相关信息。可以在这个命令后面加上相关的参数,来降低设备CPU的开销,提高信息的使用价值。
注意事项三:对debug命令收集到的信息要及时分析。事物是时刻在变化的,在网络中也是如此。连续使用两次debug命令来收集相关的信息,其结果可能有差异。为此,作为网络管理员,应该学会及时从debug命令中获取信息,并且还应该学会在调试完毕之后及时关闭debug命令,甚至禁用它,从而让网络设备在最短时间内恢复到工作状态。然后对收集到的信息进行分析,查找故障或者性能下降的原因。简单地说,就是不要一边使用debug命令收集信息,一边对数据进行分析。这主要还是由于debug命令会大量占用CPU的资源。在实际工作中,为了最大限度地降低debug命令的负面影响,最好创建目标行动计划。如每个星期让debug命令在网络比较空闲的时候运行一次,以收集网络管理员所关心的信息。这能够帮助网络管理员防患于未然,同时,也不会对用户网络的正常使用产生很大的负面影响。
注意事项四:学会在debug命令后面加上相关的参数。在思科的产品中,所有的debug命令必须都在exec模式下运行,并且大部分的debug命令在运行时都没有强制参数的要求。但是笔者还是建议在使用debug命令的时候带上相关的参数,特别是在将调试信息隔离到特定接口或者特性的时候,带参数的debug命令会非常有用。如果不带参数,不仅难以将信息与接口或者特性一一对应,还会占用CPU等资源,这会扩大debug命令的负面影响。需要注意的是,有一个参数要慎用,即all参数。如debug all命令,如果采用这个命令,会产生压倒多数的被调试的进程,情况严重的话,会导致系统与网络崩溃。因此all参数往往只在非生产领域使用,或者是在网络刚组建时使用。可见,debug命令虽然只是思科产品中很小一部分的功能,但是在排错与性能优化中,其作用不可忽视。
项目拓展
在防火墙上使用debug指令进行故障排查,分析ICMP无法通信的原因有哪些。
注意,ASA仅显示用于ping到ASA接口的ICMP调试消息,而不显示用于ping通过ASA到其他主机的消息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。