本节将详细介绍基于系统事件的 SNMP 陷阱通知。

以下是通过 AVI-NETWORKS-MIB.my 公开的 NSX Advanced Load Balancer 配置对象:

  • NSX Advanced Load Balancer 控制器

  • 服务引擎

  • 虚拟服务

NSX Advanced Load Balancer 控制器

AviControllerEntry ::=
   	SEQUENCE {
     	aviControllerIndex      Integer32,
       	aviControllerUUID       SnmpAdminString,
       	aviControllerName       DisplayString,
       	aviControllerAddrType   InetAddressType,
      	aviControllerAddr       InetAddress,
       	aviControllerStatus     INTEGER
	}
aviControllerUUID 	    : Unique UUID of the Avi Controller VM
aviControllerName 	    : Name assigned to the Avi Controller (defaults
                          to the IP address of the Avi Controller)
aviControllerAddr 	    : Management v4 IP address of the Avi
                          Controller
aviControllerStatus 	: Runtime status of the Avi Controller

服务引擎

AviServiceEngineEntry ::=
    SEQUENCE {
       	aviServiceEngineIndex      Integer32,
       	aviServiceEngineUUID       SnmpAdminString,
       	aviServiceEngineName       DisplayString,
       	aviServiceEngineAddrType   InetAddressType,
       	aviServiceEngineAddr       InetAddress,
       	aviServiceEngineStatus     INTEGER
    }
aviServiceEngineUUID	: Unique UUID of the Avi Service Engine VM
aviServiceEngineName	: Name of the Service Engine VM 
                          assigned in the Virtual Infrastructure
aviServiceEngineAddr	: Management v4 IP address of the Avi Service 
                          Engine VM
aviServiceEngineStatus 	: Runtime status of the Avi Service Engine

虚拟服务

AviVirtualServiceEntry ::=
    SEQUENCE {
       	aviVirtualServiceIndex      Integer32,
       	aviVirtualServiceUUID       SnmpAdminString,
       	aviVirtualServiceName       DisplayString,
       	aviVirtualServiceAddrType   InetAddressType,
       	aviVirtualServiceAddr       InetAddress,
       	aviVirtualServiceStatus     INTEGER
    }
aviVirtualService UUID	: Unique UUID of the virtual service
aviVirtualServiceName	: Name assigned to the virtual service
aviVirtualServiceAddr	: Virtual IP (v4) address of the virtual service 
aviVirtualServiceStatus : Runtime status of the virtual service

通知(陷阱)

控制器集群主节点可以根据系统事件发出 SNMP 陷阱通知。要使 SNMP 陷阱通知到达外部 SNMP 服务器,应完成以下配置:

  • 由于主节点角色可能会不时进行更改,因此应将外部 SNMP 服务器配置为允许来自集群内三个控制器中任一控制器的流量,也就是说,所有三个地址都应位于 SNMP 服务器的允许访问列表中。

  • 应配置防火墙规则,以允许将来自三个集群成员中任一成员的 IP 地址的 UDP 流量发送到 SNMP 陷阱服务器上的端口 162。

NSX Advanced Load Balancer 控制器 集群、NSX Advanced Load Balancer 服务引擎、虚拟服务和 SSL 证书过期相关的系统事件可以归类到各自的 SNMP 陷阱中。其他系统事件使用通用 SNMP 陷阱通知生成陷阱。

只有为以下事件生成的警示才会被输入到特定的 SNMP 陷阱中。

事件

SNMP 陷阱

VS_DOWN、VS_UP

aviVirtualServiceStatusChanged

SE_DOWN、SE_UP

aviServiceEngineStatusChanged

CONTROLLER_NODE_JOINED、CONTROLLER_NODE_LEFT

aviControllerStatusChanged

SSL_CERT_EXPIRE

aviSSLCertificateExpired

所有其他警示

aviSystemAlert

注:
  1. aviSystemAlert 是一般陷阱通知,可以与 NSX Advanced Load Balancer 控制器 生成的任何系统事件相关联。

  2. NSX Advanced Load Balancer 当前在 SNMP 陷阱通知中支持大型陷阱负载(最多 4096 字节)。在此之前,SNMP 陷阱负载长度限制为 256 字节。

查看陷阱服务器配置文件

在下面的窗口中,IP 地址为 10.10.24.96 的控制器通过响应 https://10.10.24.96/api/snmptrapprofile HTTP 请求来显示其 v2 和 v3 陷阱服务器配置文件。

