系统事件的响应自动化

本章介绍如何配置嵌入式事件管理器 (EEM)。

关于 EEM

EEM 服务使您可以调试问题并提供用于故障排除的通用日志记录。这项服务由两个部分组成:EEM 响应或侦听的事件,以及定义操作和 EEM 所响应事件的事件管理器小程序。您可以配置多个事件管理器小程序来响应不同的事件和执行不同的操作。

支持的事件

EEM 支持以下事件:

  • 系统日志 - ASA 使用系统日志消息 ID 标识触发事件管理器小程序的系统日志消息。您可以配置多个系统日志事件,但系统日志消息 ID 可能不会在一个事件管理器小程序内重叠。

  • 计时器 - 可以使用计时器触发事件。对于每个事件管理器小程序,每个计时器只能配置一次。每个事件管理器小程序最多可以有三个计时器。计时器的三种类型如下:

    • 看门狗(定期)计时器在小程序操作完成后的指定时间段后触发事件管理器小程序,并会自动重新启动。

    • 倒数(一次性)计时器在指定时间段后立即触发事件管理器小程序,且通常不会重新启动,除非删除并重新添加它们。

    • 绝对(一天一次)计时器促使事件在每天的指定时间发生一次,并会自动重新启动。时间格式为 hh:mm:ss。

      对于上述类型的每个事件管理器小程序,只能配置一个计时器事件。

  • 无 - 当您使用 CLI 或 ASDM 手动运行事件管理器小程序时,会触发 None 事件。

  • 故障 - 当 ASA 出现故障时,触发故障事件。在某些情况下,会触发强制崩溃:

    如果 ASA 配置为在块耗尽时重新加载,并且 ASA 在配置的持续时间内保持内存不足,则它会发出系统日志并收集故障排除数据。ASA 强制崩溃并触发重新加载过程以释放内存块。在 HA 设置中,在这种情况下,会触发故障转移。在集群设置中,节点离开集群。

    不管 output 命令的值是什么, action 命令都会定向至 crashinfo 文件。输出会在 show tech 命令之前生成。

事件管理器小程序上的操作

当事件管理器小程序被触发时,会执行事件管理器小程序上的操作。每个操作都具有用于指定操作序列的编号。该序列号在事件管理器小程序中必须是唯一的。您可以为一个事件管理器小程序配置多个操作。命令是典型的 CLI 命令,例如 show blocks

输出目标

您可以使用 output 命令将操作输出发送到指定的位置。一次只能启用一个输出值。默认值为 output none 。此值会丢弃 action 命令的任何输出。命令在全局配置模式下作为权限级别为 15(最高)的用户来运行。此命令可能不接受任何输入,因为它处于禁用状态。您可以将 action CLI 命令的输出发送到以下三个位置之一:

  • None - 这是默认位置,会丢弃输出

  • Console - 此位置将输出发送到 ASA 控制台

  • File - 此位置将输出发送到文件。以下四个文件选项可用:

    • Create a unique file - 每次调用事件管理器小程序时,此选项会创建具有唯一名称的新文件

    • Create/overwrite a file - 每次调用事件管理器小程序时,此选项会覆盖指定的文件。

    • Create/append to a file - 每次调用事件管理器小程序时,此选项会附加到指定的文件。如果指定的文件不存在,则会创建文件。

    • Create a set of files - 此选项会创建一组具有唯一名称的文件,每次调用事件管理器小程序时,都会轮换这些文件。

EEM 准则

本节介绍在配置 EEM 之前应检查的准则和限制。

情景模式准则

不支持多情景模式。

其他准则

  • 在发生崩溃期间,ASA 的状态一般是未知的。在这种情况下运行某些命令可能不安全。

  • 事件管理器小程序的名称不能包含空格。

  • 不能修改 None 事件和 Crashinfo 事件参数。

  • 因为系统日志消息会发送到 EEM 中进行处理,因此可能会影响性能。

  • 每个事件管理器小程序的默认输出均为 output none 。要更改此设置,必须输入其他输出值。

  • 只能为每个事件管理器小程序定义一个输出选项。

配置 EEM

EEM 的配置由以下任务组成:

过程


步骤 1

创建事件管理器小应用程序并配置事件

步骤 2

配置操作和操作输出的目标

步骤 3

运行事件管理器小程序

步骤 4

跟踪内存分配和内存使用


创建事件管理器小应用程序并配置事件

要创建事件管理器小程序并配置事件,请执行以下步骤:

过程


步骤 1

在 ASDM 中,依次选择配置 > 设备管理 > 高级 > 嵌入式事件管理器

步骤 2

点击 Add 以显示 Add Event Manager Applet 对话框。

步骤 3

输入小程序的名称(不能包含空格)并对其进行说明。说明最多可包含 256 个字符。如果用引号将说明文本引起来,说明文本可包含空格。

步骤 4

事件区域中点击添加,以显示添加事件管理器小程序事件对话框。

步骤 5

