事件策略文件存档
总结 配置事件策略以上传相关文件以预定义的存档站点。
事件策略文件存档概述
各种类型的文件在诊断事件和故障排除网络问题方面很有用。当事件策略操作生成输出文件时,您可以将文件存档以进行后续分析。同样,您可能希望从事件发生之时起存档系统文件,包括系统日志文件、核心文件和配置文件。
发生事件时,可将相关文件上传到指定位置进行分析。要从事件策略中存档文件,请配置一个或多个 目标 ,指定文件上传到的存档站点。然后,您将参考事件策略中配置的目的地。当事件策略触发时,它会将文件上传到指定的存档站点。
您可以为事件策略存档操作配置传输延迟。传输延迟允许您指定事件进程(事件)等待的秒数,然后再上传一个或多个文件。传输延迟有助于确保在开始上传之前完全生成大型文件,例如核心文件。
您可以将传输延迟与目标关联并与事件策略操作相关联。如果将传输延迟与目标相关联,传输延迟将适用于使用该目标的所有文件上传操作。您还可以将传输延迟分配给事件策略操作。例如,您可能有多个使用相同目标的事件策略操作,对于其中的一些事件策略操作,您需要传输延迟,而对于其他事件策略操作,您不希望传输延迟。如果为目标配置了传输延迟,并且还为事件策略操作配置了传输延迟,则生成的传输延迟是两个延迟的总和。
瞬时网络问题可能导致文件上传操作失败。如果出于任何原因上传失败,默认情况下,事件策略不会重试上传。但是,当初始上传失败时,您可以配置事件策略以重试文件上传操作指定的次数。您还可以配置每次重试尝试之间的时间间隔。
定义事件策略文件存档的目标
发生事件时,可将相关文件上传到指定位置进行分析。要从事件策略中存档文件,必须首先配置一个或多个 目标 ,指定文件上传至的存档站点。然后,您将参考事件策略中配置的目的地。
要定义目标存档站点,请在层次结构级别中[edit event-options]
包含destinations
语句。
[edit event-options] destinations { destination-name { archive-sites { url <password password>; } transfer-delay seconds; } }
对于每个目标,配置一个或多个存档站点 ULI,即文件上传到的实际站点。如果为给定目标指定多个存档网站 ULI,设备会尝试将文件传输到列表中的第一个存档站点,并且仅在传输到前一站点失败时才使用后续存档站点。如果存档网站需要认证才能登录,则可以为该站点配置纯文本密码。设备将密码作为加密值存储在配置数据库中。
档案网站 URI 是文件 URI、主动或被动 FTP URI、安全 FTP (SFTP) URI 或安全文案 (SCP) URI。还支持本地设备目录(例如 /var/tmp)。指定存档网站 URI 时,不要在 URI 末端添加前斜线 (/)。
-
文件:<//host>/path
-
ftp://username@host:<端口>url 路径
-
pasvftp://username@host:<端口>url 路径
-
sftp://username@host:<端口>url 路径
-
scp://username@host:<端口>url-path
-
<path>/<filename>
您还可以为每个目标定义传输延迟。传输延迟是指事件进程(事件)等待之后将一个或多个文件上传到该目标的秒数。传输延迟有助于确保在开始上传之前完全生成大型文件,例如核心文件。
要定义目标存档站点,事件策略可以上传文件:
配置事件策略以上传文件
您可以配置事件策略以上传现有系统文件或上传事件发生时从调用的事件脚本或操作命令中生成的输出文件。设备将文件上传至为该事件策略操作配置的 destination
语句中引用的位置。您必须指定在层次结构级别上配置的目标 [edit event-options destinations]
名称。
以下示例配置各种事件策略操作以将特定文件上传到现有目标。对于每个事件策略,您还必须配置适当的事件,并包括任何其他必要的语句。
上传系统文件
要配置事件策略以将系统文件上传到配置的目标:
-
配置
upload
事件策略操作,并指定文件以上传和目标站点。您可以包含多个
upload
语句,该filename
语句可以使用 文件名荣耀 来指定多个文件。[edit event-options policy policy-name then] user@host# set upload filename (filename | committed) destination destination-name
以下事件策略操作将上传提交的配置文件,并上传位于 /var/log 目录中的所有文件,并从字符串“消息”开始。
[edit event-options policy policy1 then] user@host# set upload filename committed destination mgmt-archives user@host# set upload filename /var/log/messages* destination mgmt-archives
- (可选)按照“在 上传文件之前配置延迟” 中所述配置传输延迟或重试选项并 配置事件策略以重试文件上传操作
上传命令输出文件
事件策略可以包括 execute-commands
事件策略操作,以执行响应事件的命令,并将命令输出写入文件。要配置事件策略以将命令输出文件上传到配置的目标:
-
在事件策略
execute-commands
操作中,配置目标。[edit event-options policy policy-name then] user@host# set execute-commands destination destination-name
例如:
[edit event-options policy policy1 then] user@host# set execute-commands destination mgmt-archives
-
定义输出文件的文件名中包含的描述性字符串。
[edit event-options policy policy-name then] user@host# set execute-commands output-filename string
例如:
[edit event-options policy policy1 then] user@host# set execute-commands output-filename intf-info
- (可选)按照“在 上传文件之前配置延迟” 中所述配置传输延迟或重试选项并 配置事件策略以重试文件上传操作
上传事件脚本输出文件
当事件策略对事件执行事件脚本时,事件脚本可将输出写入文件。要配置事件策略以将生成的输出文件上传到配置的目标:
-
在事件策略
event-script
操作中,配置目标。[edit event-options policy policy-name then] user@host# set event-script filename destination destination-name
例如:
[edit event-options policy policy1 then] user@host# set event-script get-intf-info destination mgmt-archives
-
定义输出文件的文件名中包含的描述性字符串。
[edit event-options policy policy-name then] user@host# set event-script filename output-filename string
例如:
[edit event-options policy policy1 then] user@host# set event-script get-intf-info output-filename intf-info
- (可选)按照“在 上传文件之前配置延迟” 中所述配置传输延迟或重试选项并 配置事件策略以重试文件上传操作
上传文件的文件名
当事件策略操作上传文件时,每个上传文件的文件名都包含主机名和时间戳,以确保其独一无二。此文件的名称取决于 Junos OS 软件版本。从 Junos OS 14.1R3 版开始,文件名具有以下命名约定:
hostname_YYYYMMDD_HHMMSS_output-filename_index-number
在早期版本中,文件名具有以下命名约定:
hostname_output-filename_YYYYMMDD_HHMMSS_index-number
字符 output-filename 串要么是现有文件的名称,要么是为该事件策略操作配置的 output-filename
语句的值。如果设备在 1 秒内多次触发事件策略,则会将索引号附加到每个文件名,以确保文件名仍然唯一。索引号范围为 001 到 999。
例如,假设在运行 Junos OS 版本 21.1R1 的设备 r1 上配置了rpd-messages
事件策略操作output-filename
。如果事件策略在 1 秒内触发 3 次,文件名将类似于以下内容:
-
r1_20210623_132333_rpd消息
-
r1_20210623_132333_rpd-messages_001
-
r1_20210623_132333_rpd-messages_002
在上传文件之前配置延迟
您可以配置事件策略以上传现有系统文件或上传事件发生时从调用的事件脚本或操作命令中生成的输出文件。对于事件策略上传操作,您可以配置传输延迟,以指定事件进程(事件)等待的秒数,然后上传一个或多个文件。通过配置传输延迟,您可以更好地确保在开始上传之前完全生成大文件,例如核心文件。
您可以将传输延迟与目标关联并与事件策略操作相关联。如果将传输延迟与目标相关联,传输延迟将适用于使用该目标的所有文件上传操作。您还可以将传输延迟分配给事件策略操作。例如,您可能有多个使用相同目标的事件策略操作,对于其中的一些事件策略操作,您需要传输延迟,而对于其他事件策略操作,您不希望传输延迟。
如果为层级目标 [edit event-options destinations destination-name]
配置了传输延迟,并且还为事件策略操作配置了传输延迟,则生成的传输延迟是两个延迟的总和。
Total transfer delay = transfer-delay (destination) + transfer-delay (event-policy-action)
要为目标配置传输延迟:
[edit event-options destinations destination-name] user@host# set transfer-delay seconds
例如,以下配置设置 mgmt-archives 目标的传输延迟为 5 秒。
[edit event-options destinations mgmt-archives] user@host# set transfer-delay 5
要为特定事件策略操作配置传输延迟:
-
在适当的事件策略操作层次结构中,在几秒钟内配置延迟。
[edit event-options policy policy-name then] user@host# set event-script filename destination destination-name transfer-delay seconds
[edit event-options policy policy-name then] user@host# set execute-commands destination destination-name transfer-delay seconds
[edit event-options policy policy-name then] user@host# set upload filename (filename | committed) destination destination-name transfer-delay seconds
例如:
[edit event-options policy policy1 then] user@host# set event-script get-intf-info.py destination mgmt-archives transfer-delay 5
[edit event-options policy policy2 then] user@host# set execute-commands destination mgmt-archives transfer-delay 7
[edit event-options policy policy3 then] user@host# set upload filename committed destination mgmt-archives transfer-delay 3
在以下示例中 some-dest
,活动策略 policy1
和 policy2
。传输延迟为 2 秒与 some-dest
目标相关联,适用于将输出文件上传到目标以执行这两种事件策略。
[edit event-options] policy policy1 { events e1; then { execute-commands { commands { "show version"; } output-filename command-output; destination some-dest; } } policy policy2 { events e2; then { event-script bar.xsl { output-filename event-script-output; destination some-dest; } } } destinations { some-dest { transfer-delay 2; archive-sites { "scp://robot@my.big.com/foo/moo" password "$9$wisoGDjqfQnHqIclMN-HqmP5F"; ## SECRET-DATA "scp://robot@my.little.com/foo/moo" password "$9$uova0RSrlMXNbKMDkPQ9CKM8Lxd"; ## SECRET-DATA } } }
配置事件策略以重试文件上传操作
您可以配置事件策略以上传现有系统文件或上传事件发生时从调用的事件脚本或操作命令中生成的输出文件。瞬时网络问题可能导致文件上传操作失败。如果出于任何原因上传失败,默认情况下,事件策略不会重试上传。但是,您可以配置事件策略来重试文件上传操作。
为给定事件策略操作配置文件上传重试选项。要配置重试选项,请包括 retry-count
和 retry-interval
语句:
retry-count number retry-interval seconds;
地点:
-
retry-count
— 策略在上传失败时重试上传操作的次数。语句的retry-count
默认值为 0,最大值为 10。 -
retry-interval
—每次上传尝试之间的秒数。
要配置事件策略以重试给定事件策略操作的文件上传操作:
retry-count
包括事件策略操作destination
的语句和retry-interval
语句。
[edit event-options policy policy-name then] user@host# set event-script filename destination destination-name retry-count number retry-interval seconds
[edit event-options policy policy-name then] user@host# set execute-commands destination destination-name retry-count number retry-interval seconds
[edit event-options policy policy-name then] user@host# set upload filename (filename | committed) destination destination-name retry-count number retry-interval seconds
例如:
[edit event-options policy policy1 then] user@host# set event-script get-intf-info.py destination mgmt-archives retry-count 5 retry-interval 3
[edit event-options policy policy2 then] user@host# set execute-commands destination mgmt-archives retry-count 10 retry-interval 4
[edit event-options policy policy3 then] user@host# set upload filename committed destination mgmt-archives retry-count 2 retry-interval 10