您可以配置规则来监控特定事件。 规则使得监控基础设施中生成的大量事件变得更加容易。
您可以通过配置具有特定条件的规则并为规则分配操作来过滤一组事件。 当生成的事件满足规则中的过滤条件时,将运行与该规则关联的操作。 您可以创建过滤器的条件包括:严重性、Citrix Application Delivery Controller (NetScaler) 实例、类别、故障对象、配置命令和消息。
您可以为事件分配以下操作:
发送电子邮件操作:针对符合过滤条件的事件发送电子邮件。
发送陷阱操作:将 SNMP 陷阱发送或转发到外部陷阱目的地
运行命令操作:当传入事件满足配置的规则时运行命令。
执行作业操作:针对符合您指定的过滤条件的事件运行作业。
抑制动作:抑制特定时间段内的事件。
发送 Slack 通知:在配置的 Slack 频道上发送符合过滤条件的事件通知。
发送 PagerDuty 通知:根据符合过滤条件的事件的 PagerDuty 配置发送事件通知。
发送 ServiceNow 通知:为符合过滤条件的事件自动生成 ServiceNow 事件。
有关更多信息,请参阅 添加事件规则操作
您还可以按照指定的时间间隔重新发送通知,直到事件被清除。 您可以使用特定的主题行、用户消息和附件自定义电子邮件。
例如,作为管理员,如果“高 CPU 使用率”事件可能导致 NetScaler 实例中断,您可能希望监控特定 NetScaler 实例的“高 CPU 使用率”事件。 你可以:
创建规则来监控实例并指定当发生“高 CPU 使用率”类别的事件时向您发送电子邮件通知的操作。
安排规则在特定时间运行,例如上午 11 点到晚上 11 点之间,这样每次有事件发生时您就不会收到通知。
配置事件规则涉及以下任务:
导航到 基础设施 >事件 > 规则,然后单击 添加。 如果您想启用您的规则,请选中 启用规则 复选框。
您可以设置 事件年龄 选项来指定 NetScaler 控制台刷新事件规则的时间间隔(以秒为单位)。
笔记:
事件年龄的最小值为 60 秒。 如果将 事件年龄 字段留空,则事件发生后将立即应用事件规则。
根据上面的示例,您可能希望每次 NetScaler 实例出现持续 60 秒或更长时间的“高 CPU 使用率”事件时通过电子邮件收到通知。 您可以将事件年龄设置为 60 秒,这样每次您的 NetScaler 实例出现持续 60 秒或更长时间的“高 CPU 使用率”事件时,您都会收到一封包含该事件详细信息的电子邮件通知。
您还可以通过 实例系列 过滤事件规则,以跟踪 NetScaler 控制台从中接收事件的 NetScaler 实例。
如果要包含除星号 (*) 模式匹配之外的正则表达式,请选择 启用带有正则表达式匹配的高级过滤器。
您可以创建使用默认严重性设置的事件规则。 严重性指定您想要添加事件规则的事件的当前严重性。
您可以定义以下严重性级别:严重、严重、轻微、警告、清除和信息。
笔记
您可以配置通用事件和高级特定事件的严重性。 要修改 NetScaler 控制台上管理的 NetScaler 实例的事件严重性,请导航到 基础设施 >事件 > 事件设置。 选择要配置事件严重性的 类别 ,然后单击 配置严重性。 分配一个新的严重性级别并单击 OK。
您可以指定 NetScaler 实例生成的事件的类别。 所有类别均在 NetScaler 实例上创建。 然后,这些类别与 NetScaler 控制台进行映射,可用于定义事件规则。 选择您想要考虑的类别并将其从 可用 表移动到 已配置 表。
在上面的示例中,您必须从显示的表中选择“cpuUsageHigh”作为事件类别。
选择要为其定义事件规则的 NetScaler 实例的 IP 地址。 在 Instances 部分,单击 Select Instances。 在 选择实例 页面中,选择您的实例,然后单击 选择。
您可以从提供的列表中选择一个故障对象,也可以添加已生成事件的故障对象。 您还可以指定正则表达式来添加失败对象。 根据指定的正则表达式,失败对象会自动添加到列表中。 失败对象是已生成事件的实体实例或计数器。
重要的
要使用正则表达式列出失败对象,请在 步骤 1中选择 使用正则表达式匹配启用高级过滤器。
故障对象会影响事件的处理方式并确保它反映所通知的确切问题。 使用此过滤器,您可以快速跟踪故障对象的问题并找出问题的原因。 例如,如果用户出现登录问题,那么这里的失败对象就是用户名或密码,例如 nsroot
。
此列表可以包含所有阈值相关事件的计数器名称、所有实体相关事件的实体名称、证书相关事件的证书名称等等。
您可以通过以下方式进一步过滤事件规则:
配置命令 - 您可以指定完整的配置命令,或者指定正则表达式来过滤事件。
您可以根据命令的身份验证状态和/或执行状态进一步过滤事件规则。 例如,对于 NetscalerConfigChange 事件
,键入 [.]*bind system global policy_name[.]*
。
消息 - 您可以指定完整的消息描述,或指定正则表达式来过滤事件。
例如,对于 NetscalerConfigChange
事件,键入 [.]*ns_client_ipaddress :10.122.132.142[.]* 或 ns_client_ipaddress :^([.]*10.122.132.142[.]*)
。
您可以添加事件规则操作来为事件分配通知操作。 当事件满足您上面设置的定义过滤条件时,就会发送或执行这些通知。 您可以添加以下事件操作:
发送电子邮件操作
发送陷阱操作
运行命令操作
运行作业操作
抑制行动
发送 Slack 通知
发送 PagerDuty 通知
发送 ServiceNow 通知
当您选择发送电子邮件操作事件操作类型时,当事件满足定义的过滤条件时会触发电子邮件。 您必须通过提供邮件服务器或邮件配置文件详细信息来创建电子邮件分发列表,或者您可以选择之前创建的电子邮件分发列表。
由于 NetScaler 控制台中配置了大量虚拟服务器,您可能每天会收到大量电子邮件。 电子邮件有一个默认主题行,提供有关事件的严重性、事件的类别和故障对象的信息。 但主题行不包含有关这些事件源自的虚拟服务器名称的任何信息。 您现在可以选择包含一些附加信息,如受影响实体的名称、故障对象的名称。
您还可以添加自定义主题行和用户消息,并在传入事件与配置的规则匹配时将附件上传到您的电子邮件。
在发送事件通知电子邮件时,您可能需要发送一封测试电子邮件来测试配置的设置。 现在,您可以通过“测试”按钮在配置电子邮件服务器、相关分发列表和其他设置后发送测试电子邮件。 此功能可确保设置正常工作。
您还可以确保解决所有关键事件并且不会错过任何重要的电子邮件通知,方法是选中 重复电子邮件通知直到事件被清除 复选框,为符合您所选条件的事件规则发送重复的电子邮件通知。 例如,如果您为涉及磁盘故障的实例创建了事件规则,并且希望在问题解决之前收到通知,则可以选择接收有关这些事件的重复电子邮件通知。
当您选择 发送陷阱操作 事件操作类型时,SNMP 陷阱将被发送或转发到外部陷阱目的地。 通过定义陷阱分发列表(或陷阱目标和陷阱配置文件详细信息),当事件满足定义的过滤条件时,陷阱消息将被发送到特定的陷阱监听器。
当您选择 运行命令操作 事件操作时,您可以为符合特定过滤条件的事件创建一个可在 NetScaler 控制台上运行的命令或脚本。
您还可以为 运行命令操作 脚本设置以下参数:
范围 | 描述 |
$source | 该参数对应接收事件的源IP地址。 |
$category | 此参数对应于过滤器类别下定义的陷阱类型 |
$entity | 此参数对应于已生成事件的实体实例或计数器。 它可以包括所有阈值相关事件的计数器名称、所有实体相关事件的实体名称以及所有证书相关事件的证书名称。 |
$severity | 该参数对应于事件的严重性。 |
$failureobj | 故障对象会影响事件的处理方式,并确保故障对象反映所通知的确切问题。 这可以用来快速追踪问题并找出失败的原因,而不是简单地报告原始事件。 |
笔记
在命令执行期间,这些参数将被替换为实际值。
例如,假设您想要在负载平衡虚拟服务器状态为 Down时设置运行命令操作。 作为管理员,您可能需要考虑通过添加另一个虚拟服务器来提供快速的解决方法。 在 NetScaler 控制台中,您可以:
编写脚本(.sh)文件。
以下是示例脚本(.sh)文件:
/bin/sh
源=$1
故障对象=$2
有效载荷='{"params":{"warning":"YES"},"lbvserver":{"name":"'$failureobj'","servicetype":"HTTP","ipv46":"xxxx","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 "内容类型:application/json" -X POST -d $payload $url
<!--NeedCopy-->
将 .sh 文件保存在 NetScaler 代理上的任何持久位置。 例如, /var
。
提供 NetScaler 控制台中 .sh 文件的位置,以便在满足规则条件时运行。
要设置 运行命令 操作以创建新的虚拟服务器:
定义规则
选择事件的严重程度
选择事件类别 entitydown
选择已配置虚拟服务器的实例
为虚拟服务器选择或创建故障对象
在 事件规则操作下,单击 添加操作 并从 操作类型 列表中选择 运行命令操作 。
在 命令执行列表下,单击 添加。
系统显示“创建命令分发列表”页面。
在 配置文件名称中,指定您选择的名称
在 运行命令中,指定必须运行脚本的 NetScaler 代理位置。 例如: /sh/var/demo.sh $source $failureobj
。
选择 附加输出 和 附加错误
笔记
如果您想在 NetScaler 控制台服务器日志文件中存储运行命令脚本时生成的输出和错误(如果有),可以启用 Append Output 和 Append Errors 选项。 如果不启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。
单击 创建。
在 添加事件操作 页面中,单击 确定。
笔记
如果您想在 NetScaler 控制台服务器日志文件中存储运行命令脚本时生成的输出和错误(如果有),可以启用 Append Output 和 Append Errors 选项。 如果不启用这些选项,NetScaler 控制台将丢弃运行命令脚本时生成的所有输出和错误。
执行
作业操作通过创建包含配置作业的配置文件,作业将作为 NetScaler 和 NetScaler SDX 实例的内置作业或自定义作业运行,用于符合您指定的过滤条件的事件和警报。
在 事件规则操作下,单击 添加操作 并从 操作类型 下拉列表中选择 执行作业操作 。
创建一个配置文件,其中包含您想要在事件满足定义的过滤条件时运行的作业。
创建作业时,指定配置文件名称、实例类型、配置模板以及作业命令失败时要执行的操作。
根据所选的实例类型和所选的配置模板,指定变量值并单击 完成 来创建作业。
当您选择 抑制操作 事件操作时,您可以配置一个时间段(以分钟为单位),在该时间段内抑制或删除事件。 您至少可以抑制该事件 1 分钟。
通过在 NetScaler 控制台 GUI 中提供配置文件名称和 webhook URL 来配置所需的 Slack 频道。 事件通知随后会发送到该频道。 您可以配置多个 Slack 频道来接收这些通知
在 NetScaler 控制台中,导航到Infrasturcture > Events > Rules,然后单击Add以创建规则。
在 创建规则页面上,设置严重性和类别等规则参数。 选择必须监控的实例和故障对象。
在事件规则操作下,单击添加操作。 然后,从操作类型 列表中选择发送 Slack 通知,然后选择 Slack 个人资料列表。
您也可以点击 Slack Profile List 字段旁的 Add 添加 Slack 资料列表。
键入以下参数来创建概要文件列表:
个人资料名称。 键入要在 NetScaler 控制台上配置的配置文件列表的名称
频道名称。 键入要发送事件通知的 Slack 频道的名称。
Webhook URL。 输入您之前输入的频道的 Webhook URL。 传入 Webhook 是一种将消息从外部来源发布到 Slack 的简单方法。 该 URL 内部链接到频道名称,所有事件通知都将发送到此 URL 以发布在指定的 Slack 频道上。 Webhook 的示例如下: https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK
单击 创建 并在 添加事件操作 窗口中单击 确定 。
笔记:
您还可以通过导航至 System > Notifications > Slack Profiles来添加 Slack 配置文件。 单击 添加 并按照前面部分所述创建配置文件。
您可以查看已创建的 Slack 配置文件的状态。
您的事件规则现已创建,具有适当的过滤器和明确定义的事件规则操作。
您可以在 NetScaler 控制台中添加 PagerDuty 配置文件作为选项,以根据您的 PagerDuty 配置监视事件通知。 PagerDuty 使您能够通过电子邮件、短信、推送通知和注册号码上的电话配置通知。
在 NetScaler 控制台中添加 PagerDuty 配置文件之前,请确保已完成 PagerDuty 中所需的配置。 有关更多信息,请参阅 PagerDuty 文档。
您可以选择 PagerDuty 配置文件作为获取以下功能通知的选项之一:
事件 – 为 NetScaler 实例生成的事件列表。
许可证 – 当前有效、即将过期等的许可证列表。
SSL 证书 – 添加到 NetScaler 实例的 SSL 证书列表。
要在 NetScaler 控制台中添加 PagerDuty 配置文件:
使用管理员凭据登录 NetScaler 控制台。
导航到 设置 > 通知 > PagerDuty 配置文件。
单击 添加 以创建新的配置文件。
在创建 PagerDuty 配置文件页面中:
提供您选择的配置文件名称。
输入 集成密钥。
您可以从 PagerDuty 门户获取集成密钥。
单击 创建。
用例:
考虑以下场景:
想要向您的 PagerDuty 个人资料发送通知。
已在 PagerDuty 中将电话呼叫配置为接收通知的选项。
想要获取 NetScaler 事件的电话警报。
配置方法:
导航到 事件 > 规则
在 创建规则 页面上,配置所有其他参数以创建规则。
在 创建规则操作下,单击 添加操作。
显示 添加事件操作 页面。
在 操作类型下,选择 发送 PagerDuty 通知。
选择您的 PagerDuty 配置文件并单击 OK。
配置完成后,每当NetScaler实例产生新事件时,您都会接到电话。 通过电话,您可以决定:
确认事件
标记为已解决
升级至另一个团队成员
您可以通过在 NetScaler 控制台 GUI 上选择 ServiceNow 配置文件来为 NetScaler 控制台事件自动生成 ServiceNow 事件。 您必须在 NetScaler 控制台中选择 ServiceNow 配置文件来配置事件规则。
在配置事件规则以自动生成 ServiceNow 事件之前,请将 NetScaler 控制台与 ServiceNow 实例集成。 有关更多信息,请参阅 为 ServiceNow 配置 ITSM 适配器。
要配置事件规则,请导航至 Events > Rules。
在 创建规则 页面上,配置所有其他参数以创建规则。
在 创建规则操作下,单击 添加操作。
显示 添加事件操作 页面。
在 操作类型中,选择 发送 ServiceNow 通知。
在 ServiceNow Profile中,从列表中选择 Citrix_Workspace_SN 配置文件。
单击 确定。