NetScaler 控制台服务

创建事件规则

可以配置规则以监视特定事件。规则可以更轻松地筛选基础结构中生成的事件。

可以通过为规则配置特定条件及为规则分配操作来过滤一组事件。当生成的事件满足规则中的筛选条件时,将运行与该规则关联的操作。

您可以为以下条件创建过滤器:

  • 严重性
  • Citrix Application Delivery Controller (NetScaler) 实例
  • 类别
  • 失败对象
  • 配置命令
  • 消息

创建事件后,您可以为事件分配操作。有关详细信息,请参阅 添加事件规则操作

例如,作为管理员,您可能需要监视 NetScaler 实例上的“高 CPU 使用率”事件,这可能会导致中断。您可以执行以下任何操作来接收通知:

  • 创建监视实例的规则,并在规则中添加操作以在发生此类事件时接收通知。

  • 安排规则以按特定间隔监视实例。因此,当此类事件在该间隔内发生时,您会收到通知。

下图说明了事件规则的工作流程。

事件如何运作

配置事件规则

要配置事件规则,请导航到基础架构 > 事件 > 规则,然后单击添加。在“创建规则”页面中,执行以下任务:

  1. 指定名称和实例系列

  2. 配置事件年限

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

  4. 指定事件的类别

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

  6. 选择失败对象

  7. 指定高级筛选器

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

步骤 1-指定名称和实例系列

  1. 名称。输入事件规则的名称。

  2. 实例系列。从实例系列下拉列表中选择一个实例系列

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

    指定名称和实例系列

步骤 2-配置事件年限

  1. 事件期限。指定 NetScaler 控制台刷新事件规则的时间间隔(以秒为单位)。

    例如,您希望每当您的 NetScaler 实例出现 60 秒或更长时间的“高 CPU 使用率”事件时发送一封电子邮件。您可以将事件时长设置为 60 秒。现在,每当您的 NetScaler 实例出现 60 秒或更长时间的“高 CPU 使用率”事件时,您都会收到一封电子邮件通知。

    注意:

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

  2. 选择以下选项之一来追踪您的活动:

    • 在达到事件期限之前跳过事件记录。在指定事件期限之前发生的事件不会记录在 NetScaler 控制台服务器数据库中。当达到事件年龄时,事件将记录在数据库中,并触发配置的事件操作。

    • 无论事件持续时间长短,都可立即记录事件。无论指定的事件时长如何,所有事件都记录在 NetScaler 控制台服务器数据库中。达到事件年限后,将触发已配置的事件操作。

    配置事件年限

  3. 启用带有正则表达式匹配的高级过滤器。选择此选项可包括除星号 (*) 模式匹配之外的正则表达式。此选项适用于故障对象、配置命令和消息。

第 3 步-选择事件的严重程度

  • 在“严重性”部分中,为您的事件规则选择严重性。

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

    注意:

    您可以为通用事件和高级特定事件配置严重性。 要修改在 NetScaler 控制台上管理的 NetScaler 实例的事件严重性,请导航到基础架构 > 事件 > 事件设置。选择要为其配置事件严重性的 类别 ,然后单击 配置严重性 。分配新的严重性级别,然后单击确定

    指定事件严重性

步骤 4-指定事件类别

您可以指定 NetScaler 实例生成的事件的类别或类别。所有类别都在 NetScaler 实例上创建。然后,这些类别将映射到可用于定义事件规则的 NetScaler 控制台。

  • 选择要考虑的类别并将其从“可用”表移至“已配置”表。

    在示例中,必须从显示的表格中选择“cpuUtilization”作为事件类别。

    指定事件类别

步骤 5-指定 NetScaler 实例

在“实例”部分中,执行以下操作:

  1. 单击 选择实例。在“选择实例”页面中,选择要为其定义事件规则的 NetScaler 实例的 IP 地址。

  2. 单击 Select(选择)。

    选择 NetScaler 实例

步骤 6-选择失败对象

失败对象是已为其生成事件的实体实例或计数器。

  1. 单击“选择失败对象”。

  2. 在“失效对象”页面中,从列表中选择一个失效对象。单击 Select(选择)。

  3. 要添加失败对象,请在添加失败对象中输入正则表达式。根据指定的正则表达式,失败对象会自动添加到列表中。

    重要:

    要使用正则表达式列出失败对象,请在步骤 1 中选择启用带有正则表达式匹配的高级筛选器

    高级筛选器允许您快速跟踪故障对象上的问题并确定问题的原因。例如,如果用户遇到登录问题,则失败对象是用户名或密码,例如 nsroot

  4. 要添加实体,请从“选择实体”中选择一个实体。

    该列表可以包含所有阈值相关事件的计数器名称、所有实体相关事件的实体名称、证书相关事件的证书名称等。

    选择失败对象

