设备在运行过程中,如链路发生状态变化,或者收到异常报文、处理异常等事件时,会自动生成固定格式的日志报文。日志报文可以被打上时间戳和序号,并按日志信息的优先级进行分级,输出到控制台、监视终端或者日志服务器等媒介上。日志信息主要用于管理员进行监控设备运行情况、分析网络情况和定位问题。
系统日志可以分为如下两类:
log类:日志类信息,即普通的日志信息。
debug类:调试类信息,即记录系统的调试日志信息。
说明
调试类日志信息,需要开启相关debug命令才可以会产生调试日志信息,主要用于定位问题时,一般用户无需关注。
系统日志按严重性划分为8个等级,严重性由高到底依次为:emergencies、alerts、critical、errors、warnings、notifications、informational和debugging,并分别对应于0~7这8个数值,值越小代表级别越高。相关日志级别的说明如表1-1所示。
说明
根据日志级别输出信息时,将会输出日志级别高于或等于所设置级别的日志,比如,输出规则中指定允许级别为informational的信息输出,则级别为emergencies~informational的信息均会输出。
关键字 |
级别 |
描述 |
|---|---|---|
emergencies |
0 |
系统不能正常运行的信息 |
alerts |
1 |
需要立即采取措施改正的信息 |
critical |
2 |
严重情况 |
errors |
3 |
错误信息 |
warnings |
4 |
警告信息 |
notifications |
5 |
普通但是需要关注的信息 |
informational |
6 |
说明性的信息 |
debugging |
7 |
调试信息 |
系统日志的输出方向,可以分为5类,分别为:console、monitor、server、buffer、file,各个输出方向上的缺省输出级别和输出的日志分类各不相同,用户在使用过程中,可以对不同的输出方向配置不同的过滤规则。相关日志输出方向的说明如表1-2所示。
出方向的名称 |
缺省输出方向 |
缺省输出级别 |
描述 |
|---|---|---|---|
console |
控制台 |
debugging(7级) |
可以输出log、debug信息 |
monitor |
监视终端 |
debugging(7级) |
可以输出log、debug信息,便于远程维护 |
server |
日志服务器 |
informational(6级) |
可以输出log、debug信息 |
buffer |
日志缓冲区 |
debugging(7级) |
可以输出log、debug信息,是设备运行过程中的一块缓存,用于记录系统日志 |
file |
日志文件 |
informational(6级) |
可以输出log、debug信息,定时将缓存中的日志信息写入到文件当中 |
按照系统日志的输出方向不同,系统日志可能有不同格式。
当输出方向为非日志服务器(控制台、监视终端、日志缓冲区和日志文件)时,系统日志格式为:
seq no: *timestamp: sysname %module-level-mnemonic: content
对应的格式中文件说明如下:
序列号: *时间戳: 系统名称 %模块名-级别-助记符: 日志文本
例如,用户退出配置模式时,在控制台可以看到格式如下的日志:
001233: *May 22 09:44:36: Ruijie %SYS-5-CONFIG_I: Configured from console by console
当输出方向为日志服务器,系统日志格式为:
<priority>seq no: *timestamp: sysname %module-level-mnemonic: content
对应的格式中文件说明如下:
<优先级>序列号: *时间戳: 系统名称 %模块名-级别-助记符: 日志文本
例如,用户退出配置模式时,在日志服务器可以看到格式如下的日志:
<189>001233: *May 22 09:44:36: Ruijie %SYS-5-CONFIG_I: Configured from console by console
下面对每一个字段做详细说明:
priority(优先级)
优先级的计算按如下公式:facility * 8 + level。其中:level表示日志信息的级别;facility表示设备值,在配置日志信息的设备值时可以设置,默认值为local7(23),参数取值范围如表1-3所示。
说明
本字段只有在向日志服务器输出日志时才有效。
numerical code(标号) |
facility keyword(设备值关键字) |
facility description(设备值描述) |
|---|---|---|
0 |
kern |
kernel messages |
1 |
user |
user-level messages |
2 |
mail system |
|
3 |
daemon |
system daemons |
4 |
auth1 |
security/authorization messages |
5 |
syslog |
messages generated internally by syslogd |
6 |
lpr |
line printer subsystem |
7 |
news |
network news subsystem |
8 |
uucp |
UUCP subsystem |
9 |
clock1 |
clock daemon |
10 |
auth2 |
security/authorization messages |
11 |
ftp |
FTP daemon |
12 |
ntp |
NTP subsystem |
13 |
logaudit |
log audit |
14 |
logalert |
log alert |
15 |
clock2 |
clock daemon |
16 |
local0 |
local use 0 (local0) |
17 |
local1 |
local use 1 (local1) |
18 |
local2 |
local use 2 (local2) |
19 |
local3 |
local use 3 (local3) |
20 |
local4 |
local use 4 (local4) |
21 |
local5 |
local use 5 (local5) |
22 |
local6 |
local use 6 (local6) |
23 |
local7 |
local use 7 (local7) |
seq no(序列号)
系统日志的序列号为6位整型数,并按系统日志产生的条目逐条递增,缺省情况下,该字段信息不会显示出来,可以通过命令开启或关闭该字段信息的输出。
timestamp(时间戳)
时间戳记录了系统日志产生的时间,方便用户查看和定位系统事件。设备的系统日志时间戳格式有两种,分别为:datetime格式和uptime格式。
datetime格式:
datatime格式时间戳完整格式如下所示:
Mmm dd yyyy hh:mm:ss.msec
datatime格式时间戳各个参数字段的说明如表1-4所示。
uptime格式:
uptime格式时间戳完整格式如下所示:
dd:hh:mm:ss
uptime格式时间戳各个参数字段的说明如表1-5所示。
时间戳参数 |
参数名称 |
描述 |
|---|---|---|
Mmm |
月份 |
Mmm代表月份的英文缩写,1~12月份依次为:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec |
dd |
天数 |
dd代表当前月份对应的天数 |
yyyy |
年份 |
yyyy代表对应的年份,缺省情况下没有打开 |
hh |
小时 |
hh代表当前对应的小时数 |
mm |
分钟 |
mm代表当前对应的分钟数 |
ss |
秒 |
ss代表当前对应秒数 |
msec |
毫秒 |
msec代表当前对应的毫秒数 |
说明
缺省情况下,系统输出的日志信息datetime格式时间戳不携带年份和毫秒信息,用户可以通过命令开启或关闭系统日志的datetime格式时间戳是否携带年份和毫秒信息。
时间戳参数 |
参数名称 |
描述 |
|---|---|---|
dd |
天数 |
dd代表当前月份对应的天数 |
hh |
小时 |
hh代表当前对应的小时数 |
mm |
分钟 |
mm代表当前对应的分钟数 |
ss |
秒 |
ss代表当前对应秒数 |
说明
如果当前设备不存在RTC时钟(一种用于记录系统绝对时间的硬件装置),缺省采用设备启动时间(uptime格式)作为系统日志的时间戳。如果设备存在RTC时钟,则缺省采用设备绝对时间(datetime格式)作为日志信息时间戳。
sysname(系统名称)
该字段记录了生成该日志的设备名称,用于日志服务器标识产生该日志的主机。缺省情况下,该字段信息不显示,可以通过命令开启或关闭该字段信息的输出。
module(模块名)
该字段表示产生此日志的功能模块的名称,为一个2~20个字符的大写字符串(可包含大写字母、数字、下划线)。log类的日志信息默认都要携带module字段,debug类的日志信息有可能没有携带module字段。
level(日志级别)
系统日志的级别共分为8级,分别为0~7级。各模块生成的系统日志的级别在开发阶段已经确定,不支持用户修改日志级别。
mnemonic(助记符)
该字段表示产生此日志的信息摘要,为一个4~32个字符的大写字符串(可包含大写字母、数字、下划线)。log类的日志信息默认都要携带mnemonic字段,debug类的日志信息有可能没有携带mnemonic字段。
content(日志文本)
该字段表示该系统日志的具体内容。
对于所有输出方向,系统的日志格式统一为:
<priority>version timestamp sysname MODULE LEVEL MNEMONIC [structured-data] description
对应的格式中文件说明如下:
<优先级>版本号 时间戳 系统名称 模块名 级别 助记符 结构化参数区 信息内容
例如,用户退出配置模式时,在控制台可以看到格式如下的日志:
<133>1 2013-07-24T12:19:33.130290Z ruijie SYS 5 CONFIG - Configured from console by console
每一个字段做详细说明如下:
priority(优先级)
优先级的计算按如下公式:facility * 8 + level。其中:level表示日志信息的级别;facility表示设备值,在配置日志信息的设备值时可以设置,开启RFC5424日志开关时,facility默认值为local0(16)。
version(版本号)
RFC5424中规定版本号固定为1。
timestamp(时间戳)
时间戳记录了系统日志产生的时间,方便用户查看和定位系统事件。设备在开启RFC5424日志开关时,系统日志时间戳格式统一成如下形式:
YYYY-MM-DDTHH:MM:SS.SECFRACZ
各个参数字段的说明如表1-6所示。
时间戳参数 |
参数名称 |
描述 |
|---|---|---|
YYYY |
年份 |
YYYY代表对应的年份 |
MM |
月份 |
MM代表当前年份对应的月份 |
DD |
天数 |
DD代表当前月份对应的天数 |
T |
分隔符 |
日期必须以T结尾 |
HH |
小时 |
HH代表当前对应的小时数 |
MM |
分钟 |
MM代表当前对应的分钟数 |
SS |
秒 |
SS代表当前对应秒数 |
SECFRAC |
毫秒 |
SECFRAC代表当前对应的毫秒数(1~6位) |
Z |
结束符 |
时间必须以Z结尾 |
sysname(系统名称)
该字段记录了生成该日志的设备名称,用于日志服务器标识产生该日志的主机。
MODULE(模块名)
该字段表示产生此日志的功能模块的名称,为一个2~20个字符的大写字符串(可包含大写字母、数字、下划线)。log类的日志信息默认都要携带module字段,debug类的日志信息有可能没有携带module字段。
LEVEL(日志级别)
系统日志的级别共分为8级,分别为0~7级。各模块生成的系统日志的级别在开发阶段已经确定,不支持用户修改日志级别。
MNEMONIC(助记符)
该字段表示产生此日志的信息摘要,为一个4~32个字符的大写字符串(可包含大写字母、数字、下划线)。log类的日志信息默认都要携带mnemonic字段,debug类的日志信息有可能没有携带mnemonic字段。
structured-data(结构化参数区)
该字段是RFC5424新引入的字段,是一种利于机器解析的方式描述日志的参数信息。每条日志可以包含0个或多个参数信息,若没有参数信息,必须使用字符‘-’占位,每一个参数信息的格式为:
[SD_ID@enterpriseID PARAM-NAME=PARAM-VALUE]
各个参数字段的说明如表1-7所示。
结构化参数区 |
参数名称 |
描述 |
|---|---|---|
SD_ID |
参数信息名字 |
参数信息名字通过大写显示,且同一条日志当中不能存在相同的参数信息名字 |
@ |
分隔符 |
只有自定义的参数信息才需要添加@enterpriseID,若为RFC5424标准所定义的参数信息,则不需要添加@enterpriseID |
enterpriseID |
厂商ID |
厂商ID由IANA维护,设备的厂商ID号固定为4881,可以通过IANA网站进行查询 |
PARAM-NAME |
参数名 |
参数名字段全部通过大写显示,且同一条日志当中结构化参数区不能存在相同的参数名 |
PARAM-VALUE |
参数值 |
参数值字段需要添加双引号,其中:IP地址、MAC地址类型的值格式化为大写显示,其它类型的值依据实际情况而定 |
description(日志文本)
该字段表示该系统日志的具体内容。
缺省情况下,系统打出来的日志信息可以输出到各个方向。设备提供日志过滤功能,可根据日志去向、日志关键字、匹配规则过滤日志信息,当用户不关心某些日志信息或者只关心某些日志信息时,则可以使用日志过滤功能,对该日志信息进行过滤。
过滤方向
日志过滤方向主要分为以下四类:
buffer:代表过滤掉去向日志缓冲区的日志信息(即show logging显示出来的日志信息)。
file:代表过滤掉去向日志文件的日志信息。
server:代表过滤掉去向日志服务器的日志信息。
terminal:代表过滤掉去向控制台和监视终端(包括Telnet/SSH等)的日志信息。
说明
以上四类过滤方向为或(|)关系,即可以联合使用(对往多个方向的日志信息进行过滤),也可以单独使用(只对往某一方向的日志信息进行过滤)。
过滤方式
日志过滤方式主要分为以下两种:
contains-only:表示“只包含”:只输出包含在过滤规则里面的关键字的日志信息,其它没有包含在过滤规则里面的关键字的日志信息不会输出。当用户只关心某些日志信息是否产生,则可以在设备上面应用“只包含”这一日志过滤类型,让包含了此规则的日志信息才输出到终端界面,方便用于观察某些事件是否有发生。
filter-only:表示“只过滤”:将过滤掉包含在过滤规则里面的关键字的日志信息,不会输出这些过滤掉的日志信息。当遇到某一个模块打出来的日志信息太多而会引起终端界面出现刷屏,且用户又不关心此类日志信息时,可以在设备上面应用“只过滤”这一日志过滤类型,并配置对应的过滤规则,将刷屏的日志信息过滤掉。
说明
以上两种过滤方式为互斥关系,即同一时刻只能配置一种过滤方式。
过滤规则
日志过滤规则主要分为以下两种:
exact-match:代表精确匹配,若选择精确匹配,则后面的三个过滤选项(日志模块名、日志等级、日志助记符)都需要选上。当用户需要过滤掉某一特定的日志信息,则可以使用“精确匹配”规则。
single-match:代表单个匹配,若选择单个匹配,则后面的三个过滤选项(日志模块名、日志等级、日志助记符)只需要选择其中的一个。当用户需要过滤掉某一类型的日志信息,则可以使用“单个匹配”规则。
说明
当用户配置的日志信息过滤规则中,若“单个匹配”规则和“精确匹配”规则中同时配置了一样的模块名、助记符或信息等级,则单个匹配规避的优先级高于精确匹配。
日志上送功能分为三种:分级上送、延迟上送和定时上送。具体说明如下:
分级上送
用户可以使用分级策略功能,将不同模块和严重级别的日志输出到不同目的地。
例如:可以在命令行中配置,OSPF模块的严重级别小于等于4的日志,实时发送到日志服务器;同时,OSPF模块的严重级别大于等于5的日志,输出到本地日志文件中。
延迟上送
延迟系统日志延迟上送功能,是指当系统产生日志后,不直接发送给日志服务器,而是暂时缓存在设备上的日志文件文件中,由设备周期性的上传到日志服务器。用户通过配置系统日志延迟上送功能,能够减少设备与日志服务器间的报文传输交互频率,从而减轻设备和日志服务器的性能压力及中间网络的负担。
定时上送
定时上送的日志主要是指设备性能统计数据的日志信息。定时上送的所有定时器都由SYSLOG模块统一管理,定时器到期,SYSLOG模块就会调用各模块注册上来的日志处理函数,打印设备的性能统计日志,并实时发送给远端的SYSLOG服务器,服务器通过分析这些定时上送的日志来评估设备的性能。
注意
对于系统日志上送功能,需要先开启RFC5424日志开关,否则分级上送、延迟上送、定时上送功能均无法配置。
在开启RFC5424日志格式的情况下,缺省情况下是可以往所有方向输出系统日志,并且日志延迟上送功能处于开启状态。定时上送功能处于关闭状态。
日志监控功能主要是指系统将对外界连接到设备的行为进行监控,并记录对应的LOG信息。
在设备上面开启记录用户登录或退出LOG信息后,系统将对外界连接到设备的行为进行记录,记录的信息包括:登录的用户名、登录的源地址等。
在设备上面开启记录用户操作的LOG信息,系统将对修改设备配置的行为进行记录,记录的信息包括:操作的用户名、操作的源地址、操作的内容。
RFC 3164:The BSD syslog Protocol
RFC 5424:The_Syslog_Protocol
配置系统日志基本功能
(可选)配置系统日志的显示格式。以下配置步骤互斥,请选择其中一项进行配置。
配置RFC3164日志格式
配置RFC5424日志格式
配置系统日志上送功能。请至少选择其中一项进行配置。
配置系统日志分级上送功能
配置系统日志延迟上送功能
(可选)配置系统日志定时上送功能
(可选)配置系统日志监控功能
(可选)配置系统日志的输出方向。请至少选择其中一项进行配置。
配置系统日志输出到控制台
配置系统日志输出到监视终端
配置系统日志写入到内存缓冲区
配置系统日志发送往日志服务器
配置系统日志写入到日志文件
(可选)配置系统日志过滤功能
(可选)配置性能日志开关
(可选)配置用户输入与日志信息同步输出功能
开启系统日志功能,使得系统能够处理日志信息,并使得用户可以看到设备产生的日志信息。
进入特权模式。
enable
进入全局配置模式。
configure terminal
打开日志开关。
logging on
缺省情况下。系统日志功能处于开启状态。
通过配置系统日志的显示功能,可以调整系统日志的显示格式。
系统日志的显示格式配置任务如下。以下配置步骤互斥,请选择其中一项进行配置
配置RFC3164日志格式
配置RFC5424日志格式
如果当前设备不存在RTC时钟(一种用于记录系统绝对时间的硬件装置)时,系统将采用设备启动时间(uptime格式)作为日志信息时间戳,此时配置设备时间无效。如果设备存在RTC时钟,则采用设备时间(datetime格式)作为日志信息时间戳。
配置在日志信息中添加系统名称,便于系统日志发送到服务器后,查看到日志信息来自哪个设备。
配置在日志信息中加上序列号,序列号从1开始。加上序号以后,能够监控到日志信息是否有丢失,以及日志产生的先后顺序。日志序列号是一个长整型数值,每产生一条日志,序列号就递增,但是由于日志序列号只显示6位整数,故当序列号从1开始每增加到1000000或序列号到达2^32时候就会发生一次翻转,即序列号又从000000开始显示。
开启RFC3164日志格式后,在RFC5424日志格式中使用的命令logging delay-send、logging policy、logging statistic将会失效并隐藏掉。
进入特权模式。
enable
进入全局配置模式。
configure terminal
(可选)配置系统日志的时间戳格式。
service timestamps [ message-type [ uptime | datetime [ msec ] [ year ] ] ]
缺省情况下,系统日志使用的格式为datetime格式,且datetime时间戳格式没有携带年份和毫秒信息。
(可选)配置系统日志格式中添加系统名称。
service sysname
缺省情况下,系统输出的日志信息没有携带sysname(系统名称)。
(可选)配置系统日志格式中添加系列号。
service sequence-numbers
缺省情况下,系统输出的日志信息没有携带序列号。
配置系统日志格式,以下配置步骤互斥,请选择其中一项进行配置。
配置系统日志格式为标准日志格式。
service standard-syslog
配置系统日志格式为私有日志格式。
service private-syslog
开启RFC5424日志格式后,日志时间戳统一成一种格式,不再区分uptime格式和datetime格式。
RFC5424日志格式中时间戳格式包括有时区和没有时区两种,当前只支持没有时区的显示格式。
开启RFC5424日志格式后,在RFC3164日志格式中使用的命令service sequence-numbers、service sysname、service timestamps、service private-syslog、service standard-syslog将会失效并隐藏掉。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置系统日志格式为RFC5424日志格式。
service log-format rfc5424
系统日志上送功能如下。请至少选择其中一项进行配置。
配置系统日志分级上送功能
配置系统日志延迟上送功能
(可选)配置系统日志定时上送功能
只有在开启RFC5424日志格式的情况下,系统日志上送功能才能够配置并生效。
通过配置系统日志分级上送功能,用户可以使用分级策略功能,将不同模块和严重级别的日志输出到不同目的地。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置系统日志格式为RFC5424日志格式。
service log-format rfc5424
配置日志分级上送策略。
logging policy module module-name [ not-lesser-than ] policy-level direction { all | buffer | console | file | monitor | server }
缺省情况下,日志分级策略功能处于关闭状态。
延迟系统日志延迟上送功能,是指当系统产生日志后,不直接发送给日志服务器,而是暂时缓存在设备上的日志文件文件中,由设备周期性的上传到日志服务器。用户通过配置系统日志延迟上送功能,能够减少设备与日志服务器间的报文传输交互频率,从而减轻设备和SYSLOG服务器间的性能压力和中间网络的负担。
一般情况下,建议不要将延时上送的日志输出到控制台或者远程终端,以免设备上打印出较多的延迟上送的日志信息,增加网络设备自身的负担。
配置的文件名中不能出现字符点号(.),因为系统在生成本地缓存文件时,文件名会增加索引值和后缀(.txt),索引值是以递增形式变化的;也不能出现PC文件命名禁止的字符,例如:\/:*“<>|。例如:配置的文件名为log_server,当前的索引值为5,文件大小为1000B,发送日志文件的设备IP地址为10.2.3.5,则发送给远端服务器的日志文件名为:log_server_1000_10.2.3.5_5.txt,但是保存在设备本地的日志文件名为log_server_5.txt。若发送日志文件的设备IP地址为IPv6形式,因为IPv6地址有可能出现冒号(:),而冒号(:)又是PC文件命名所禁止的字符,所以需要用字符(-)来替代。例如:用户配置的文件名为log_server,汉前的文件索引值为6,文件大小为1000B,发送日志文件的设备IPv6地址为2001::1,则发送远端服务器的日志文件名为:log_server_1000_2001-1_6.txt,但是保存在本地的日志文件名为log_server_6.txt。
若网络设备上产生的延迟上送的日志信息较少,建议将延迟上送的时间间隔设置长一点,让更多的延迟上送日志集中在一起发送给远端服务器。
默认情况下,发送到远端服务器的日志文件名为:文件大小_设备IP地址_索引值.txt,若修改延迟上送的文件名,则发送到远端服务器的日志文件名为:配置的文件名前缀_文件大小_设备IP地址_索引值.txt;而保存在设备本地Flash的文件名则为:配置的文件名前缀_索引值.txt。默认的文件名前缀为syslog_ftp_server,延迟上送的时间间隔是3600秒(1小时),日志文件大小为128K。
日志延迟上送的最大时间间隔为65535秒,即18小时。当用户将延迟上送时间间隔配置为较大的值时,在延迟上送的时间间隔内产生的日志有可能超过一个文件的大小(128K),为了防止日志丢失,会写一个新的日志文件,并把索引值加1,等到定时器到期后,会一次性把该时间间隔内缓存的所有日志文件发送到日志服务器。
因为设备上面用于缓存在本地日志文件的Flash空间大小有限,因此限制缓存在设备本地的日志文件个数最多为8个,在定时器到期之前,若缓存在设备本地的日志文件超过8个,则会先把之前产生的日志文件一次性发送到日志服务器。
用户可以通过FTP协议或者TFTP协议将日志信息发送到日志服务器。一台设备最多只能配置5台日志服务器的地址。并且每台服务器只能指定FTP协议和TFTP协议中的一种。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置系统日志格式为RFC5424日志格式。
service log-format rfc5424
配置日志延迟上送功能。以下配置均为可选,请根据实际需求至少选择其中一项进行配置。
配置日志延迟上送输出到控制台和远程终端。
logging delay-send terminal
缺省情况下,延时上送的日志输出到控制台和远程终端处于关闭状态。
配置日志延迟上送的文件名。
logging delay-send file flash: delay-send-filename
缺省情况下,发送到远端服务器的日志文件名格式为:文件大小_设备IP地址_索引值.txt。
配置日志延迟上送的时间间隔。
logging delay-send interval delay-send-interval
缺省情况下,日志延迟上送给服务器的时间间隔是3600秒(1小时)。
配置日志延迟上送的服务器地址和上报方式。
logging delay-send server { hostname | ipv4-address | ipv6 ipv6-address } [ vrf vrf-name ] mode { ftp user username password [ 0 | 7 ] password | tftp }
缺省情况下,未配置日志延迟上送功能。
通过配置系统日志定时上送功能,使得服务器能够在同一个时间点收集到设备上的所有日志信息。
只有打开日志定时上送功能的开关,日志定时上送时间间隔、输出到控制台和远程终端功能设置才会生效。
建议关闭定时上送的日志输出到控制台和远程终端,避免设备上日志定时上送功能定时器到期后,打印出较多的性能统计的日志信息,增加网络设备自身的负担。
为了使服务器能在同一时间点上收集到设备上的所有的性能统计日志,当修改某一个统计对象的时间间隔,都会重新启动所有统计对象的定时上送的定时器。
日志定时上送的时间间隔默认为15分钟,为了使服务器能在同一时间点上收集到设备上的所有的性能统计日志,需要把不同统计对象的日志定时上送时间间隔设置成倍数关系,目前支持的配置值有5个,分别为:0、15、30、60、120,其中0代表关闭此统计对象的定时上送功能。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置系统日志格式为RFC5424日志格式。
service log-format rfc5424
配置日志定时上送功能开关。
logging statistic enable
缺省情况下,日志定时上送功能处于关闭状态。
(可选)配置日志定时上送输出到控制台和远程终端。
logging statistic terminal
缺省情况下,定时上送的日志输出到控制台和远程终端功能处于关闭状态。
(可选)配置日志助记符定时上送的时间间隔。
logging statistic mnemonic mnemonic interval logging-statistic-interval
缺省情况下,日志定时上送时间间隔为15分钟。
通过配置系统日志监控功能,系统能够对外界连接到设备的行为进行监控,并记录对应的日志信息。
若设备上面同时配置logging userinfo和logging userinfo command-log,则进行show running-config查看时,只会显示logging userinfo command-log。
使用logging userinfo命令在全局配置模式下配置用户登录/退出的Log信息。配置此功能后,当外界通过Telnet、SSH、HTTP等方式连接到设备时,设备将打出对应的Log信息,方便管理员监控设备的连接情况。
使用logging userinfo command-log命令在全局配置模式下配置用户操作的Log信息。配置此功能后,当有用户修改设备配置时,系统就会打出相应的Log信息提醒设备管理员。
配置执行配置命令时记录用户操作的Log信息。默认情况下,用户修订设备配置的时候,设备是不会记录相关的操作Log信息。若配置的5424日志格式,即配置了service log-format rfc5424,则需要再配置logging delay-send terminal,操作日志才能输出到终端(因为操作日志注册的是延迟上送模式)。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置系统日志监控功能。以下配置均为可选,请根据实际需求至少选择其中一项进行配置。
开启记录用户登录/退出日志信息。
logging userinfo
缺省情况下,记录用户登录/退出设备的日志日志信息功能处于关闭状态。
开启记录用户操作的日志信息。
logging userinfo command-log
缺省情况下,设备记录相关操作的Log信息功能处于关闭状态。
系统日志的输出方向配置任务如下。请至少选择其中一项进行配置。
(可选)配置系统日志输出到控制台
(可选)配置系统日志输出到监视终端
(可选)配置系统日志写入到内存缓冲区
(可选)配置系统日志发送往日志服务器
(可选)配置系统日志写入到日志文件
配置系统日志输出到控制台功能,可以将系统产生的日志信息输出到控制台,方便管理员监控系统的运行状态。
如果系统产生的日志信息太多,则可以通过限制日志信息的速率来减少输出到控制台日志信息。
缺省情况下,系统日志开关是打开的,建议不要关闭日志开关,如果打印的信息太多,则可以通过设置不同设备日志信息的显示级别来减少日志信息的打印。
使用logging count命令在全局配置模式下开启日志信息统计功能,打开日志信息统计功能后,系统将记录各模块产生的日志信息的次数,以及最后产生此日志信息的时间等。
控制台默认允许显示的日志信息级别为debugging(7级)。可以通过特权命令show logging config来查看允许在控制台上显示的日志信息级别。
进入特权模式。
enable
进入全局配置模式。
configure terminal
打开日志信息统计功能。
logging count
缺省情况下,日志统计功能处于关闭状态。
(可选)配置日志信息允许输出到控制台的级别。
logging console [severity-level ]
缺省情况下,控制台上显示的日志信息级别为7(Debugging,调试信息)。
(可选)配置日志信息速率限制功能。
logging rate-limit [ console ] [ all ] number [ except [ severity-level ] ]
缺省情况下,日志速率限制功能处于关闭状态。
通过配置系统日志输出到监视终端功能,可以将系统产生的日志信息输出到远程监视终端,方便管理员监控系统的运行状态。
如果系统产生的日志信息太多,则可以通过限制日志信息的速率来减少输出到监视终端的日志信息。
默认情况下,用户远程连接到设备后,当前监视终端上不允许输出日志信息。需要手动输入terminal monitor命令开启当前终端的日志信息输出功能。并且terminal monitor命令只对当前连接有效,当终端与设备重新建立连接后,该命令会恢复到默认情况。
进入特权模式。
enable
配置在当前监视终端上显示日志信息。
terminal monitor
缺省情况下,未配置在监视终端的窗口上显示日志信息功能。
进入全局配置模式。
configure terminal
(可选)配置日志信息允许输出到监视终端的级别。
logging monitor [ severity-level ]
缺省情况下,在视终端的窗口上显示的日志信息级别为7(Debugging,调试信息)。
通过配置系统日志写入到内存缓冲区功能,可以将系统产生的日志信息写入到内存缓冲区,方便管理员通过show logging命令查看近期系统产生的日志信息。
系统日志写入内存缓冲区后,当缓冲区满时,将循环覆盖重写。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置日志写入的内存缓冲区的参数。
logging buffered [ buffer-size ] [ severity-level ]
缺省情况下,缓冲区大小为1兆字节,日志信息严重性级别为7。
将系统产生的日志信息发送往日志服务器,方便管理员在服务器上统一监控设备的日志信息。
必须打开日志信息的时间戳开关或序列号开关,否则日志信息无法发送到日志服务器。
logging server命令用于指定接收日志信息的日志服务器地址,可以同时指定多个日志服务器,日志信息将被同时分给配置的所有的日志服务器。
产品允许配置最多5个日志服务器。
在输入域名配置服务器时,不支持logging hostname配置日志服务器。
为了便于跟踪管理,可以使用logging source interface命令将所有日志报文的源IP地址固定为某个接口的IP地址,这样管理员就通过唯一地址识别从哪台设备发送出来的日志报文,如果设备上未配置该源接口或源接口上未配置IP地址,则日志报文源IP地址为报文发送接口的IP地址。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置日志发往指定的日志服务器。
logging { { ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vrf vrf-name ] [ facility facility-type ] [ level inform-level ] | server { hostname | ipv4-address | ipv6 ipv6-address } [ udp-port port-number ] [ vrf vrf-name ] [ facility facility-type ] [ level inform-level ] }
缺省情况下,未配置将日志记录到指定的日志服务器。
(可选)配置日志信息允许发往日志服务器的级别。
logging trap [ severity-level ]
缺省情况下,发送到日志服务器的日志信息级别为6(Informational,说明性的信息)。
(可选)配置发往服务器的日志信息的系统设备值。
logging facility facility-type
缺省情况下,开启RFC5424日志格式时,设备值缺省为16(Local0,Local use);未开启RFC5424日志格式时,设备值缺省为23(Local7,Local use)。
(可选)配置发往服务器的日志信息的源接口。
logging source interface interface-type interface-number
缺省情况下,未配置日志源地址,发送给服务器的日志报文源IP地址是报文发送接口的IP地址。
(可选)配置发往服务器的日志信息的源地址。
配置IPv4类型的发往服务器的日志信息的源地址。
logging source ip ipv4-address
配置IPv6类型的发往服务器的日志信息的源地址。
logging source ipv6 ipv6-address
缺省情况下,未配置日志报文的源地址,发送给服务器的日志报文源IP地址是报文发送接口的IP地址。
通过配置系统日志写入到日志文件功能,用户可以将系统产生的日志信息保存到设备的日志文件中以便随时查看。日志在保存到日志文件前,先保存在日志文件缓冲区。系统会按照指定的频率将日志文件缓冲区的内容写入日志文件, 用户也可以手工触发保存。成功保存后,保存前的日志文件缓冲区里的内容会被清空。设备在有存储需要时,会自动生成日志文件。
系统产生的日志信息是先缓冲到内存缓冲区当中,当缓冲区满的时候或定时(默认为间隔1小时)写入到日志文件的,并不是产生日志信息的时候就立即写入到日志文件当中。
当尚未生成日志文件,且存储介质的剩余空间不足时,设备不会将新生成的日志存储到日志文件。因此需要定期清理存储介质的存储空间,以免影响日志文件功能。
logging file命令将在指定的文件存储设备上根据指定的文件名创建文件用于储存日志,文件大小会随日志增加而增加,但其上限以配置的max-file-size为准,若没有指定max-file-size,则日志文件的大小默认为128K。
配置logging file命令后,系统将日志信息保存到文件中,日志文件名不需要带文件类型的后缀名。日志文件后缀为固定为txt类型,配置文件后缀名将被拒绝。
配置了日志写文件功能后,日志信息将间隔1小时,写入到文件当中,而日志文件的名称(假设此次已经配置:logging flie flash:syslog)依次为syslog.txt、syslog_1.txt、syslog_2.txt…… syslog_14.txt、syslog_15.txt总共16个日志文件。这16个日志文件循环重写,比如:写完syslog.txt后,写syslog_1.txt,直至syslog_15.txt,然后再返回来写syslog.txt,这样子循环重写。
如果没有采购扩展FLASH,logging file flash命令将被自动隐藏,不允许进行配置。
修改日志文件的个数,系统不会删除已经产生的日志文件,因此,为了节约扩展FLASH的空间,用户需要手动删除系统已经产生的日志文件(删除之前可以先通过tftp将日志文件传输到外界服务器)。例如:系统开启日志写文件功能后,默认会写16个日志文件,并且假设设备已经产生了16个日志文件,此时想修改日志文件的个数为2个,系统产生的新日志信息将在索引值为0和1的两个日志文件中进行不断的循环覆盖重写,但是之前已经产生的索引值为2到16的日志文件还是会保留,系统不会删除,用户可以根据需要手动删除日志文件。
用户开启了基于时间的日志保存功能,系统针对同一级别、同一天内产生的日志信息,写入到同一个日志文件中,日志文件的名称形如“yyyy-mm-dd_filename_level.txt”,其中:yyyy-mm-dd为日志信息产生的当天绝对时间;filename为logging file flash命令配置的日志文件名称,level为对应的日志信息级别。
用户对某个等级的日志信息进行保存时间限制后,当对应级别的日志信息超过日志保存时间限制后,将进行删除。为了网管的方便,目前系统要求日志信息最少可以保存7天,最长可以保存365天。
为了兼容以前的配置命令,用户在没有开启基于时间的日志保存功能时,日志仍然基于文件大小进行日志信息的保存。
用户配置logging flash flush命令时,配置后立即将存在缓冲区中的日志信息写入到日志文件中。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置日志信息写入的日志文件参数。
logging file { flash:filename | usb0:filename } [ max-file-size ] [ inform-level ]
配置日志文件个数。
logging file numbers file-numbers
缺省情况下,日志文件的个数默认为16个。
配置日志信息写入文件的时间间隔。
logging flash interval log-write-flash-interval
缺省情况下,日志信息写入FLASH文件的时间间隔默认为3600s。
配置日志信息写入文件的保存时间。
logging life-time level inform-level life-time-days
缺省情况下,不对日志文件的保存时间进行限制,日志文件的保存时间受限于用户配置的日志文件的大小。
配置将缓冲区当中的日志信息立即写入到日志文件中。
logging flash flush
默认情况下,系统产生的日志信息都可以显示到控制台或其它终端上面。通过配置日志信息过滤功能,网络管理员可以过滤系统产生的日志,选择只打印需要的日志信息,或者让日志在指定的终端上打印。
日志信息的过滤类型为“只包含”和“只过滤”两种,且这两种过滤类型为互斥关系,即同一时刻只能配置其中的一种过滤类型。
日志信息过滤规则为“精确匹配”和“单个匹配”两种。其中单个匹配规则的优先级高于精确匹配规则。即当用户在单个匹配规则和精确匹配规则中同时配置了一样的模块名、助记符或信息等级,则优先过滤符合单个匹配规则的日志信息。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置日志过滤方向。以下配置均为可选,请根据实际需求至少选择其中一项进行配置。
配置日志信息的过滤方向。
logging filter direction { all | buffer | file | server | terminal }
缺省情况下,配置过滤送往所有方向的日志信息,即为all。
配置日志信息的过滤方式。
logging filter type { contains-only | filter-only }
缺省情况下,配置过滤类型为“只过滤”。
配置日志信息的过滤规则。
logging filter rule { exact-match module module-name mnemonic mnemonic-name level inform-level | single-match { level inform-level | mnemonic mnemonic-name | module module-name } }
缺省情况下,未配置日志信息过滤规则,不进行日志过滤。
配置开启性能日志开关后,使用性能日志打印接口的日志将走性能日志输出通道。
只有在短时间内打印大量日志到服务器需求时,才需要配置性能日志开关,因此只有个别功能业务需要打开性能日志开关,一般的业务则不需要配置该功能。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置开启性能日志开关。
logging performance switch
缺省情况下,性能日志输出开关处于关闭状态。
配置用户输入与日志信息同步输出功能后,即使在用户输入的过程中打印日志,在打印结束后仍然会将用户之前的输入显示出来,从而保证输入的完整性和连贯性。
logging synchronous命令需要在线路配置模式下面进行配置,并且在每个需要开启此功能的线路上面均要进行配置。
进入特权模式。
enable
进入全局配置模式。
configure terminal
配置用户输入与日志信息输出同步功能。
logging synchronous
缺省情况下,用户输入与日志信息输出同步功能处于关闭状态。
可以通过show命令行查看功能配置后的运行情况以验证配置效果。
可以通过执行clear命令来清除各类信息。
注意
在设备运行过程中执行clear命令,可能因为重要信息丢失而导致业务中断。
系统日志监视与维护
作用 |
命令 |
|---|---|
清除内存缓冲区中的日志信息 |
clear logging |
查看内存缓冲区中的日志报文,以及日志相关统计信息,日志信息按时间戳从旧到新的顺序显示 |
show logging |
查看内存缓冲区中的日志报文,以及日志相关统计信息,日志信息按时间戳从新到旧顺序显示 |
show logging reverse [ timestamp YY MM DD hh:mm:ss ] |
查看系统日志配置的参数、统计信息 |
show logging config |
查看系统中各模块日志信息统计情况 |
show logging count |
网络管理员可以通过系统日志中的系统日志了解设备的运行情况,更好的了解设备,管理设备或者定位问题
RFC3164日志格式组网图
配置设备与服务器之间三层网络可通。
开启系统日志功能。
配置日志格式
配置系统日志格式为RFC3164格式。
配置日志显示格式。
配置时间戳格式为datetime格式,并且开启毫秒信息和年份信息的显示。
配置系统日志格式中添加系统名称。
配置系统日志格式中添加系列号。
配置日志监控功能。
配置日志信息统计功能。
配置系统日志输出到控制台速率为每秒50条。
配置允许在监视终端上显示日志信息。
配置用户输入与日志信息输出同步功能。
配置性能日志开关开启。
配置日志信息的过滤功能。
设置日志信息的过滤方向为terminal、server两个方向。
设置日志信息的过滤方式为“只过滤”。
设备日志信息的过滤规则为“单个匹配”,并且模块名包含SYS的日志信息过滤掉。
配置系统日志的输出方向。
配置日志写入到名称为syslog的日志文件。
配置系统日志发送往IPv4地址为192.168.1.20的日志服务器。
配置系统日志写入到内存缓冲区大小为128K(131072字节)。
配置设备管理IP地址。
Device> enable
Device# configure terminal
Device(config)# interface vlan 1
Device(config-if-VLAN 1)# ip address 192.168.1.10 255.255.255.0
Device(config-if-VLAN 1)# exit
开启系统日志功能。
Device(config)# logging on
配置系统日志格式。
# 配置系统日志格式为RFC3164格式。
Device(config)# no service log-format rfc5424
# 配置日志显示格式为标准日志格式。
Device(config)# service standard-syslog
# 时间戳格式为datetime格式,并且开启毫秒信息和年份信息的显示。
Device(config)# service timestamps log datetime year msec
Device(config)# service timestamps debug datetime year msec
# 配置系统日志格式中添加系统名称。
Device(config)# service sysname
# 配置系统日志格式中添加系列号。
Device(config)# service sequence-numbers
配置日志监控功能。
Device(config)# logging userinfo
Device(config)# logging userinfo command-log
# 配置日志信息统计功能。
Device(config)# logging count
# 配置系统日志输出到控制台。
Device(config)# logging console informational
# 配置日志信息输出到控制台的速率为每秒50条。
Device(config)# logging rate-limit console 50
# 配置系统日志输出到监视终端。
Device(config)# logging monitor informational
Device(config)# line vty 0 4
Device(config-line)# monitor
配置用户输入与日志信息输出同步功能。
Device(config-line)#logging synchronous
Device(config-line)#exit
配置性能日志开关开启。
Device(config)# logging performance switch
配置系统日志的过滤功能。
# 配置日志信息的过滤方向为terminal、server两个方向。
Device(config)# logging filter direction server
Device(config)# logging filter direction terminal
# 配置日志的过滤方式为“只过滤”。
Device(config)# logging filter type filter-only
# 配置日志的过滤规则为“单个匹配”,并且模块名包含SYS的日志信息过滤掉。
Device(config)# logging filter rule single-match module SYS
配置系统日志的输出方向。
# 配置日志写入到名称为syslog的日志文件。
Device(config)# logging file flash:syslog debugging
Device(config)# logging flash interval 600
# 配置系统日志发送往IPv4地址为192.168.1.20的日志服务器。
Device(config)# logging server 192.168.1.20
# 配置系统日志写入到内存缓冲区大小为128K(131072字节)。
Device(config)# logging buffered 131072 informational
# 通过ping命令查看设备与日志服务端是三层可通。
Device# ping 192.168.1.20
Sending 5, 100-byte ICMP Echoes to 192.168.1.20, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms
# 通过show logging config命令查看配置结果。
Device# show logging config
Syslog logging: enabled
Console logging: level informational, 82 messages logged
Monitor logging: level informational, 0 messages logged
Buffer logging: level debugging, 83 messages logged
File logging: level debugging, 83 messages logged
File name:syslog.txt, size 128 Kbytes, the 1 file is currently being written
Standard format:true
Timestamp debug messages: datetime
Timestamp log messages: datetime
Sequence-number log messages: enable
Sysname log messages: enable
Count log messages: enable
Trap logging: level debugging, 82 message lines logged,8 fail
logging to 192.168.1.20
Device的配置文件
hostname Device
!
service standard-syslog
service sysname
service sequence-numbers
service timestamps debug datetime msec year
service timestamps log datetime msec year
logging filter direction server
logging filter direction terminal
logging filter rule single-match module SYS
logging rate-limit console 50
logging count
logging userinfo command-log
logging buffered 131072 informational
logging file flash:syslog debugging
logging flash interval 600
logging console informational
logging monitor informational
logging server 192.168.1.20
logging performance switch
!
interface VLAN 1
ip address 192.168.1.10 255.255.255.0
!
end
网络管理员可以通过系统日志中的系统日志了解设备的运行情况,更好的了解设备,管理设备或者定位问题。
RFC5424日志格式组网图
配置设备与服务器之间三层网络可通。
开启系统日志功能。
配置系统日志格式为RFC3164格式。
配置日志上送功能。
配置日志分级上送功能。
配置日志延迟上送功能。
配置日志定时定时上送功能。
配置日志监控功能。
配置日志信息统计功能。
配置系统日志输出到控制台速率为每秒50条。
配置允许在监视终端上显示日志信息。
配置用户输入与日志信息输出同步功能。
配置性能日志开关开启。
配置日志信息的过滤功能。
设置日志信息的过滤方向为terminal、server两个方向。
设置日志信息的过滤方式为“只过滤”。
设备日志信息的过滤规则为“单个匹配”,并且模块名包含SYS的日志信息过滤掉。
配置系统日志的输出方向。
配置日志写入到名称为syslog的日志文件。
配置系统日志发送往IPv4地址为192.168.1.20的日志服务器。
配置系统日志写入到内存缓冲区大小为128K(131072字节)。
配置设备管理IP地址。
Device> enable
Device# configure terminal
Device(config)#interface vlan 1
Device(config-if-VLAN 1)# ip address 192.168.1.10 255.255.255.0
Device(config-if-VLAN 1)# exit
开启系统日志功能。
Device(config)# logging on
配置系统日志格式为RFC5424格式。
Device(config)# service log-format rfc5424
配置日志上送功能。
# 配置延迟上送功能。
Device(config)# logging delay-send terminal
Device(config)# logging delay-send interval 7200
Device(config)# logging delay-send file flash:syslog_ruijie
Device(config)# logging delay-send server 192.168.1.20 mode ftp user admin password admin
# 配置分级上送功能。
Device(config)# logging policy module SYS not-lesser-than 5 direction console
Device(config)# logging policy module SYS 3 direction buffer
# 配置定时上送功能。
Device(config)# logging statistic enable
Device(config)# logging statistic terminal
Device(config)# logging statistic mnemonic TUNNEL_STAT interval 30
配置日志监控功能。
Device(config)# logging userinfo
Device(config)# logging userinfo command-log
# 配置日志信息统计功能。
Device(config)# logging count
# 配置系统日志输出到控制台。
Device(config)# logging console informational
# 配置日志信息输出到控制台的速率为每秒50条。
Device(config)# logging rate-limit console 50
# 配置系统日志输出到监视终端。
Device(config)# logging monitor informational
Device(config)# line vty 0 4
Device(config-line)# monitor
配置用户输入与日志信息输出同步功能。
Device(config-line)# logging synchronous
Device(config-line)# exit
配置性能日志开关开启。
Device(config)# logging performance switch
配置系统日志的过滤功能。
# 配置日志信息的过滤方向为terminal、server两个方向。
Device(config)# logging filter direction server
Device(config)# logging filter direction terminal
# 配置日志的过滤方式为“只过滤”。
Device(config)# logging filter type filter-only
# 配置日志的过滤规则为“单个匹配”,并且模块名包含SYS的日志信息过滤掉。
Device(config)# logging filter rule single-match module SYS
配置系统日志的输出方向。
# 配置日志写入到名称为syslog的日志文件。
Device(config)# logging file flash:syslog debugging
Device(config)# logging flash interval 600
# 配置系统日志发送往IPv4地址为192.168.1.20的日志服务器。
Device(config)# logging server 192.168.1.20
# 配置系统日志写入到内存缓冲区大小为128K(131072字节)。
Device(config)# logging buffered 131072 informational
# 通过ping命令查看设备与日志服务端是三层可通。
Device# ping 192.168.1.20
Sending 5, 100-byte ICMP Echoes to 192.168.1.20, timeout is 2 seconds:
< press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms
# 通过show logging config命令查看配置结果。
Device# show logging config
Syslog logging: enabled
Console logging: level informational, 84 messages logged
Monitor logging: level informational, 0 messages logged
Buffer logging: level debugging, 92 messages logged
File logging: level debugging, 105 messages logged
File name:syslog.txt, size 128 Kbytes, the 1 file is currently being written
Statistic log messages: enable
Statistic log messages to terminal: enable
Delay-send log messages to terminal: enable
Delay-send file name:syslog_ruijie, Current write index:0, Current send index:0, Cycle:7200 seconds
Count log messages: enable
Trap logging: level debugging, 84 message lines logged,10 fail
logging to 192.168.1.20
Delay-send logging: 0 message lines logged
logging to 192.168.1.20 by ftp
Device的配置文件
hostname Device
!
service log-format rfc5424
logging filter direction server
logging filter direction terminal
logging filter rule single-match module SYS
logging rate-limit console 50
logging count
logging userinfo command-log
logging buffered 131072 informational
logging file flash:syslog debugging
logging flash interval 600
logging console informational
logging monitor informational
logging facility local7
logging server 192.168.1.20
logging performance switch
logging policy module SYS not-lesser-than 5 direction console
logging policy module SYS 3 direction buffer
logging statistic enable
logging statistic terminal
logging statistic mnemonic TUNNEL_STAT interval 30
logging delay-send terminal
logging delay-send interval 7200
logging delay-send file flash:syslog_ruijie
logging delay-send server 192.168.1.20 mode ftp user admin password admin
!
interface VLAN 1
ip address 192.168.1.10 255.255.255.0
!
end