创建事件规则
可以配置规则以监视特定事件。规则可以更轻松地筛选基础结构中生成的事件。
可以通过为规则配置特定条件及为规则分配操作来过滤一组事件。当生成的事件满足规则中的筛选条件时,将运行与该规则关联的操作。
您可以为以下条件创建过滤器:
- 严重性
- Citrix Application Delivery Controller (NetScaler) 实例
- 类别
- 失败对象
- 配置命令
- 消息
创建事件后,您可以为事件分配操作。有关详细信息,请参阅 添加事件规则操作。
例如,作为管理员,您可能需要监视 NetScaler 实例上的“高 CPU 使用率”事件,这可能会导致中断。您可以执行以下任何操作来接收通知:
-
创建监视实例的规则,并在规则中添加操作以在发生此类事件时接收通知。
-
安排规则以按特定间隔监视实例。因此,当此类事件在该间隔内发生时,您会收到通知。
下图说明了事件规则的工作流程。
配置事件规则
要配置事件规则,请导航到基础架构 > 事件 > 规则,然后单击添加。在“创建规则”页面中,执行以下任务:
步骤 1-指定名称和实例系列
-
名称。输入事件规则的名称。
-
实例系列。从实例系列下拉列表中选择一个实例系列。
您可以按 实例系列 筛选事件规则,以跟踪 NetScaler 控制台从中接收事件的 NetScaler 实例。
步骤 2-配置事件年限
-
事件期限。指定 NetScaler 控制台刷新事件规则的时间间隔(以秒为单位)。
例如,您希望每当您的 NetScaler 实例出现 60 秒或更长时间的“高 CPU 使用率”事件时发送一封电子邮件。您可以将事件时长设置为 60 秒。现在,每当您的 NetScaler 实例出现 60 秒或更长时间的“高 CPU 使用率”事件时,您都会收到一封电子邮件通知。
注意:
事件年限是必填字段。事件持续时间的最小值为 60 秒。如果将“事件时期”字段留空,则事件规则将在事件发生后立即应用。
-
选择以下选项之一来追踪您的活动:
-
在达到事件期限之前跳过事件记录。在指定事件期限之前发生的事件不会记录在 NetScaler 控制台服务器数据库中。当达到事件年龄时,事件将记录在数据库中,并触发配置的事件操作。
-
无论事件持续时间长短,都可立即记录事件。无论指定的事件时长如何,所有事件都记录在 NetScaler 控制台服务器数据库中。达到事件年限后,将触发已配置的事件操作。
-
-
启用带有正则表达式匹配的高级过滤器。选择此选项可包括除星号 (*) 模式匹配之外的正则表达式。此选项适用于故障对象、配置命令和消息。
第 3 步-选择事件的严重程度
-
在“严重性”部分中,为您的事件规则选择严重性。
可以定义以下级别的严重性:Critical(严重)、Major(重大)、Minor(较小)、Warning(警告)、Clear(清除)及 Information(信息)。
注意:
您可以为通用事件和高级特定事件配置严重性。 要修改在 NetScaler 控制台上管理的 NetScaler 实例的事件严重性,请导航到基础架构 > 事件 > 事件设置。选择要为其配置事件严重性的 类别 ,然后单击 配置严重性 。分配新的严重性级别,然后单击确定。
步骤 4-指定事件类别
您可以指定 NetScaler 实例生成的事件的类别或类别。所有类别都在 NetScaler 实例上创建。然后,这些类别将映射到可用于定义事件规则的 NetScaler 控制台。
-
选择要考虑的类别并将其从“可用”表移至“已配置”表。
在示例中,必须从显示的表格中选择“cpuUtilization”作为事件类别。
步骤 5-指定 NetScaler 实例
在“实例”部分中,执行以下操作:
-
单击 选择实例。在“选择实例”页面中,选择要为其定义事件规则的 NetScaler 实例的 IP 地址。
-
单击 Select(选择)。
步骤 6-选择失败对象
失败对象是已为其生成事件的实体实例或计数器。
-
单击“选择失败对象”。
-
在“失效对象”页面中,从列表中选择一个失效对象。单击 Select(选择)。
-
要添加失败对象,请在添加失败对象中输入正则表达式。根据指定的正则表达式,失败对象会自动添加到列表中。
重要:
要使用正则表达式列出失败对象,请在步骤 1 中选择启用带有正则表达式匹配的高级筛选器。
高级筛选器允许您快速跟踪故障对象上的问题并确定问题的原因。例如,如果用户遇到登录问题,则失败对象是用户名或密码,例如
nsroot
。 -
要添加实体,请从“选择实体”中选择一个实体。
该列表可以包含所有阈值相关事件的计数器名称、所有实体相关事件的实体名称、证书相关事件的证书名称等。
步骤 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 中设置的已定义筛选条件时,就会发送或完成这些通知。
-
单击“添加操作”。
-
在“添加事件操作”页面中,您可以添加以下事件操作:
发送电子邮件操作
选择“发 送电子邮件操作”时,当事件满足定义的筛选条件时,将触发电子邮件。
-
电子邮件分发列表。选择电子邮件分发列表。要添加分发列表,请单击“添加”。
-
在“创建电子邮件通讯组列表”页面中,执行以下操作:
-
名称。为分发列表添加一个名称。
-
电子邮件服务器。选择电子邮件服务器。您也可以添加服务器或编辑现有服务器。
-
发件人。添加发件人的电子邮件地址。
-
收件人。添加收件人的电子邮件地址。您还可以指定要包含在“抄送”和“密件抄送”列表中的电子邮件地址。
-
单击创建。
-
-
-
主题。为您的电子邮件添加主题行,例如受影响实体的名称,即失败对象的名称。此主题行提供有关发生这些事件的虚拟服务器的信息。
注意:
如果您不添加主题行,则会显示默认主题行。默认主题行仅提供有关事件严重性、事件类别和失败对象的信息。发生事件的虚拟服务器的名称不可用。
-
附件。将附件上载到您的电子邮件中。当传入事件与配置的规则匹配时,将发送此附件。
-
测试。配置电子邮件服务器、关联的分布式列表和其他设置后,单击此按钮发送测试电子邮件。此选项允许您测试已配置的设置
-
重复电子邮件通知,直到事件被清除。选择此选项可确保不会错过关键事件的电子邮件通知。此选项会重复发送符合您所选条件的事件规则的电子邮件。例如,您为涉及磁盘故障的实例创建了事件规则。如果您想在问题解决之前收到通知,请选择重复接收有关这些事件的电子邮件通知。
-
单击确定。
注意:
您还可以通过导航到“设置”>“通知”>“电子邮件”来添加电子邮件通讯组列表。单击“添加”并创建列表。
Send Trap Action(发送陷阱操作)
选择发送陷阱操作事件操作类型时,SNMP 陷阱将被发送或转发到外部陷阱目标。当事件满足定义的过滤条件时,陷阱消息将发送到特定的陷阱侦听器。
-
陷阱分发列表。选择陷阱分发列表(或陷阱目的地和陷阱配置文件详细信息)。要创建陷阱分发列表,请单击“添加”。
-
在“创建陷阱分发列表”页面中,执行以下操作:
-
配置文件名称。输入配置文件名称。
-
陷阱目的地。输入应接收陷阱消息的实例的名称或 IP 地址。
-
SNMP 陷阱的端口号。输入端口号。
-
陷阱社区。输入实例所属的组。
-
单击创建。
-
-
单击确定。
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 文件位置,以便在满足规则条件时运行。
-
在“命令执行列表”中,单击“添加”。
屏幕上将显示“创建命令分发列表”页面。
-
配置文件名称。指定您选择的名称
-
运行命令。指定必须运行脚本的代理位置。例如:
sh/var/demo.sh $source $failureobj
。 -
选择“追加输出”和“追加错误”
注意:
如果要在 NetScaler 控制台服务器日志文件中存储运行命令脚本时产生的输出和错误(如果有),可以启用“追加输出”和“追加错误”选项。如果您未启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。
-
单击创建。
-
-
在添加事件操作页面中,单击确定。
注意:
如果要在 NetScaler 控制台服务器日志文件中存储运行命令脚本时产生的输出和错误(如果有),可以启用“追加输出”和“追加错误”选项。如果您未启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。
Execute Job Action(执行作业操作)
当您使用配置作业创建配置文件时,作业将作为内置作业运行,或者针对符合您指定的筛选条件的事件和警报,NetScaler 和 NetScaler SDX 实例将作为定制作业运行。
-
在“工作配置文件列表”中,选择工作配置文件。要添加列表,请单击“添加”。
-
在“创建作业”页面中,执行以下操作:
-
选择“作业”。创建配置文件,其中包含要在事件满足定义的筛选条件时运行的作业。指定配置文件名称、实例类型、配置模板以及任务命令失败时要执行的操作。
-
指定变量值。根据所选的实例类型和选择的配置模板,指定您的变量值。
-
单击“完成”创建作业。
-
-
单击确定。
Suppress Action(阻止操作)
-
在抑制时间中,输入抑制或删除事件的时间段(以分钟为单位)。可以最短阻止事件 1 分钟。
注意:
您还可以将禁止时间配置为 0 分钟,这意味着无限时间。如果您未指定任何时长,则 NetScaler 控制台会将抑制时间视为零且永不过期。
发送 Slack 通知
配置 Slack 频道时,事件通知会发送到该频道。您可以配置许多 Slack 频道来接收这些通知
-
在 Slack 配置文件列表中,选择一个 Slack 配置文件。要添加 Slack 配置文件,请单击“添加”。
-
在 创建 Slack 配置文件页面中,执行以下操作:
-
配置文件名称。键入要在 NetScaler 控制台上配置的配置文件列表的名称
-
频道名称。键入要向其发送事件通知的 Slack 频道的名称。
-
Webhook URL。键入您输入的频道的 Webhook URL。传入的 Webhook 是将来自外部来源的消息发布到 Slack 的简单方法。URL 在内部链接到频道名称。所有事件通知都将发送到该 URL,然后发布到所选的 Slack 频道。webhook 的一个例子如下: https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK
-
单击创建。
-
-
单击确定。
注意:
您也可以通过导航到“设置”>“通知”>“Slack 配置文件”来添加 Slack 配置文件。单击“添加”并创建配置文件。
发送 PagerDuty 通知
您可以在 NetScaler 控制台中将 PagerDuty 配置文件作为选项添加,以根据您的 PagerDuty 配置监视事件通知。使用 PagerDuty,您可以通过电子邮件、短信、推送通知和电话在注册号码上配置通知。
-
在 PagerDuty 配置文件列表中,选择 PagerDuty 配置文件。要添加配置文件,请单击“添加”。
-
在“创建 PagerDuty 配置文件”页面中:
-
配置文件名称。输入您选择的配置文件名称。
-
集成密钥。输入 集成密钥。
您可以从您的 PagerDuty 门户获取集成密钥。
-
单击创建。
-
在 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 适配器。
-
在 ServiceNow 配置文件中,从列表中选择 Citrix_Workspace_SN 配置文件。
-
单击确定。