创建事件规则

Last published : Oct 06, 2026
您可以配置规则来监控特定事件。规则使监控整个基础架构中生成的大量事件变得更加容易。
您可以通过配置具有特定条件的规则并将操作分配给这些规则来筛选一组事件。当生成的事件符合规则中的筛选条件时,将运行与该规则关联的操作。您可以创建筛选器的条件包括:严重性、Citrix Application Delivery Controller (NetScaler) 实例、类别、故障对象、配置命令和消息。
您可以为事件分配以下操作:
  • 发送电子邮件操作:针对符合筛选条件的事件发送电子邮件。
  • 发送陷阱操作:将 SNMP 陷阱发送或转发到外部陷阱目标
  • 运行命令操作:当传入事件符合配置的规则时运行命令。
  • 执行作业操作:针对符合您指定筛选条件的事件运行作业。
  • 抑制操作:在特定时间段内抑制(丢弃)事件。
  • 发送 Slack 通知:针对符合筛选条件的事件,在配置的 Slack 频道上发送通知。
  • 发送 PagerDuty 通知:根据 PagerDuty 配置,针对符合筛选条件的事件发送事件通知。
  • 发送 ServiceNow 通知:针对符合筛选条件的事件自动生成 ServiceNow 事件。
有关更多信息,请参阅 添加事件规则操作
您还可以设置在指定的时间间隔内重新发送通知,直到事件被清除。并且您可以使用特定的主题行、用户消息和附件来自定义电子邮件。
使用规则监控事件
例如,作为管理员,您可能希望监控特定 NetScaler 实例的“高 CPU 使用率”事件,如果这些事件可能导致您的 NetScaler 实例中断。您可以:
  • 创建一个规则来监控实例,并指定一个操作,以便在发生“高 CPU 使用率”类别的事件时向您发送电子邮件通知。
  • 将规则安排在特定时间运行,例如上午 11 点到晚上 11 点之间,这样您就不会在每次生成事件时都收到通知。
配置事件规则涉及以下任务:

步骤 1 - 定义事件规则

导航到 Infrastructure > Events > Rules,然后单击 Add。如果要启用规则,请选中 Enable Rule 复选框。
您可以设置 Event Age 选项来指定 NetScaler® ADM 刷新事件规则的时间间隔(以秒为单位)。
注意:
事件年龄的最小值为 60 秒。如果您将“事件年龄”字段留空,则事件发生后会立即应用事件规则。
根据上述示例,您可能希望在 NetScaler 实例发生“CPU 使用率高”事件持续 60 秒或更长时间时,每次都通过电子邮件收到通知。您可以将事件年龄设置为 60 秒,这样每当您的 NetScaler 实例发生“CPU 使用率高”事件持续 60 秒或更长时间时,您都会收到一封包含事件详细信息的电子邮件通知。
创建事件规则
您还可以按“实例系列”筛选事件规则,以跟踪 NetScaler ADM 从哪个 NetScaler 实例接收到事件。
如果您想包含除星号 (*) 模式匹配之外的正则表达式,请选择“启用带正则表达式匹配的高级筛选器”。

步骤 2 - 选择事件的严重性

您可以创建使用默认严重性设置的事件规则。严重性指定了您要为其添加事件规则的事件的当前严重性。
您可以定义以下严重性级别:严重、主要、次要、警告、清除和信息。
定义严重性级别
注意
您可以为通用事件和高级特定事件配置严重性。要修改 NetScaler ADM 上管理的 NetScaler 实例的事件严重性,请导航到“基础结构 > 事件 > 事件设置”。选择要配置事件严重性的“类别”,然后单击“配置严重性”。分配新的严重性级别,然后单击“确定”。

步骤 3 - 指定事件类别

您可以指定 NetScaler 实例生成的事件类别。所有类别都在 NetScaler 实例上创建。然后将这些类别映射到 NetScaler ADM,用于定义事件规则。选择您要考虑的类别,并将其从“可用”表移动到“已配置”表。
在上述示例中,您必须从显示的表中选择“cpuUsageHigh”作为事件类别。
定义事件类别

步骤 4 - 指定 NetScaler 实例

选择要为其定义事件规则的 NetScaler 实例的 IP 地址。在“实例”部分中,单击“选择实例”。在“选择实例”页面中,选择您的实例,然后单击“选择”。
指定实例

步骤 5 - 选择故障对象