{
  "count": 2,
  "results": [
    {
      "uuid": "snmptrapprofile-aa815f66-2190-4ff4-a20f-0c9fe41deff4",
      "url": "https://10.10.24.96/api/snmptrapprofile/snmptrapprofile-aa815f66-2190-4ff4-a20f-0c9fe41deff4",
      "tenant_ref": "https://10.10.24.96/api/tenant/admin",
      "name": "SnmpTrap-2",
      "trap_servers": [
        {
          "version": "SNMP_VER2",
          "ip_addr": {
            "type": "V4",
            "addr": "10.10.0.235"
          },
          "community": "<sensitive>"
        }
      ],
      "_last_modified": "1509670261022622"
    },
    {
      "uuid": "snmptrapprofile-2e28610a-e100-4de7-ae92-20bd7a4ee3b7",
      "url": "https://10.10.24.96/api/snmptrapprofile/snmptrapprofile-2e28610a-e100-4de7-ae92-20bd7a4ee3b7",
      "tenant_ref": "https://10.10.24.96/api/tenant/admin",
      "name": "SnmpTrap-1",
      "trap_servers": [
        {
          "version": "SNMP_VER3",
          "ip_addr": {
            "type": "V4",
            "addr": "10.10.3.1"
          },
          "user": {
            "username": "snmpv3trapuser",
            "auth_type": "SNMP_V3_AUTH_MD5",
            "priv_passphrase": "<sensitive>",
            "auth_passphrase": "<sensitive>",
            "priv_type": "SNMP_V3_PRIV_AES"
          }
        }
      ],
      "_last_modified": "1509670185831024"
    }
  ]
}

aviControllerStatusChanged

aviControllerStatusChanged NOTIFICATION-TYPE
   	OBJECTS {
   	aviControllerStatus,
   	aviOperStatusReason
   	}
	STATUS     current
	DESCRIPTION
	"This alert is generated when Controller status 
   	Changes."
	::= { aviNotificationsObjects 1 }

NSX Advanced Load Balancer 控制器 状态发生更改时,将生成此陷阱。

以下 Controller-state-change 系统事件可能会启动 aviControllerStatusChange 陷阱:

  • Controller-Node-Left

  • Controller-Node-Joined

对于上述每个 NSX Advanced Load Balancer 控制器 状态更改事件,都有一个默认的系统警示配置和相应的默认警示操作。

aviServiceEngineStatusChanged

aviServiceEngineStatusChanged NOTIFICATION-TYPE
   	OBJECTS {
   	aviObjectURL,
   	aviServiceEngineStatus,
   	aviOperStatusReason
   	}
   	STATUS     current
   	DESCRIPTION
   	"This alert is generated when Service Engine status 
   	Changes."
	::= { aviNotificationsObjects 2 }

NSX Advanced Load Balancer SE 状态发生更改时,将生成此陷阱。

以下 NSX Advanced Load Balancer SE 状态更改事件可能会启动 aviServiceEngineStatusChanged 陷阱:

  • SE 启动

  • SE 关闭

对于上述每个 NSX Advanced Load Balancer SE 状态更改事件,都有一个默认的系统警示配置。

aviVirtualServiceStatusChanged

aviVirtualServiceStatusChanged NOTIFICATION-TYPE
   	OBJECTS {
   	aviObjectURL,
   	aviVirtualServiceStatus,
   	aviVirtualServiceStatusReason
   	}
   	STATUS     current
   	DESCRIPTION
   	"This alert is generated when virtual service status 
   	changes."
   	::= { aviNotificationsObjects 3 }

当虚拟服务状态发生更改时,将生成此陷阱。

以下虚拟服务状态更改事件可能会启动 aviVirtualServiceStatusChanged 陷阱:

  • VS 关闭

  • VS 启动

aviSSLCertificateExpired

aviSSLCertificateExpired NOTIFICATION-TYPE
	OBJECTS {
   	aviObjectURL,
   	aviSSLCertificateInfo
   	}
   	STATUS     current
   	DESCRIPTION
   	"This alert is generated when SSL Certificate 
   	Expires."
   	::= { aviNotificationsObjects 4 }

SSL 证书过期时会生成此陷阱。虚拟服务 Ssl-Cert-Expire 事件可以启动 aviVirtualServiceStatusChanged 陷阱。

aviSystemAlert

aviSystemAlert NOTIFICATION-TYPE
	OBJECTS {
   	aviSystemAlertInfoDesc
   	}
   	STATUS     current
   	DESCRIPTION
   	"This is a generic system alert"
   	::= { aviNotificationsObjects 5 }

这是一个一般陷阱通知。它可以与 NSX Advanced Load Balancer 控制器 生成的任何系统事件相关联。

要为 NSX Advanced Load Balancer 控制器 状态更改事件配置 SNMP 陷阱,请参阅配置基于 SNMP 事件的陷阱