系统日志记录概述
SUMMARY 本节介绍系统日志消息,用于标识负责生成消息的 Junos OS 进程,并简要说明发生的操作或错误。
系统日志概述
Junos OS 会生成系统日志消息(也称为 系统日志消息),以记录设备上发生的事件,包括以下内容:
-
例行操作,例如创建开放式最短路径优先 (OSPF) 协议邻接或用户登录配置数据库。
-
故障和错误情况,例如无法访问配置文件或与对等进程的连接意外关闭。
-
紧急或危急情况,例如设备因温度过高而关闭。
每个系统日志消息都会标识负责生成消息的 Junos OS 进程,并提供所发生操作或错误的简要说明。有关特定系统日志消息的详细信息,请参阅 系统日志浏览器。
要配置设备以记录系统消息,请在 [edit system] 层次结构级别配置 syslog 语句。
在 Junos OS 17.3R1 版中,syslog 事件守护程序处理 IPv4 寻址远程主机的专用管理路由实例中的 fxp0。在 Junos OS 18.1R1 版中,当连接到远程主机或存档站点时,syslog 事件守护程序支持基于 IPv6 的配置,并且 fxp0 会移至专用管理实例。在 Junos OS 18.4R1 版中,syslog 客户端可以通过您在相应层次结构下定义的任何路由实例发送消息。请参阅路由实例 (Syslog)。
本主题介绍 Junos OS 进程和库的系统日志消息,而不是自适应服务 PIC 等 物理接口卡 (PIC) 上的系统日志记录服务。
在 Junos OS 演化版中,每个节点都有标准 journalctl
工具,这是检索和过滤系统日志的接口。系统日志消息将从系统日志中提取。该过程 relay-eventd
在所有节点上运行,并从系统日志中检索事件(基于 syslog 配置)以及不同应用程序的错误消息,并将其转发到进程 master-eventd
。该过程 master-eventd
在主路由引擎上运行,并将日志消息和错误写入磁盘。
使用 系统日志浏览器 应用程序查看或比较不同版本的系统日志消息。
在 Junos OS 演化版中,备份路由引擎上没有 messages
文件。所有备份路由引擎日志都在 messages
主路由引擎节点上的文件中。
默认情况下,Junos OS 演化版会将节点名称附加到系统日志消息中的主机名;Junos OS 不支持。此操作使 Junos OS Evolved 系统日志消息符合 RFC5424 要求。但是,某些监控系统可能无法正确识别 Junos OS 演化型主机名,因为主机名-节点名称组合与主机名清单中的任何主机名不匹配。
从 Junos OS Evolved 20.4R2 版开始,为了确保在监控系统中准确识别 Junos OS Evolved 主机名,请使用 set system syslog alternate-format
配置模式命令。此命令可更改 Junos OS 演化版系统日志消息的格式。节点名称前置到消息中的进程名称,而不是附加到主机名中,从而使监控系统能够正确识别主机名。
例如,Junos OS 系统日志消息不会打印来自 FPC 的系统日志消息中的源进程:
user@mxhost> show log messages Dec 19 13:22:41.959 mxhost chassisd[5290]: CHASSISD_IFDEV_DETACH_FPC: ifdev_detach_fpc(0) Dec 19 13:23:22.900 mxhost fpc2 Ukern event counter Sock_tx init delayed
但是,Junos OS 演化版消息会将节点名称附加到主机名中,并打印来自某个节点的消息(包括 FPC)的源进程:
user@ptxhost-re0> show log messages May 25 18:41:05.375 ptxhost-re0 mgd[16201]: UI_CHILD_STATUS: Cleanup child '/usr/sbin/dot1xd', PID 21322, status 0 May 25 18:42:34.632 ptxhost-fpc0 evo-cda-bt[14299]: Register bt.igp_misc.debug.hdr_length_cnt not found May 25 18:42:34.753 ptxhost-fpc1 evo-cda-bt[14427]: HBM: hbm_gf_register_inst May 25 18:47:14.498 ptxhost-re0 ehmd[5598]: SYSTEM_APP_READY: App is ready re0-ehmd
如果您为 Junos OS 演化版系统日志消息配置了替代格式,则相同的系统日志消息集将改为这样,其主机名本身如下:
user@ptxhost-re0> show log messages May 25 18:41:05.375 ptxhost re0- mgd[16201]: UI_CHILD_STATUS: Cleanup child '/usr/sbin/dot1xd', PID 21322, status 0 May 25 18:42:34.632 ptxhost fpc0- evo-cda-bt[14299]: Register bt.igp_misc.debug.hdr_length_cnt not found May 25 18:42:34.753 ptxhost fpc1- evo-cda-bt[14427]: HBM: hbm_gf_register_inst May 25 18:47:14.498 ptxhost re0- ehmd[5598]: SYSTEM_APP_READY: App is ready re0-ehmd
从 SRX 系列和 NFX 系列设备上的 Junos OS 22.1R1 版和 QFX5130、QFX5200、QFX5220 和 QFX5700 设备上的 Junos OS 演化版 22.2R1 开始,我们使用格式在事件标记 <event>UI_LOGIN_EVENT|UI_LOGOUT_EVENT</event>
中添加了多个事件,其中提供了用于分离事件和生成系统日志消息的选项 (|
)。在这些版本中的早期版本,事件标记使用此 <event>UI_LOGIN_EVENT UI_LOGOUT_EVENT</event>
格式,对于各种过滤器组合 <get-syslog-events> rpc
,系统不会记录。
Junos OS 系统日志记录设施和消息严重性级别
表 1 列出了可以在层级的配置语句 [edit system syslog]
中指定的 Junos OS 系统日志记录功能。
设施(编号) |
事件或错误类型 |
---|---|
|
Junos OS 内核会执行操作并遇到错误。 |
|
用户空间执行操作或遇到错误。 |
|
系统执行操作或遇到错误。 |
|
身份验证和授权尝试。 |
|
FTP 会执行操作或遇到错误。 |
|
网络时间协议执行操作或遇到错误。 |
|
与安全相关的事件或错误。 |
|
与动态流捕获相关的事件。 |
|
本地外部应用程序会执行操作或遇到错误。 |
|
防火墙过滤器执行数据包过滤操作。 |
|
数据包转发引擎会执行操作或遇到错误。 |
|
路由器类型上的指定配置无效。 |
|
更改 Junos OS 配置。 |
|
Junos XML 协议或 NETCONF XML 客户端等客户端在 Junos OS 命令行界面 (CLI) 提示符下发出命令。 |
表 2 列出了可以在层级的配置语句 [edit system syslog]
中指定的严重级别。从 emergency
到 info
的级别按从最高严重程度(对功能影响最大的)到最低的顺序。
与其他严重级别不同,该 none
级别禁用设施的日志记录,而不是显示触发事件对路由功能的影响程度。有关更多信息,请参阅 禁用设施的系统日志记录。
价值 |
严重性级别 |
说明 |
---|---|---|
不适用 |
|
禁用将相关设施日志记录到目标。 |
0 |
|
系统崩溃或其他情况导致路由器停止运行。 |
1 |
|
需要立即更正的情况,例如系统数据库损坏。 |
2 |
|
严重条件,例如硬性错误。 |
3 |
|
通常与紧急、警报和严重级别的错误相比,其后果并不严重。 |
4 |
|
需要监控的条件。 |
5 |
|
非错误但可能需要特殊处理的情况。 |
6 |
|
事件或非感兴趣的错误条件。 |
7 |
|
包括所有严重性级别。 |
Junos OS 默认系统日志设置
表 3 汇总了适用于运行 Junos OS 的所有路由器的默认系统日志设置,并指定在配置中包含哪个语句以覆盖默认值。
设置 |
默认 |
覆盖语句 |
说明 |
---|---|---|---|
消息转发到远程机器的替代工具 |
对于 对于 对于 对于 对于 对于 |
[edit system syslog] host hostname { facility-override facility; } |
|
记录到文件中的消息格式 |
标准 Junos OS 格式,基于 UNIX 格式 |
[edit system syslog] file filename { structured-data; } |
|
已存档集中的最大文件数 |
10 |
[edit system syslog] archive { files number; } file filename { archive { files number; } } |
|
日志文件的最大大小 |
M 系列、MX 系列和 T 系列:1 兆字节 (MB) TX 矩阵:10 MB |
[edit system syslog] archive { size size; } file filename { archive { size size; } } |
|
时间戳格式 |
月、日期、小时、分钟、秒 例如: |
[edit system syslog] time-format format; |
|
可以阅读日志文件的用户 |
|
[edit system syslog] archive { world-readable; } file filename { archive { world-readable; } } |
Junos OS 平台特定的默认系统日志消息
默认情况下,在特定路由器上生成以下消息。要查看其中任一类型的消息,必须按照 Junos OS 最小系统日志记录配置中的说明为消息配置至少一个目标。
要记录 M 系列、MX 系列或 T 系列路由器上的内核进程消息,请将语句
kernel info
包含在相应的层级:[edit system syslog] (console | file filename | host destination | user username) { kernel info; }
在由 TX Matrix 路由器和 T640 路由器组成的路由矩阵上,每台 T640 路由器上的主路由引擎会将所有严重度
info
在和更高级别的消息转发到 TX Matrix 路由器上的主路由引擎。这相当于 TX Matrix 路由器上包括的以下 配置语句 :[edit system syslog] host scc-master { any info; }
从 Junos OS 15.1X49-D10 版和 Junos OS 17.3R1 版开始 同样,在包含 T1600 或 T4000 路由器的 TX Matrix Plus 路由器组成的路由矩阵上,每个 T1600 或 T4000 LCC 上的主路由引擎会将所有严重性均高于
info
或更高级别的消息转发至 TX Matrix Plus 路由器上的主路由引擎。这相当于 TX Matrix Plus 路由器上包括的以下配置语句:注:从用户接口角度来看,路由矩阵显示为单个路由器。TX Matrix Plus 路由器控制路由矩阵中连接到它的所有 T1600 或 T4000 路由器。
[edit system syslog] host sfc0-master { any info; }
解释以标准格式生成的消息
Junos OS 进程或子程序库生成标准格式消息的语法取决于它是否包含以下优先级信息:
当语句
explicit-priority
包含在 [filename] 或 [hostname] 层次结构级别时,系统日志消息的语法如下:timestamp message-source: %facility–severity–TAG: message-text
当定向到控制台或用户,或者不包括用于文件或远程主机的
explicit-priority
语句时,系统日志消息使用以下语法:timestamp message-source: TAG: message-text
表 4 介绍了消息字段。
字段 | 说明 |
---|---|
timestamp |
记录消息的时间。 |
message-source |
生成消息的进程或组件的标识符以及记录消息的路由平台。对于 Junos OS,他的字段包括两个或多个子字段:主机名、进程和进程 ID (PID)。对于 Junos OS Evolved,此字段包括主机名、附加的节点名称、进程名称和 PID。 hostname process[process-ID] |
facility |
指定系统日志消息所属设施的代码。有关代码与设施名称的映射信息,请参阅表:设施代码在优先级信息中报告, 在系统日志消息中包含优先级信息。 |
severity |
表示分配给系统日志消息的严重级别的数字代码。有关代码与严重性名称的映射信息,请参阅表:在优先级信息( 包括系统日志消息中的优先级信息)中报告的严重性级别的数字代码。 |
TAG |
可唯一标识消息的文本字符串,全部采用大写字母,并使用下划线 (_) 分隔单词。标记名称以前缀开头,表示生成软件进程或库。此参考中的条目按此前缀的字母顺序排序。 并非路由平台上的所有进程都会使用标记,因此此字段并不总是显示。 |
message-text |
消息文本。 |
管理主机 OS 系统日志和核心文件
在具有主机 OS 的 Junos OS 交换机上,Junos OS 可能会生成系统日志消息(也称为 系统日志消息),以记录交换机上发生的事件,包括以下内容:
例行操作,例如用户登录配置数据库。
故障和错误情况。
紧急或危急情况,例如由于温度过高而导致交换机断电。
在 OCX 系列交换机上:
系统日志消息会记录在 /var/log/dcpfe.log 主机操作系统的文件中:
当转发守护程序初始化时。
消息被标记为紧急 (LOG_EMERG)。消息的副本也会发送到 /var/log 交换机上的目录。
来自进程的消息在目录中的主机系统上 /var/log 可用。来自主机机箱管理进程的系统日志消息会记录在 lcmd.log 目录中的 /var/log 文件中。
在具有主机操作系统的 QFX 交换机上:
Junos OS 和主机 OS 会记录系统和处理事件的日志消息,并在某些系统故障时生成核心文件。
这些文件存储在 /var/log(用于日志消息)和 /var/tmp 或 /var/crash 等目录中,具体取决于交换机上运行的主机操作系统类型。
出于诊断目的,您可以从交换机上的 Junos OS CLI 访问这些主机 OS 系统日志和核心文件。您还可以清理主机操作系统存储临时日志和其他文件的目录。
本主题包含以下部分:
查看主机 OS 系统上的日志文件
要查看在主机操作系统上创建的日志文件列表,请输入以下命令:
user@switch> show app-engine logs
将日志文件从主机系统复制到交换机
要将日志文件从主机操作系统复制到交换机,请输入以下命令:
user@switch> request app-engine file-copy log from-jhost source to-vjunos destination
例如,要将 lcmd 日志文件复制到交换机,请输入以下命令:
user@switch> request app-engine file-copy log from-jhost lcmd.log to-vjunos /var/tmp
查看主机 OS 系统上的核心文件
要查看在主机 OS 系统上生成和存储的核心文件列表,请输入以下命令:
user@switch> show app-engine crash
列表可能类似于此示例输出:
Compute cluster: default-cluster Compute node: default-node Crash Info ========== total 13480 -rw-r--r-- 1 root root 178046 Feb 14 23:08 localhost.lcmd.26653.1455520135.core.tgz -rw-r--r-- 1 root root 4330343 Feb 15 00:45 localhost.dcpfe.7155.1455525926.core.tgz -rw-r--r-- 1 root root 4285901 Feb 15 01:49 localhost.dcpfe.25876.1455529782.core.tgz -rw-r--r-- 1 root root 4288508 Feb 15 02:39 localhost.dcpfe.713.1455532774.core.tgz -rw-r--r-- 1 root root 264079 Feb 15 17:02 localhost.lcmd.1144.1455584540.core.tgz
将核心文件从主机系统复制到交换机
要将核心文件从主机操作系统复制到交换机,请输入以下命令:
user@switch> request app-engine file-copy crash from-jhost source to-vjunos destination-dir-or-file-path
当目标 Junos OS 路径是目录时,默认使用源文件名。要重命名目标位置的文件,请将目标参数输入包含所需文件名的完整路径。
例如,要将 localhost.lcmd.26653.1455520135.core.tgz 核心存档文件复制到交换机,请输入以下命令:
user@switch> request app-engine file-copy crash from-jhost localhost.lcmd.26653.1455520135.core.tgz to-vjunos /var/tmp
要查看交换机上的结果,请输入以下命令:
user@switch> show system core-dumps re0: -------------------------------------------------------------------------- -rw-r--r-- 1 root field 178046 Feb 15 17:15 /var/tmp/localhost.lcmd.26653.1455520135.core.tgz total files: 1
清理主机操作系统上的临时文件
要删除在主机操作系统上创建的临时文件,请输入以下命令:
user@switch> request app-engine cleanup
例如,在具有 Linux 主机操作系统的交换机上,以下示例输出显示对存储在 /var/tmp 中的临时文件进行清理:
Compute cluster: default-cluster Compute node: default-node Cleanup (/var/tmp) =======
info
或更高级别的消息转发至 TX Matrix Plus 路由器上的主路由引擎。