将系统日志消息定向到远程目标
指定要包含在日志中的消息的设施和严重性
每个系统日志消息都属于一个工具,该工具将由同一源(如软件进程)生成或涉及类似条件或活动(如认证尝试)的消息组合在一起。每条消息还预先分配了一个 严重性级别,该级别指示触发事件对路由平台功能的影响程度。
为设施和目标配置日志记录时,请为每个设施指定严重性级别。来自设施的评级为该级别及更高级别的消息将记录到以下目标:
[edit system syslog] (console | file filename | host destination | user username) { facility severity ; }
有关目标的更多信息,请参阅 将系统日志消息定向到用户终端和将 系统日志消息定向到控制台。
要将属于多个设施的消息记录到特定目标,请将每个设施和关联的严重性指定为目标语句集中的单独语句。
表 1 列出了可在层次结构级别的 [edit system syslog]
配置语句中指定的 Junos OS 系统日志记录工具。
设备 |
事件或错误的类型 |
---|---|
|
全部(来自所有设施的消息) |
|
身份验证和授权尝试 |
|
对 Junos OS 配置的更改 |
|
路由器类型的指定配置无效 |
|
系统进程执行的操作或遇到的错误 |
|
与动态流捕获相关的事件 |
|
在系统日志消息中包括优先级和功能 |
|
本地外部应用程序执行的操作或遇到的错误 |
|
防火墙过滤器执行的数据包过滤操作 |
|
FTP 进程执行的操作或遇到的错误 |
|
在 Junos OS 命令行界面 (CLI) 提示符下发出的命令,或者由客户端应用程序(如 Junos XML 协议或 NETCONF XML 客户端)发出的命令 |
|
Junos OS 内核执行的操作或遇到的错误 |
|
网络时间协议进程执行的操作或遇到的错误 |
|
数据包转发引擎执行的操作或遇到的错误 |
|
安全相关事件或错误 |
|
用户空间进程执行的操作或遇到的错误 |
表 2 列出了可以在层次结构级别的 [edit system syslog]
配置语句中指定的严重性级别。从 emergency
到的 info
级别按从最高严重性(对功能影响最大)到最低的顺序排列。
与其他严重性级别不同,该 none
级别禁用设施日志记录,而不是指示触发事件对路由功能的影响程度。有关更多信息,请参阅 禁用设施的系统日志记录。
value |
严重性级别 |
Description |
---|---|---|
不适用 |
|
禁用将关联设施记录到目标 |
0 |
|
系统崩溃或导致路由器停止运行的其他情况 |
1 |
|
需要立即更正的情况,例如系统数据库损坏 |
2 |
|
关键情况,如硬错误 |
3 |
|
与紧急、警报和严重级别的错误相比,错误条件的后果通常更严重 |
4 |
|
需要监控的条件 |
5 |
|
不是错误但可能需要特殊处理的情况 |
6 |
|
感兴趣的事件或非错误条件 |
7 |
|
包括所有严重性级别 |
将系统日志消息定向到日志文件
要将系统日志消息定向到本地路由引擎目录中的文件 /var/log ,请在层次结构级别包含 file
语句 [edit system syslog]
:
[edit system syslog] file filename { facility severity; archive <archive-sites (ftp-url <password password>)> <files number> <size size> <start-time "YYYY-MM-DD.hh:mm"> <transfer-interval minutes> <world-readable | no-world-readable>; explicit-priority; match "regular-expression"; structured-data { brief; } }
有关设施和严重性级别的列表,请参阅 指定要包含在日志中的消息的设施和严重性。
为防止日志文件过大,默认情况下,Junos OS 系统日志记录实用程序会将消息写入定义大小的一系列文件。通过包含 archive
该语句,您可以为所有日志文件或特定日志文件配置文件数、文件最大大小以及可以读取这些文件的人员。有关更多信息,请参见 指定日志文件大小、编号和存档属性。
有关以下语句的信息,请参阅指示的部分:
explicit-priority
- 请参阅在 系统日志消息中包括优先级信息match
- 请参阅 使用字符串和正则表达式优化记录的消息集structured-data
- 请参阅 以结构化数据格式记录消息
将系统日志消息定向到用户终端
要在一个或多个特定用户(或所有用户)登录到本地路由引擎时将系统日志消息定向到终端会话,请在层次结构级别包含 user
以下语句 [edit system syslog]
:
[edit system syslog] user (username | *) { facility severity; match "regular-expression"; }
指定一个或多个 Junos OS 用户名,用空格分隔多个值,或使用星号 (*
) 表示登录到本地路由引擎的所有用户。
有关日志记录设施和严重性级别的列表,请参阅 指定要包含在日志中的消息的设施和严重性。有关语句 match
的信息,请参阅 使用字符串和正则表达式优化记录的消息集。
将系统日志消息定向到控制台
要将系统日志消息定向到本地路由引擎的控制台,请在层次结构级别包含 console
语句 [edit system syslog]
:
[edit system syslog] console { facility severity; }
有关日志记录设施和严重性级别的列表,请参阅 指定要包含在日志中的消息的设施和严重性。
将系统日志消息定向到远程计算机或其他路由引擎
要将系统日志消息定向到远程计算机或其他路由引擎,请在层次结构级别包含 host
以下语句 [edit system syslog]
:
[edit system syslog] host (hostname | other-routing-engine) { facility severity; explicit-priority; facility-override facility; log-prefix string; match "regular-expression"; source-address source-address; structured-data { brief; } } source-address source-address;
要将系统日志消息定向到远程计算机,请包含 host
hostname 用于指定远程计算机的 IP 版本 4 (IPv4) 地址、IP 版本 6 (IPv6) 地址或完全限定主机名的语句。远程计算机必须运行标准 syslogd
实用程序。我们不建议将消息定向到其他瞻博网络设备。在定向到远程计算机的每条系统日志消息中,本地 路由引擎 的主机名显示在时间戳之后,以指示它是消息的来源。
要将系统日志消息定向到已安装两个路由引擎且正在运行的设备上的其他路由引擎,请包含语句 host other-routing-engine
。该语句不会自动相互,因此,如果您希望路由引擎相互定向消息,则必须将其包含在每个路由引擎配置中。在定向到其他路由引擎的每条消息中,字符串 re0
或 re1
显示在时间戳后,以指示消息的来源。
有关要在语句下 host
配置的日志记录设施和严重性级别的列表,请参阅 指定要包含在日志中的消息的设施和严重性。
要在每条消息中记录设施和严重性级别信息,请包含 explicit-priority
该语句。有关详细信息,请参阅 在系统日志消息中包含优先级信息。
有关语句 match
的信息,请参阅 使用字符串和正则表达式优化记录的消息集。
将消息定向到远程计算机时,可以包含语句以 source-address
指定消息中报告的设备的 IP 地址作为其源。在每个 host
语句中,包括 facility-override
用于分配备用设施的语句和 log-prefix
用于向每条消息添加字符串的语句。您可以包含该语句, structured-data
以启用以 IETF 系统日志消息格式将结构化系统日志消息转发到远程系统日志服务器。
为定向到远程目标的系统日志消息指定备用源地址
要指定在将消息定向到远程计算机时要在 系统日志 消息中报告的源路由器,请在层次结构级别包含 source-address
以下语句 [edit system syslog]
:
[edit system syslog] source-address source-address;
source-address
是在其中一个路由器接口上配置的有效 IPv4 或 IPv6 地址。该地址在定向到层次结构级别语句[edit system syslog]
中host hostname
指定的所有远程计算机的消息中报告,但不在定向到其他路由引擎的消息中报告。
将文本字符串添加到定向到远程目标的系统日志消息
要向定向到远程计算机或其他路由引擎的每条系统日志消息添加文本字符串,请在层次结构级别包含 log-prefix
以下语句 [edit system syslog host]
:
[edit system syslog host (hostname | other-routing-engine)] facility severity; log-prefix string;
字符串可以包含除等号 ( = ) 和冒号 ( : ) 之外的任何字母数字或特殊字符。它也不能包含空格字符;不要将字符串括在引号 (“ ”) 中以尝试在其中包含空格。
将系统日志消息写入日志时,Junos OS 系统日志记录实用程序会自动在指定的字符串后附加冒号和空格。字符串插入到生成消息的路由引擎标识符之后。
以下示例演示如何将字符串 M120 添加到所有消息以指示路由器是 M120 路由器,并将消息定向到远程计算机 hardware-logger.mycompany.com:
[edit system syslog] host hardware-logger.mycompany.com { any info; log-prefix M120; }
当这些配置语句包含在名为 origin1 的 M120 路由器上时,系统登录 hardware-logger.mycompany.com 中的消息如下所示:
Mar 9 17:33:23 origin1 M120: mgd[477]: UI_CMDLINE_READ_LINE: user ‘root’, command ‘run show version’
更改定向到远程目标的系统日志消息的备用设施名称
分配给记录在本地路由器或交换机上的消息的某些设施具有特定于 Junos OS 的名称(请参阅 Junos OS 系统日志记录工具)。在建议的配置中,在层次结构级别指定的 [edit system syslog host hostname]
远程计算机不是瞻博网络路由器或交换机,因此其 syslogd 实用程序无法解释 Junos OS 特定名称。要使标准 syslogd 实用程序能够在将消息定向到远程计算机时处理来自这些设施的消息,请使用标准 localX
设施名称而不是特定于 Junos OS 的设施名称。
定向到远程目标的系统日志消息的默认设施 在用于的 Junos OS 特定设施名称旁边列出了默认备用设施名称。
远程计算机上的 syslogd 实用程序以相同的方式处理属于设施的所有消息,而不考虑消息的来源(瞻博网络路由器或交换机或远程计算机本身)。例如,路由器配置中的以下语句称为从设施到authorization
远程机器的直接消息 monitor.mycompany.comlocal-router
:
[edit system syslog] host monitor.mycompany.com { authorization info; }
本地 authorization
设施的默认替代设施也是 authorization
。如果 上的 monitor
syslogd 实用程序配置为将属于设施 authorization
的消息写入文件 /var/log/auth-attempts,则该文件包含用户登录 local-router
时生成的消息和用户登录到 monitor
时生成的消息。尽管源计算机的名称显示在每个系统日志消息中,但混合来自多台计算机的消息可能会使分析文件内容 auth-attempts
变得更加困难。
为了便于将消息与每个源分开,可以为定向到 monitor
上local-router
生成的所有消息分配备用工具。然后,您可以对 syslogd 实用程序进行 monitor
配置,以使用替代工具将消息写入与自身生成的 monitor
消息不同的文件。
要更改用于定向到远程计算机的所有消息的工具,请在层次结构级别包含 facility-override
该语句 [edit system syslog host hostname]
:
[edit system syslog host hostname] facility severity; facility-override facility;
通常,指定远程计算机上尚未使用的备用设施(如其中一个 localX
设施)是有意义的。在远程计算机上,还必须配置 syslogd 实用程序以所需的方式处理消息。
设施覆盖语句的设施列出了 可以在语句中 facility-override
指定的设施。
建议不要在[edit system syslog host other-routing-engine]
层次结构级别包含语句facility-override
。将消息定向到其他路由引擎时,不必使用备用设施名称,因为其 Junos OS 系统日志记录实用程序可以解释 Junos OS 特定名称。
以下示例说明如何将本地路由器上生成的错误级别或更高的所有消息记录到名为 monitor.mycompany.com 的远程计算机上的 local0 设施中:
[edit system syslog] host monitor.mycompany.com { any error; facility-override local0; }
以下示例说明如何配置位于加利福尼亚州的路由器和位于纽约的路由器,以将消息发送到名为 central-logger.mycompany.com 的单个远程计算机。来自加利福尼亚的消息被分配到备用设施点 local0,来自纽约的消息被分配给备用设施点 local2。
将加利福尼亚路由器配置为聚合 local0 设施中的消息:
[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local0; }
将纽约路由器配置为聚合 local2 设施中的消息:
[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local2; }
然后,在中央记录器上,您可以配置系统日志记录实用程序,以将来自 local0 设施的消息写入文件 change-log ,并将来自 local2 设施的消息写入文件 new-york-config。
定向到远程目标的系统日志消息的默认功能
表 3 在使用该设施的 Junos OS 特定设施名称旁边列出默认备用设施名称。对于未列出的设施点,默认备用名称与本地设施点名称相同。
Junos OS 特定本地设施 |
定向到远程目标时的默认功能 |
---|---|
更新日志 |
local6 |
冲突日志 |
local5 |
dfc |
local1 |
防火墙 |
local3 |
交互式命令 |
local7 |
PFE |
local4 |
定向到远程目标的系统日志消息的备用设施
表 4 列出了可以在语句中 facility-override
指定的设施。
设备 |
Description |
---|---|
|
身份验证和授权尝试 |
|
系统进程执行的操作或遇到的错误 |
|
FTP 进程执行的操作或遇到的错误 |
|
Junos OS 内核执行的操作或遇到的错误 |
|
当地设施编号 0 |
|
当地设施编号 1 |
|
当地设施编号 2 |
|
当地设施编号 3 |
|
当地设施编号 4 |
|
当地设施编号 5 |
|
当地设施编号 6 |
|
当地设施编号 7 |
|
用户空间进程执行的操作或遇到的错误 |
建议不要在[edit system syslog host other-routing-engine]
层次结构级别包含语句facility-override
。将消息定向到其他路由引擎时,不必使用备用设施名称,因为其 Junos OS 系统日志记录实用程序可以解释 Junos OS 特定名称。
示例:为定向到远程目标的系统日志消息分配备用设施
将在本地路由平台上生成的错误级别或更高级别的所有消息记录到远程计算机上名为 的设施中local0
:monitor.mycompany.com
[edit system syslog] host monitor.mycompany.com { any error; facility-override local0; }
配置位于加利福尼亚州的路由平台和位于纽约的路由平台,以将消息发送到名为 central-logger.mycompany.com 的单个远程计算机。来自加利福尼亚的消息被分配到替代设施点 local0,来自纽约的消息被分配到替代设施点 local2。
配置加利福尼亚路由平台以聚合设施中的
local0
消息:[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local0; }
配置纽约路由平台以聚合设施中的
local2
消息:[edit system syslog] host central-logger.mycompany.com { change-log info; facility-override local2; }
然后 central-logger,
,可以将系统日志记录实用程序配置为将消息从设施写入 local0
文件 california-config ,并将消息从设施写入 local2
文件 new-york-config。
将消息从基于 TX Matrix 路由器的路由矩阵直接发送到远程目标
您可以配置由 TX Matrix 路由器和 T640 路由器组成的路由矩阵,以将系统日志记录消息定向到远程计算机或每个路由器上的其他路由引擎,就像在单机箱系统上一样。host
在 TX Matrix 路由器的层次结构级别包含[edit system syslog]
语句:
[edit system syslog] host (hostname | other-routing-engine) { facility severity; explicit-priority; facility-override facility; log-prefix string; match "regular-expression"; } source-address source-address;
TX Matrix 路由器以与单机箱系统相同的方式将消息定向到远程计算机或其他路由引擎,可选语句(explicit-priority
、 facility-override
、 log-prefix
、 match
和 source-address
)也与单机箱系统具有相同的效果。
要使 TX Matrix 路由器在将源自 T640 路由器的消息定向到远程目标时包含优先级信息,还必须在[edit system syslog host scc-master]
层次结构级别包含explicit-priority
语句。
该 other-routing-engine
语句不与从 T640 路由器到 TX Matrix 路由器的消息转发交互。例如,如果在插槽 0 ()re0
中的路由引擎配置中包含语句, re0
则每个 T640 路由器上的路由引擎仅向其 re1
平台上的路由引擎发送消息。它也不会将消息直接发送到 re1
TX Matrix 路由器上的路由引擎。
由于 TX Matrix 路由器上的配置适用于 T640 路由器,因此任何具有直接访问互联网的接口的 T640 路由器也会将消息定向到远程计算机。其后果包括:
如果 T640 路由器配置为将消息转发到 TX Matrix 路由器(如默认配置所示),则远程计算机将收到某些消息的两个副本:一个直接来自 T640 路由器,另一个来自 TX Matrix 路由器。重复哪些消息取决于本地日志记录和转发消息的严重性是否相同。有关更多信息,请参阅 配置到 TX Matrix 路由器的消息转发。
如果在层次结构级别配置
[edit system syslog]
语句source-address
,则路由矩阵中的所有路由器都会在定向到远程计算机的消息中报告相同的源地址。这是合适的,因为路由矩阵作为单个路由器运行。如果包含该
log-prefix
语句,则来自路由矩阵中所有路由器的消息将包含相同的文本字符串。不能使用该字符串来区分路由矩阵中的路由器。
将消息从基于 TX Matrix Plus 路由器的路由矩阵直接发送到远程目标
从用户接口角度来看,路由矩阵显示为单个路由器。TX Matrix Plus 路由器(也称为交换机结构机箱 SFC)控制路由矩阵中的所有 T1600 或 T4000 路由器,也称为 ine-card 机箱 LCC)。
您可以配置由连接 T1600 或 T4000 LCC 的 TX Matrix Plus 路由器组成的路由矩阵,以将系统日志记录消息定向到远程计算机或每个路由路由器上的其他路由引擎,就像在单机箱系统上一样。host
在 SFC 的层次结构级别包括[edit system syslog]
语句:
[edit system syslog] host (hostname | other-routing-engine) { facility severity; explicit-priority; facility-override facility; log-prefix string; match "regular-expression"; } source-address source-address;
TX Matrix Plus 路由器将消息定向到远程计算机或其他路由引擎的方式与单机箱系统相同,可选语句 (explicit-priority
、 facility-override
、 log-prefix
、 match
和 source-address
) 也与单机箱系统具有相同的效果。
要使 TX Matrix Plus 路由器在将源自连接的 T1600 或 T4000 LCC 的消息定向到远程目标时包含优先级信息,还必须在[edit system syslog host sfc0-master]
层次结构级别包含explicit-priority
语句。
语句 other-routing-engine
不会与从连接的 T1600 或 T4000 LCC 到 SFC 的消息转发交互。例如,如果在插槽 0 ()re0
中的路由引擎配置中包含语句, re0
则每个连接的 T1600 或 T4000 LCC 上的路由引擎只会向其路由器上的路由引擎发送 re1
消息。它也不会将消息直接发送到 re1
SFC 上的路由引擎。
由于 SFC 上的配置适用于连接的 T1600 或 T4000 LCC,因此任何具有直接访问互联网接口的 LCC 也会将消息定向到远程计算机。其后果包括:
如果 LCC 配置为将消息转发到 SFC(如默认配置中所示),则远程计算机将收到某些消息的两个副本:一个直接来自 T1600 或 T4000 LCC,另一个来自 SFC。重复哪些消息取决于本地日志记录和转发消息的严重性是否相同。有关更多信息,请参阅 配置到 TX Matrix Plus 路由器的消息转发。
如果在层次结构级别配置
[edit system syslog]
语句source-address
,则路由矩阵中的所有路由器都会在定向到远程计算机的消息中报告相同的源地址。这是合适的,因为路由矩阵充当单个路由路由器。如果包含该
log-prefix
语句,则来自路由矩阵中所有路由器的消息将包含相同的文本字符串。不能使用该字符串来区分路由矩阵中的路由器。