Notification Service

Notifications are alerts, tasks, and events that EFA sends to subscribers by HTTPS webhook or syslog over RELP (Reliable Event Logging Protocol).

Overview

All notifications are derived from the syslog events that are received from the devices that EFA manages.

Alerts are notifications that EFA services send for unexpected conditions, such as the following:
  • Loss of switch connectivity
  • Failure to configure the fabric, tenant, or endpoint group (EPG) on the device
  • Failure to perform operations such as port up or port down, set speeds, and breakout mode
  • Firmware download failure
  • Devices exiting maintenance mode
Task notifications are based on user-driven or timer-based operations, such as the following:
  • Registering or updating a device
  • Device timer collection completed
  • Adding devices to a fabric
  • Creating, updating, or deleting a fabric
  • Creating, updating, or deleting a tenant
  • Creating, updating, or deleting an endpoint group

Notification methods

EFA supports two methods of notification: HTTPS webhook and syslog (using RELP over TLS). The format of the notifications is the same for both methods. You can configure one or both methods.

Webhook
This REST API-based method is a POST operation. The notification payload is in the body of the HTTPS call. Use the efa notification subscribers add-https command to register a subscriber for this method of notification.
Syslog over RELP
In this client-server method, the client initiates the connection and the server listens. In this scenario, the client is the Notification service and the server is the remote system where syslog is configured to work with RELP. Any external server that is configured with RELP can be registered as a subscriber to EFA notifications.
When RELP is configured with mTLS, EFA must be installed in secure mode. For more information, see the 'EFA Installation Modes" topic in the Extreme Fabric Automation Deployment Guide, 2.5.0 .
Communication from SLX devices occurs over TLS. The certificates required for SLX devices to work with secure syslog are generated when the devices are registered.
Use the efa notification subscribers add-syslog-relp command to register a subscriber for this method of notification.

Notification workflow

Click to expand in new window
Inventory service, RASlog service, Fabric service, Tenant service send alerts and tasks directly to the Notification service
In general, the order of operations is as follows:
  1. For each SLX devices that is registered in EFA, EFA registers itself as a syslog receiver on each device.
  2. The RASlog service receives syslog messages from the registered devices over TLS.
  3. Messages are processed and converted to JSON, a format that is easier to search, sort, and perform operations on.
  4. The Inventory service, Fabric service, and Tenant service send alerts and tasks to the Notification service.
  5. External clients (subscribers) receive notifications by HTTPS webhook, syslog (using RELP over TLS), or both, depending on the subscription.

Notification example

In this example, the creation of a tenant sends a task notification to the syslog server.

Here, the tenant is created.
$ efa tenant create --name tnt1
Tenant created successfully.
--- Time Elapsed: 167.716003ms ---
And here are the corresponding syslog messages.
<5>Aug 20 11:25:28 10.24.95.154(10.24.95.154) 
{"application":"ts","device_ip":"","message":"Tenant create request received 
:request={\"name\":\"tnt1\"}","scope":"user","status":"started","task":
"EFA-001001","timestamp":"2020-08-20T13:42:55Z","type":"Task","username":"extreme"}

<5>Aug 20 11:25:28 10.24.95.154(10.24.95.154) 
{"application":"ts","device_ip":"","message":"Tenant create request success 
:request={\"name\":\"tnt1\"}","scope":"user","status":"succeeded","task":
"EFA-001002","timestamp":"2020-08-20T13:42:55Z","type":"Task","username":"extreme"}