步骤 7-指定高级筛选器

您可以使用高级过滤器进一步筛选事件规则。选择以下过滤器之一:

  • 配置命令 - 指定完整的配置命令,或指定用于筛选事件的正则表达式。

    您还可以按命令的身份验证状态及其执行状态筛选事件规则。例如,对于 NetscalerConfigChange event,请键入 [.]*bind system global policy_name[.]*

    高级配置命令筛选器

  • 消息 - 指定完整的消息描述,或指定正则表达式来筛选事件。

    例如,对于 NetscalerConfigChange 事件,请键入 [.]*ns_client_ipaddress :10.122.132.142[.]* or ns_client_ipaddress :^([.]*10.122.132.142[.]*)

    高级邮件过滤器

重要:

要使用除星号 (*) 模式匹配之外的正则表达式筛选配置命令和消息,请在步骤 1 中选择使用正则表达式匹配启用高级筛选器

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

您可以添加事件规则操作来为事件分配通知操作。当事件满足您在步骤 7 中设置的已定义筛选条件时,就会发送或完成这些通知。

  1. 单击“添加操作”。

  2. 在“添加事件操作”页面中,您可以添加以下事件操作:

发送电子邮件操作

选择“发 送电子邮件操作”时,当事件满足定义的筛选条件时,将触发电子邮件。

  1. 电子邮件分发列表。选择电子邮件分发列表。要添加分发列表,请单击“添加”。

    1. 在“创建电子邮件通讯组列表”页面中,执行以下操作:

      1. 名称。为分发列表添加一个名称。

      2. 电子邮件服务器。选择电子邮件服务器。您也可以添加服务器或编辑现有服务器。

      3. 发件人。添加发件人的电子邮件地址。

      4. 收件人。添加收件人的电子邮件地址。您还可以指定要包含在“抄送”和“密件抄送”列表中的电子邮件地址。

      5. 单击创建

  2. 主题。为您的电子邮件添加主题行,例如受影响实体的名称,即失败对象的名称。此主题行提供有关发生这些事件的虚拟服务器的信息。

    注意:

    如果您不添加主题行,则会显示默认主题行。默认主题行仅提供有关事件严重性、事件类别和失败对象的信息。发生事件的虚拟服务器的名称不可用。

  3. 附件。将附件上载到您的电子邮件中。当传入事件与配置的规则匹配时,将发送此附件。

  4. 测试。配置电子邮件服务器、关联的分布式列表和其他设置后,单击此按钮发送测试电子邮件。此选项允许您测试已配置的设置

  5. 重复电子邮件通知,直到事件被清除。选择此选项可确保不会错过关键事件的电子邮件通知。此选项会重复发送符合您所选条件的事件规则的电子邮件。例如,您为涉及磁盘故障的实例创建了事件规则。如果您想在问题解决之前收到通知,请选择重复接收有关这些事件的电子邮件通知。

    添加事件操作

  6. 单击确定

注意:

您还可以通过导航到“设置”>“通知”>“电子邮件”来添加电子邮件通讯组列表。单击“添加”并创建列表。

Send Trap Action(发送陷阱操作)

选择发送陷阱操作事件操作类型时,SNMP 陷阱将被发送或转发到外部陷阱目标。当事件满足定义的过滤条件时,陷阱消息将发送到特定的陷阱侦听器。

  1. 陷阱分发列表。选择陷阱分发列表(或陷阱目的地和陷阱配置文件详细信息)。要创建陷阱分发列表,请单击“添加”。

  2. 在“创建陷阱分发列表”页面中,执行以下操作:

    1. 配置文件名称。输入配置文件名称。

    2. 陷阱目的地。输入应接收陷阱消息的实例的名称或 IP 地址。

    3. SNMP 陷阱的端口号。输入端口号。

    4. 陷阱社区。输入实例所属的组。

      添加陷阱分发列表

    5. 单击创建

  3. 单击确定

Run Command Action(运行命令操作)

选择“运行命令操作”事件操作 时,您可以为符合特定筛选条件的事件创建命令或脚本,该命令或脚本可在 NetScaler 控制台上运行。

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

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

注意:

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

