Application Delivery Management

创建事件规则

可以配置规则以监视特定事件。规则可以更轻松地监视整个基础架构中生成的大量事件。

可以通过为规则配置特定条件及为规则分配操作来过滤一组事件。当生成的事件满足规则中的筛选条件时,将运行与该规则关联的操作。您可以创建筛选器的条件包括:严重性、Citrix Application Delivery Controller (NetScaler) 实例、类别、故障对象、配置命令和消息。

可以为事件分配以下操作:

  • 发送电子邮件操作:针对符合筛选条件的事件发送电子邮件。

  • 发送陷阱操作:向外部陷阱目标发送或转发 SNMP 陷阱

  • 运行命令操作:当传入事件满足配置的规则时运行命令。

  • 执行作业操作:运行作业适用于与您指定的筛选条件匹配的事件。

  • 隐藏操作:在特定时间段内禁止删除事件。

  • 发送 Slack 通知:在配置的 Slack 频道上发送符合筛选条件的事件的通知。

  • 发送 PagerDuty 通知:根据符合筛选条件的事件的 PagerDuty 配置发送事件通知。

  • 发送 ServiceNow 通知:为符合筛选条件的事件自动生成 ServiceNow 事件。

有关详细信息,请参阅 添加事件规则操作

您还可以设置以指定的时间间隔重新发送通知,直到清除了事件。您还可以使用特定的主题行、用户消息和附件自定义电子邮件。

使用规则监视事件

例如,作为管理员,如果特定 NetScaler 实例的“高 CPU 使用率”事件可能会导致 NetScaler 实例中断,则您可能希望监视这些事件。您可以:

  • 创建规则以监视实例,并指定在发生“高 CPU 使用率”类别的事件时向您发送电子邮件通知的操作。

  • 将规则安排在特定时间(例如上午 11 点到晚上 11 点之间)运行,这样就不会在每次生成事件时通知您。

配置事件规则涉及以下任务:

  1. 定义规则

  2. 选择规则检测的事件的严重性

  3. 指定事件的类别

  4. 指定应用规则的 NetScaler 实例

  5. 选择失败对象

  6. 指定高级筛选器

  7. 指定规则检测到事件时采取的操作

步骤 1-定义事件规则

导航到 基础架构 > 事件 > 规则,然后单击 添加。如果要启用规则,请选中 启用规则 复选框。

您可以设置“事件时限”选项来指定 NetScaler ADM 刷新事件规则的时间间隔(以秒为单位)。

注意:

事件持续时间的最小值为 60 秒。如果将“事 件时 间”字段保留为空,则事件发生后立即应用事件规则。

根据上面的示例,每当 NetScaler 实例发生 60 秒或更长时间的“高 CPU 使用率”事件时,您可能希望收到电子邮件通知。您可以将事件时间设置为 60 秒,这样,每当 NetScaler 实例发生“高 CPU 使用率”事件持续 60 秒或更长时间时,您都会收到一封包含该事件详细信息的电子邮件通知。

创建事件规则

您还可以按 实例系列 筛选事件规则,以跟踪 NetScaler ADM 从中接收事件的 NetScaler 实例。

如果要包含星号 (*) 模式匹配以外的正则表达式,请选择“使用正则表达式匹配启用高级筛选器”。

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

可以创建使用默认严重性设置的事件规则。“Severity”(严重性)指定要为其添加事件规则的事件的当前严重性。

可以定义以下级别的严重性:Critical(严重)、Major(重大)、Minor(较小)、Warning(警告)、Clear(清除)及 Information(信息)。

定义严重级别

注意

您可以为通用事件和高级特定事件配置严重性。要修改在 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-添加事件规则操作

您可以添加事件规则操作来为事件分配通知操作。当某个事件满足您在上面设置的已定义过滤条件时,将会发送或执行这些通知。您可以添加以下事件操作:

  • 发送电子邮件操作

  • Send Trap Action(发送陷阱操作)

  • Run Command Action(运行命令操作)

  • 运行作业操作

  • Suppress Action(阻止操作)

  • 发送 Slack 通知

  • 发送 PagerDuty 通知

  • 发送 ServiceNow 通知

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

当您选择“发送电子邮件操作”事件操作类型时,当事件满足定义的筛选条件时,将触发电子邮件。您必须通过提供邮件服务器或邮件配置文件详细信息来创建电子邮件分发列表,也可以选择以前创建的电子邮件分发列表。

