本页内容
活动政策和活动通知概述
活动政策的优势
事件策略具有以下优势:
-
通过自动响应系统事件(包括系统日志消息、SNMP 陷阱、机箱告警和内部计时器)提高网络可靠性并最大限度延长网络正常运行时间
-
通过自动执行故障排除任务,缩短故障排除时间并加快解决网络问题的速度
-
减少手动系统监控和干预所需的时间
了解事件策略和事件通知
要诊断设备上的故障或错误情况,您需要有关平台状态的相关信息。您可以从 事件通知派生状态信息。事件通知是系统日志消息和 SNMP 陷阱。称为 事件进程 (eventd) 的 Junos 进程会从其他 Junos 进程接收事件通知,简称为 事件。
及时的诊断和干预可以纠正错误状况并保持设备运行。事件进程收到事件后,可以触发 事件策略。事件策略是 if-then-else 结构,用于指示事件进程选择特定事件,关联事件,并在收到事件后执行一组操作。这些操作可以帮助您诊断故障并采取纠正措施。例如,事件进程可以创建日志文件、将设备文件上传到给定目标、发出操作模式命令、修改配置或调用事件脚本。调用事件脚本时,事件详细信息会以 XML 输入的形式传递到事件脚本。
您可以为一个事件配置要处理的多个策略。策略的执行顺序与它们在配置中的出现顺序一样。您可以为每个策略配置多个操作。操作也会按它们在配置中的出现顺序执行。
在 Junos OS 演化中,策略出现的顺序可能不是它们的执行顺序。因此,行为会发生变化,如果一个策略有 ignore
选项,则不会执行与事件关联的策略。
在 Junos OS 中,如果策略重复,eventd 会引发提交时间警告消息。在 Junos OS 演化中,eventd 不会引发任何警告消息。它将按先到先得的原则接受该策略。
定义事件
事件可以作为 SNMP 陷阱或系统日志消息发出。事件进程接收来自其他 Junos 进程(如路由协议进程 (rpd) 和管理进程 (mgd) 的事件消息。 图 1 显示了事件进程 (eventd) 如何与其他 Junos 进程交互。

创建事件策略时,可以定义一个或多个触发该策略的事件。有多种方式可以确定在策略中使用的事件。您可以使用以下资源探索事件:
-
help syslog
CLI 中的操作模式命令 -
在 CLI 中配置事件策略时的上下文相关帮助
系统 日志浏览器 应用程序允许您搜索给定操作系统和版本支持的标准系统日志消息。
在 CLI 中 help syslog ?
,操作模式命令列出了可以在事件策略中引用的事件。
user@host> help syslog ? Possible completions: <syslog-tag> System log tag ACCT_ACCOUNTING_FERROR Error occurred during file processing ACCT_ACCOUNTING_FOPEN_ERROR Open operation failed on file ...
您可以使用管道 (|
) 符号过滤搜索输出。以下示例列出了可与管道符号一起使用的过滤器:
user@host> help syslog | ? Possible completions: count Count occurrences display Show additional kinds of information except Show only text that does not match a pattern find Search for first occurrence of pattern hold Hold text without exiting the --More-- prompt last Display end of output only match Show only text that matches a pattern no-more Don't paginate output request Make system-level requests resolve Resolve IP addresses save Save output text to file trim Trim specified number of columns from start of line
有关使用管道符号的更多信息,请参阅 CLI 用户指南。
您还可以在配置事件策略时列出事件。要查看可在事件策略中引用的部分事件列表,请发出 set event-options policy policy-name events ?
配置模式命令。
[edit] user@host# set event-options policy policy-name events ? Possible completions: <event> [ Open a set of values acct_accounting_ferror acct_accounting_fopen_error ...
命令输出 set event-options policy policy-name events ?
中未列出可在事件策略中引用的某些系统日志消息。有关在事件策略中引用这些系统日志消息的信息,请参阅 使用非标准系统日志消息触发事件策略。
此外,您还可以在特定时间或时间间隔生成内部事件,并参考事件策略中的事件。有关更多信息,请参阅 生成内部事件以触发事件策略。
您还可以将事件策略配置为针对单个事件或两个或两个以上关联的事件触发事件。有关将事件关联的信息,请参阅 使用关联事件触发事件策略。
在实验室环境中,您可以通过 Junos 记录器实用程序模拟给定设置难以重现的一个或多个事件。通过模拟事件,可以触发和测试以其他方式可能难以测试的事件策略。有关更多信息,请参阅 Junos 记录器实用程序。
事件策略操作
您可以配置事件策略以执行特定操作来响应事件。事件策略可以执行以下一个或多个操作:
忽略事件 — 不为此事件生成系统日志消息,也不处理此事件的任何进一步的策略说明。
上传文件 — 将文件上传到指定目标。您可以指定传输延迟,以便在收到事件后,在配置的传输延迟之后开始上传文件。例如,要上传核心文件,传输延迟可以确保核心文件在上传开始前已完全生成。
执行操作模式命令 — 在收到事件时执行命令。这些命令的 XML 或文本输出存储在一个文件中,然后文件被上传到指定的 URL。您可以在命令中包含变量,使触发事件的数据能够自动包含在命令语法中。
执行配置模式命令 — 执行命令以在收到事件时修改配置。您可以配置事件策略,以使用配置模式命令修改配置,然后提交更新的配置。
执行事件脚本 — 收到事件后执行事件脚本。事件脚本是可扩展样式表语言转换 (XSLT)、样式表语言替代 syntaX (SLAX) 或 Python 脚本,您编写这些脚本用于执行通过 Junos XML 或 Junos XML 协议远程过程调用 (RPC) 提供的任何功能。例如,脚本可以运行操作模式命令,检查命令输出,然后确定下一个适当的操作。此过程可以重复进行,直到确定问题的根源。脚本的输出存储在一个文件中,然后该文件被上传到指定的 URL。您可以在脚本参数中包括变量,以便将触发事件的数据整合到脚本中。此外,您还可以定义自己的参数集,这些参数在调用事件脚本时传递给事件脚本。
引发 SNMP 陷阱。