您可以从提供的列表中选择故障对象,也可以添加已生成事件的故障对象。您还可以指定正则表达式来添加故障对象。根据指定的正则表达式,故障对象会自动添加到列表中。故障对象是已生成事件的实体实例或计数器。
重要
要使用正则表达式列出故障对象,请在 步骤 1 中选择“启用带正则表达式匹配的高级筛选器”。
故障对象会影响事件的处理方式,并确保其反映所通知的确切问题。使用此筛选器,您可以快速跟踪故障对象上的问题并确定问题的原因。例如,如果用户存在登录问题,则此处的故障对象是用户名或密码,例如 nsroot。
此列表可以包含所有阈值相关事件的计数器名称、所有实体相关事件的实体名称、所有证书相关事件的证书名称等。
对象列表

步骤 6 - 指定高级筛选器

您可以通过以下方式进一步筛选事件规则:
  • 配置命令 - 您可以指定完整的配置命令,或指定正则表达式来筛选事件。
    您可以根据命令的身份验证状态和/或其执行状态进一步筛选事件规则。例如,对于 NetscalerConfigChange event,键入 [.]*bind system global policy_name[.]*。
    高级配置命令筛选器
  • 消息 - 您可以指定完整的消息描述,或指定正则表达式来筛选事件。
    例如,对于 NetscalerConfigChange 事件,键入 [.]*ns_client_ipaddress :10.122.132.142[.]* or ns_client_ipaddress :\^([.]*10.122.132.142[.]*)。
    高级消息筛选器

步骤 7 - 添加事件规则操作

您可以添加事件规则操作,为事件分配通知操作。当事件满足您在上方设置的已定义筛选条件时,将发送或执行这些通知。您可以添加以下事件操作:
  • 发送电子邮件操作
  • 发送陷阱操作
  • 运行命令操作
  • 运行作业操作
  • 抑制操作
  • 发送 Slack 通知
  • 发送 PagerDuty 通知
  • 发送 ServiceNow 通知

设置电子邮件事件规则操作

当您选择“发送电子邮件操作”事件操作类型时,如果事件满足定义的筛选条件,则会触发一封电子邮件。您必须通过提供邮件服务器或邮件配置文件详细信息来创建电子邮件分发列表,或者您可以选择以前创建的电子邮件分发列表。
由于在 NetScaler ADM 中配置了大量虚拟服务器,您每天可能会收到大量电子邮件。电子邮件具有默认主题行,其中提供有关事件严重性、事件类别和故障对象的信息。但主题行不包含有关这些事件源自的虚拟服务器名称的任何信息。您现在可以选择包含一些附加信息,例如受影响实体的名称、故障对象的名称。
您还可以添加自定义主题行和用户消息,并在传入事件与配置规则匹配时将附件上传到您的电子邮件。
在发送事件通知电子邮件时,您可能希望发送一封测试电子邮件以测试配置的设置。现在,“测试”按钮允许您在配置电子邮件服务器、关联的分布式列表和其他设置后发送测试电子邮件。此功能可确保设置正常工作。
您还可以通过选择“重复电子邮件通知,直到事件清除”复选框来确保所有关键事件都得到处理,并且不会错过任何重要的电子邮件通知,以便为符合您所选条件的事件规则发送重复的电子邮件通知。例如,如果您为涉及磁盘故障的实例创建了事件规则,并且希望在问题解决之前收到通知,则可以选择接收有关这些事件的重复电子邮件通知。
设置电子邮件事件规则操作(/en-us/netscaler-application-delivery-management-software/media/event-rules-send-mails-action.png)

设置陷阱事件规则操作

当您选择“发送陷阱操作”事件操作类型时,SNMP 陷阱将发送或转发到外部陷阱目标。通过定义陷阱分发列表(或陷阱目标和陷阱配置文件详细信息),当事件符合定义的筛选条件时,陷阱消息将发送到特定的陷阱侦听器。

设置运行命令操作