由于 NetScaler ADM 中配置了大量虚拟服务器,因此您每天可能会收到大量电子邮件。这些电子邮件有一个默认的主题行,提供有关事件严重性、事件类别和失败对象的信息。但是主题行没有包含有关这些事件源自的虚拟服务器名称的任何信息。现在,您可以选择添加一些其他信息,例如受影响实体的名称、故障对象的名称。

您还可以添加自定义的主题行和用户消息,并在传入事件与配置的规则匹配时将附件上载到您的电子邮件中。

在发送事件通知的电子邮件时,您可能希望发送测试电子邮件来测试配置的设置。现在,“测试”按钮允许您在配置电子邮件服务器、关联的分布式列表和其他设置后发送测试电子邮件。此功能可确保设置正常工作。

您还可以选中“在事件被清除之前重复发送电子邮件通知”复选框,针对符合所选条件的事件规则重复发送电子邮件通知,从而确保所有关键事件都得到解决,不会错过任何重要的电子邮件通知。例如,如果为涉及磁盘故障的实例创建了事件规则,并希望在问题解决之前一直收到通知,可以选择接收有关那些事件的重复电子邮件通知。

设置电子邮件事件规则操

设置陷阱事件规则操作

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

设置运行命令操作

选择“运行命令操作”事件操作 时,可以创建可在 NetScaler ADM 上针对匹配特定筛选条件的事件运行的命令或脚本。

您还可以为运行命令操作脚本设置以下参数:

   
参数 说明
$source 此参数对应于接收的事件的源 IP 地址。
$category 此参数对应于过滤器类别下定义的陷阱类型。
$entity 此参数对应于已为其生成事件的实体实例或计数器。它可以包含所有阈值相关事件的计数器名称、所有实体相关事件的实体名称、所有证书相关事件的证书名称。
$severity 此参数对应于事件的严重性。
$failureobj 故障对象会影响事件的处理方式,并确保故障对象反映所通知的确切问题。这可以用于快速追查问题以及确定失败的原因,而不是仅仅报告原始事件。

注意

在命令执行过程中,这些参数将替换为实际值。

例如,假设您要在负载平衡虚拟服务器状态为“关闭”时设置运行命令操作。作为管理员,您可能需要考虑通过添加另一个虚拟服务器来提供一种快速的解决方法。在 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
    
     <!--NeedCopy-->
    
  • 将 .sh 文件保存在 NetScaler ADM 代理上的任何永久位置。例如,/var

  • 在 NetScaler ADM 中提供要在满足规则条件时运行的 .sh 文件位置。

要设置用于创建新虚拟服务器的“运行命令”操作,请执行以下操作:

  1. 定义规则

  2. 选择事件的严重性

  3. 选择事件类别 en titydown

  4. 选择配置了虚拟服务器的实例

  5. 为虚拟服务器选择或创建故障对象

  6. 在“事件规则操作”下,单击“添加操作”,然后从“操作类型”列表中选择“运行命令操作”。

  7. 在“命令执行列表”下,单击“添加”。

    屏幕上将显示“创建命令分发列表”页面。

    1. 配置文件名称中,指定您选择的名称

    2. 运行命令中,指定必须在其中运行脚本的 NetScaler ADM 代理位置。例如:/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 中,导航到Infrastructure > 事件 > 规则,然后单击添加以创建规则。

  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 通知

        PagerDuty 通知

      2. 选择您的 PagerDuty 配置文件,然后单击确定

        创建 PagerDuty 配置文件

    配置完成后,每当为 NetScaler 实例生成新事件时,您都会收到一个调用。通过调用,您可以决定:

    • 确认事件

    • 将其标记为已解决

    • 上报给其他团队成员

从 NetScaler ADM 自动生成 ServiceNow 事件

通过在 NetScaler ADM GUI 上选择 ServiceNow 配置文件,您可以为 NetScaler ADM 事件自动生成 ServiceNow 事件。您必须在 NetScaler ADM 中选择 ServiceNow 配置文件才能配置事件规则。

在配置事件规则以自动生成 ServiceNoW 事件之前,请将 NetScaler ADM 与 ServiceNow 实例集成。有关详细信息,请参阅为 ServiceNow 配置 ITSM 适配器

要配置事件规则,请导航到 事件 > 规则

  1. 创建规则 页面上,配置所有其他参数以创建规则。

  2. 在“创建规则操作”下,单击“添加操作”。

    屏幕上 将显示“添加事件操作”页面。

    1. 操作类型中,选择 发送 ServiceNow 通知

    2. ServiceNow 配置文件中,从列表中选择 Citrix_Workspace_SN 配置文件。

    3. 单击确定

创建事件规则