从“类型”下拉列表中选择要配置的事件类型。可用选项为 crashinfoNoneSyslogOnce-a-day timerOne-shot timerPeriodic 计时器。

  • Syslog:输入一条或一系列系统日志消息。如果出现与指定的一条或一系列系统日志消息相匹配的系统日志消息,将会触发事件管理器小程序。(可选)在 occurrences 字段中输入调用事件管理器小程序时系统日志消息必须已出现的次数。默认情况为每 0 秒出现 1 次。有效值为 1 到 4294967295。(可选)在 period 字段中输入要调用操作而必须有系统日志消息出现的时间段(以秒为单位)。此值将事件管理器小程序在配置的时间段内出现的最高频率限制为一次。有效值为 0 到 604800。值 0 表示未定义时间段。

  • Periodic:输入时间段(以秒为单位)。秒数的范围为 1 - 604800。

  • Once-a-day timer:以 hh:mm:ss 为格式输入时间。时间范围为 00:00:00(午夜)到 23:59:59。

  • One-shot timer:输入时间段(以秒为单位)。秒数的范围为 1 - 604800。

  • None:选择此选项可手动调用事件管理器小程序。

  • Crashinfo:选择此选项可在:选择此选项可在 ASA 发生崩溃时触发崩溃事件。


配置操作和操作输出的目标

要配置操作和操作输出的特定发送目标,请执行以下步骤:

过程


步骤 1

点击 Add 以显示 Add Event Manager Applet 对话框。

步骤 2

输入小程序的名称(不能包含空格)并对其进行说明。说明最多可包含 256 个字符。

步骤 3

操作区域中点击添加,以显示添加事件管理器小程序操作对话框。

步骤 4

Sequence # 字段中输入唯一的序列号。有效序列号的范围为 0 到 4294967295。

步骤 5

CLI Command 字段中输入 CLI 命令。命令在全局配置模式下作为权限级别为 15(最高)的用户来运行。此命令可能不接受任何输入,因为它处于禁用状态。

步骤 6

点击 OK 以关闭 Add Event Manager Applet Action 对话框。

新添加的操作将显示在 Actions 列表中。

步骤 7

点击 Add 以打开 Add Event Manager Applet 对话框。

步骤 8

选择一个可用的输出目标选项:

  • Output Location 下拉列表中选择 None 选项,以丢弃 action 命令的任何输出。这是默认设置。

  • Output Location 下拉列表中选择 Console 选项,以将 action 命令的输出发送到控制台。

     

    运行此命令会影响性能。

  • Output Location 下拉列表中选择 File 选项,为调用的每个事件管理器小程序将 action 命令的输出发送到新文件。创建唯一文件选项自动选择为默认设置。

    文件名的格式为 eem-applet-timestamp.log,其中,applet 是事件管理器小程序的名称,timestamp 是注有日期的时间戳,其格式为 YYYYMMDD-hhmmss。

  • Output Location 下拉列表中选择 File 选项,然后从下拉列表中选择 Create a set of files 选项,以创建一组会轮换的文件。

    当要写入新文件时,最旧的文件会被删除,且所有的后续文件都会在写入第一个文件之前进行重新编号。最新的文件以 0 表示,最旧的文件以最高编号表示。轮换值的有效值范围为 2 到 100。文件名格式为 eem-applet-x.log,其中,applet 是小程序的名称,x 是文件编号。

  • Output Location 下拉列表中选择 File 选项,然后从下拉列表中选择 Create/overwrite a file option 选项,以将 action 命令输出写入到一个文件中,每次写入时都会覆盖原有文件。

  • Output Location 下拉列表中选择 File 选项,然后从下拉列表中选择 Create/append a file 选项,以将 action 命令输出写入到一个文件,每次写入时都会附加到原有文件。

步骤 9

点击 OK 以关闭 Add Event Manager Applet 对话框。

指定的输出目标将显示在 Embedded Event Manager 窗格中。


运行事件管理器小程序

要运行事件管理器小程序,请执行以下步骤:

过程


步骤 1

Embedded Event Manager 窗格中,从使用 None 事件配置的列表中选择事件管理器小程序。

步骤 2

点击运行 (Run)


跟踪内存分配和内存使用

要记录内存分配和内存使用情况,请执行以下步骤:

过程


步骤 1

依次选择配置 > 设备管理 > 高级 > 嵌入式事件管理器

步骤 2

点击 Add 以显示 Add Event Manager Applet 对话框。

步骤 3

再次点击 Add 以显示 Add Event Manager Applet Event 对话框。

步骤 4

从下拉列表中选择 memory-logging-wrap

步骤 5

点击 OK 以将其添加到 Events 列表。

步骤 6

再次点击 OK 以将其添加到 Applets 列表。


监控 EEM

请参阅以下命令以监控 EEM:

  • Monitoring > Properties > EEM Applets

    此窗格显示 EEM 小程序列表及其命中次数值。

  • Tools > Command Line Interface

    您可以在此窗格中发出各种非交互式命令并查看结果。

EEM 历史记录

表 1. EEM 历史记录

功能名称

平台版本

说明

嵌入式事件管理器 (EEM)

9.2(1)

EEM 服务使您可以调试问题并提供用于故障排除的通用日志记录。这项服务由两个部分组成:EEM 响应或侦听的事件,以及定义操作和 EEM 所响应事件的事件管理器小程序。您可以配置多个事件管理器小程序来响应不同的事件和执行不同的操作。

引入了以下屏幕:Configuration > Device Management > Advanced > Embedded Event Manager,Monitoring > Properties > EEM Applets

EEM 的内存跟踪

9.4(1)

添加了一项新的调试功能来记录内存分配和内存使用情况,以响应内存日志记录封装事件。

修改了以下屏幕: Configuration > Device Management > Advanced > Embedded Event Manager > Add Event Manager Applet > Add Event Manager Applet Event