当您选择“运行命令操作”事件操作时,您可以创建可在 NetScaler ADM 上运行的命令或脚本,以处理与特定筛选条件匹配的事件。
您还可以为“运行命令操作”脚本设置以下参数:
参数 说明
$来源 此参数对应于接收到的事件的源 IP 地址。
$类别 此参数对应于在筛选器类别下定义的陷阱类型
$实体 此参数对应于已生成事件的实体实例或计数器。它可以包括所有与阈值相关的事件的计数器名称、所有与实体相关的事件的实体名称以及所有与证书相关的事件的证书名称。
$严重性 此参数对应于事件的严重性。
$故障对象 故障对象会影响事件的处理方式,并确保故障对象反映所通知的确切问题。这可用于快速跟踪问题并识别故障原因,而不是简单地报告原始事件。
注意
在命令执行期间,这些参数将替换为实际值。
例如,假设您希望在负载均衡虚拟服务器状态为 Down 时设置运行命令操作。作为管理员,您可能希望通过添加另一个虚拟服务器来提供快速解决方案。在 NetScaler ADM 中,您可以执行以下操作:
  • 编写脚本 (.sh) 文件。
    以下是一个示例脚本 (.sh) 文件:
    #!/bin/sh
    source=$1
    failureobj=$2
    payload='{"params":{"warning":"YES"},"lbvserver":{"name":"'$failureobj'","servicetype":"HTTP","ipv46":"x.x.x.x","port":"80","td":"","m":"IP","state":"ENABLED","rhistate":"PASSIVE","appflowlog":"ENABLED","
    bypassaaaa":"NO","retainconnectionsoncluster":"NO","comment":""}}'
    url="http://$source/nitro/v1/config/lbvserver"
    curl --insecure -basic -u nsroot:nsroot -H "Content-type: application/json" -X POST -d $payload $url
  • 将 .sh 文件保存到 NetScaler 代理上的任何持久位置。例如,/var。
  • 在 NetScaler ADM 中提供 .sh 文件位置,以便在满足规则条件时运行。
要设置用于创建新虚拟服务器的 运行命令 操作:
  1. 定义规则
  2. 选择事件的严重性
  3. 选择事件类别 entitydown
  4. 选择已配置虚拟服务器的实例
  5. 为虚拟服务器选择或创建故障对象
  6. 在 事件规则操作 下,单击 添加操作,然后从 操作类型 列表中选择 运行命令操作。
  7. 在 命令执行列表 下,单击 添加。
    将显示“创建命令分发列表”页面。
    1. 在 配置文件名称 中,指定您选择的名称
    2. 在 运行命令 中,指定必须运行脚本的 NetScaler 代理位置。例如:/sh/var/demo.sh $source $failureobj。
    3. 选择 追加输出 和 追加错误
      注意
      如果您希望将运行命令脚本时生成的输出和错误(如果有)存储在 NetScaler ADM 服务器日志文件中,则可以启用 追加输出 和 追加错误 选项。如果您不启用这些选项,NetScaler ADM 将丢弃运行命令脚本时生成的所有输出和错误。
    4. 单击 创建。
  8. 在 添加事件操作 页面中,单击 确定。
    添加事件操作
    注意
    如果您希望将运行命令脚本时生成的输出和错误(如果有)存储在 NetScaler ADM 服务器日志文件中,则可以启用“追加输出”和“追加错误”选项。如果您不启用这些选项,NetScaler ADM 将丢弃运行命令脚本时生成的所有输出和错误。

设置 Execute 作业操作

通过创建包含配置作业的配置文件,作业将作为内置作业或自定义作业运行,适用于 NetScaler 和 NetScaler SDX 实例,针对与您指定的筛选条件匹配的事件和警报。
  1. 在“事件规则操作”下,单击“添加操作”,然后从“操作类型”下拉列表中选择“执行作业操作”。
  2. 创建一个包含作业的配置文件,当事件满足定义的筛选条件时,您希望运行该作业。
  3. 创建作业时,请指定配置文件名称、实例类型、配置模板,以及如果作业上的命令失败,您希望执行的操作。
  4. 根据所选的实例类型和配置模板,指定您的变量值,然后单击“完成”以创建作业。
运行作业操作

设置抑制操作

当您选择“抑制操作”事件操作时,您可以配置一个时间段(以分钟为单位),在此期间事件将被抑制或丢弃。您可以至少抑制事件 1 分钟。
设置抑制操作

设置来自 NetScaler ADM 的 Slack 通知

