本主题逐步介绍配置自定义警示通知所需完成的 UI 屏幕操作。



NSX Advanced Load Balancer 定义了一个可靠的事件集合,其默认通知是警示日志中的一个条目。管理员可以使用以下一项或多项其他操作替换或扩充默认行为:

  • 发送电子邮件。

  • 发送 Syslog 事件。

  • 生成 SNMP 陷阱。

  • 运行 ControlScript 以执行自定义操作。

要更全面地了解警示过程,请参阅警示概览

步骤 1 - 警示配置

导航到操作 > 警示 > 警示配置页面。此页面显示默认警示配置列表,这些配置是定义何时必须生成警示的触发器。尽管默认系统警示配置是可编辑的,但无法将其删除。

在此页面中,可以创建新的警示配置,也可以选择编辑现有警示配置。例如,假设需要自定义现有 Apic-Bad-Credentials 警示配置。将更改默认警示操作 (System-Alert-Level-High)。

步骤 2:警示操作

如上所示,警示配置表中会显示编辑图标

单击编辑图标将显示编辑警示配置面板。选择现有警示操作之一,或通过单击警示操作下拉菜单创建新的警示。





为新警示操作提供描述性名称,如下所示:



如果不希望 NSX Advanced Load Balancer 在事件发生时在警示日志中输入条目,请选中仅常规外部警示复选框。使用此选项时,警示不会存储在 NSX Advanced Load Balancer 中,也不会通过通知显示在 UI 本地。

警示级别:选择NSX Advanced Load Balancer UI 中显示的警示严重性。

根据需要输入四个操作选项的详细信息。

对于电子邮件,为操作命名并提供“收件人:”和“抄送:”列表。

要成功发送电子邮件,NSX Advanced Load Balancer 可能需要在 UI 的操作 > 通知 > 电子邮件部分中进行其他系统级别配置。



对于 Syslog,选择一个名称。确定 Syslog 服务器。对于每个服务器,指定 IP 地址主机名称,并选择一个端口



对于 SNMP 陷阱服务器,输入名称。通过提供 IP 地址(或主机名)和社区详细信息来定义 SNMP 陷阱服务器。



对于 ControlScript,请上载包含 Python 代码的文本文件,或者直接在提供的滚动窗口中输入该文件。



以上屏幕截图中的窗口大小太小,无法显示整个 ControlScript。完整的 ControlScript 如下。它会打印传递到 ControlScript 的参数。

 #!/usr/bin/python
 import os
 import sys
 import json
 from avi.sdk.avi_api import ApiSession

 def ParseAviParams(argv):
      if len(argv) != 2:
           return
      alert_dict = json.loads(argv[1])
      print str(alert_dict)
 def DisableVirtualService(vs_name):
     # Get session on the basis of authentication token
     token=os.environ.get('API_TOKEN')
     user=os.environ.get('USER')
     tenant=os.environ.get('TENANT')
     with ApiSession("localhost", user, token=token, tenant=tenant) as session:
         # Get the virtualservice objct of name myVirtualService
         vs_obj = session.get_object_by_name('virtualservice', vs_name)
         # Update the object
         if vs_obj:
             vs_obj['enabled'] = False
         # Save the object
         session.put('virtualservice/%s' %vs_obj['uuid'], data=json.dumps(vs_obj))

 if __name__ == "__main__":
     ParseAviParams(sys.argv)
     DisableVirtualService('myVirtualService')

传递到 ControlScript 的参数

  • Name:调用 ControlScript 的警示的名称。

  • Level:为其调用 ControlScript 的警示级别(高、中、低)。

  • Object UUID:对其引发警示的对象的 NSX Advanced Load Balancer UUID。

  • Object Name:对其引发警示的 NSX Advanced Load Balancer 对象的名称。

  • Threshold:此警示的阈值(如果已配置)。可以是计数或绝对数字。

  • Event Details:对于基于系统事件的警示,将列出对其引发警示的所有事件。事件详细信息的内容因事件而异。

  • Metric Information:对于基于衡量指标的警示,将列出对其引发警示的所有衡量指标。

  • Throttle Count:警示被限制的次数。

更改警示操作

要更改四个警示操作中的任何一个,请单击相应的字段。从下拉菜单中选择要编辑或更改的操作。选择其他操作或编辑所选操作。可以通过单击操作(三个点),并从下拉菜单中选择编辑来完成编辑操作。编辑并验证警示操作后,单击保存

步骤 3:保存新警示操作

在单击编辑警报配置窗口中的保存之前,您可以添加描述以记录您的工作。

步骤 4:确认自定义操作已就绪

返回到操作 > 警示 > 警示配置页面。您可以看到您的工作反映在事件和警示操作列表中。