例如,假设您要在负载平衡虚拟服务器状态为“关闭”时设置运行命令操作。作为管理员,您可能需要通过添加另一台虚拟服务器来提供一种快速的解决方法。在 NetScaler 控制台中,您可以:

  • 编写脚本 (.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 文件保存在代理上的任何永久位置。例如,/var

  • 在 NetScaler 控制台中提供 .sh 文件位置,以便在满足规则条件时运行。

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

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

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

    2. 运行命令。指定必须运行脚本的代理位置。例如:sh/var/demo.sh $source $failureobj

    3. 选择“追加输出”和“追加错误

      注意:

      如果要在 NetScaler 控制台服务器日志文件中存储运行命令脚本时产生的输出和错误(如果有),可以启用“追加输出”和“追加错误”选项。如果您未启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。

    4. 单击创建

  2. 添加事件操作页面中,单击确定

    设置 run 命令操作

    注意:

    如果要在 NetScaler 控制台服务器日志文件中存储运行命令脚本时产生的输出和错误(如果有),可以启用“追加输出”和“追加错误”选项。如果您未启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。

Execute Job Action(执行作业操作)

当您使用配置作业创建配置文件时,作业将作为内置作业运行,或者针对符合您指定的筛选条件的事件和警报,NetScaler 和 NetScaler SDX 实例将作为定制作业运行。

  1. 在“工作配置文件列表”中,选择工作配置文件。要添加列表,请单击“添加”。

  2. 在“创建作业”页面中,执行以下操作:

    1. 选择“作业”。创建配置文件,其中包含要在事件满足定义的筛选条件时运行的作业。指定配置文件名称、实例类型、配置模板以及任务命令失败时要执行的操作。

    2. 指定变量值。根据所选的实例类型和选择的配置模板,指定您的变量值。

    3. 单击“完成”创建作业。

    指定变量值

  3. 单击确定

Suppress Action(阻止操作)

  • 抑制时间中,输入抑制或删除事件的时间段(以分钟为单位)。可以最短阻止事件 1 分钟。

    抑制事件

    注意:

    您还可以将禁止时间配置为 0 分钟,这意味着无限时间。如果您未指定任何时长,则 NetScaler 控制台会将抑制时间视为零且永不过期。

发送 Slack 通知

配置 Slack 频道时,事件通知会发送到该频道。您可以配置许多 Slack 频道来接收这些通知

  1. Slack 配置文件列表中,选择一个 Slack 配置文件。要添加 Slack 配置文件,请单击“添加”。

  2. 创建 Slack 配置文件页面中,执行以下操作:

    1. 配置文件名称。键入要在 NetScaler 控制台上配置的配置文件列表的名称

    2. 频道名称。键入要向其发送事件通知的 Slack 频道的名称。

    3. Webhook URL。键入您输入的频道的 Webhook URL。传入的 Webhook 是将来自外部来源的消息发布到 Slack 的简单方法。URL 在内部链接到频道名称。所有事件通知都将发送到该 URL,然后发布到所选的 Slack 频道。webhook 的一个例子如下: https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK

    4. 单击创建

  3. 单击确定

注意:

您也可以通过导航到“设置”>“通知”>“Slack 配置文件”来添加 Slack 配置文件。单击“添加”并创建配置文件。

发送 PagerDuty 通知

您可以在 NetScaler 控制台中将 PagerDuty 配置文件作为选项添加,以根据您的 PagerDuty 配置监视事件通知。使用 PagerDuty,您可以通过电子邮件、短信、推送通知和电话在注册号码上配置通知。

  1. PagerDuty 配置文件列表中,选择 PagerDuty 配置文件。要添加配置文件,请单击“添加”。

  2. 在“创建 PagerDuty 配置文件”页面中:

    1. 配置文件名称。输入您选择的配置文件名称。

    2. 集成密钥。输入 集成密钥。

      您可以从您的 PagerDuty 门户获取集成密钥。

    3. 单击创建

在 NetScaler 控制台中添加 PagerDuty 配置文件之前,请确保您已在 PagerDuty 中完成所需的配置。有关更多信息,请参阅 PagerDuty 文档

可以选择您的 PagerDuty 配置文件作为获取以下功能通知的选项之一:

  • 事件 — 为 NetScaler 实例生成的事件列表。

  • 许可证 — 当前处于活动状态、即将到期等的许可证列表。

  • SSL 证书 — 添加到 NetScaler 实例的 SSL 证书列表。

使用案例

假设您想执行以下操作的场景:

  • 向您的 PagerDuty 配置文件发送通知。

  • 在 PagerDuty 中将电话配置为一个选项以接收通知。

  • 获取有关 NetScaler 事件的电话提醒。

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

  • 确认事件

  • 将其标记为已解决

  • 上报给其他团队成员

发送 ServiceNow 通知

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

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

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

  2. 单击确定