通过在 NetScaler ADM GUI 中提供配置文件名称和 Webhook URL 来配置所需的 Slack 频道。事件通知随后会发送到此频道。您可以配置多个 Slack 频道来接收这些通知。
  1. 在 NetScaler ADM 中,导航到“基础架构 > 事件 > 规则”,然后单击“添加”以创建规则。
  2. 在创建规则页面上,设置规则参数,例如严重性和类别。选择必须监控的实例和故障对象。
  3. 在事件规则操作下,单击添加操作。然后,从操作类型列表中选择发送 Slack 通知,并选择Slack 配置文件列表。
  4. 您还可以通过单击Slack 配置文件列表字段旁边的添加来添加 Slack 配置文件列表。
  5. 键入以下参数以创建配置文件列表:
    1. 配置文件名称。键入要在 NetScaler ADM 上配置的配置文件列表的名称。
    2. 通道名称。键入要发送事件通知的 Slack 通道的名称。
    3. Webhook URL。键入您之前输入的通道的 Webhook URL。传入 Webhook 是一种将来自外部源的消息发布到 Slack 的简单方法。该 URL 在内部链接到通道名称,所有事件通知都发送到此 URL,以便发布到指定的 Slack 通道。Webhook 示例如下:<https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK>
  6. 在添加事件操作窗口中,单击创建,然后单击确定。
注意:
您还可以通过导航到系统 \> 通知 \> Slack 配置文件来添加 Slack 配置文件。单击添加并按照前面部分中的说明创建配置文件。
您可以查看已创建的 Slack 配置文件的状态。
您的事件规则现已创建,其中包含适当的筛选器和定义明确的事件规则操作。

从 NetScaler ADM 设置 PagerDuty 通知

您可以在 NetScaler ADM 中添加 PagerDuty 配置文件作为选项,以根据您的 PagerDuty 配置监控事件通知。PagerDuty 使您能够通过电子邮件、短信、推送通知和注册号码上的电话来配置通知。
在 NetScaler ADM 中添加 PagerDuty 配置文件之前,请确保您已在 PagerDuty 中完成所需的配置。有关更多信息,请参阅PagerDuty 文档。
您可以选择您的 PagerDuty 配置文件作为以下功能的通知选项之一:
  • 事件 – 为 NetScaler 实例生成的事件列表。
  • 许可证 – 当前处于活动状态、即将到期等的许可证列表。
  • SSL 证书 – 添加到 NetScaler 实例的 SSL 证书列表。
在 ADM 中添加 PagerDuty 配置文件:
  1. 使用管理员凭据登录 NetScaler ADM。
  2. 导航到 设置 > 通知 > PagerDuty 配置文件。
  3. 单击添加以创建新配置文件。
  4. 在“创建 PagerDuty 配置文件”页面中:
    1. 提供您选择的配置文件名称。
    2. 输入集成密钥。
      您可以从 PagerDuty 门户获取集成密钥。
    3. 单击创建。
    用例:
    考虑以下场景:
    • 想要将通知发送到您的 PagerDuty 配置文件。
    • 已在 PagerDuty 中将电话呼叫配置为接收通知的选项。
    • 想要获取 NetScaler 事件的电话呼叫警报。
    配置方法:
    1. 导航到 事件 > 规则
    2. 在 创建规则 页面上,配置所有其他参数以创建规则。
    3. 在 创建规则操作 下,单击 添加操作。
      将显示 添加事件操作 页面。
      1. 在 操作类型 下,选择 发送 PagerDuty 通知。
      2. 选择您的 PagerDuty 配置文件,然后单击 确定。
    配置完成后,每当为 NetScaler 实例生成新事件时,您都会收到电话呼叫。通过电话呼叫,您可以决定:
    • 确认事件
    • 将其标记为已解决
    • 升级给其他团队成员

从 NetScaler ADM 自动生成 ServiceNow 事件

您可以通过在 NetScaler ADM GUI 上选择 ServiceNow 配置文件,为 NetScaler ADM 事件自动生成 ServiceNow 事件。您必须在 NetScaler ADM 中选择 ServiceNow 配置文件才能配置事件规则。
在配置事件规则以自动生成 ServiceNow 事件之前,请将 NetScaler ADM 与 ServiceNow 实例集成。有关详细信息,请参阅 配置适用于 ServiceNow 的 ITSM 适配器。
要配置事件规则,请导航到 Events > Rules。
  1. 在“创建规则”页面上,配置所有其他参数以创建规则。
  2. 在“创建规则操作”下,单击“添加操作”。
    将显示“添加事件操作”页面。
    1. 在“操作类型”中,选择“发送 ServiceNow 通知”。
    2. 在“ServiceNow 配置文件”中,从列表中选择“Citrix_Workspace_SN”配置文件。
    3. 单击“确定”。