AOS-CX real-time notifications subsystem

The AOS-CX REST API, combined with built-in databases that provide configuration, state, statistical data, and time-series data for the features and protocols running in the switch, provides a flexible means for switch programmability. Each resource or collection of resources inside the switch is uniquely identified by its URI.

Clients can use the REST API to request information about resources. However, this polling ability does not address the specific use cases in which network management systems need to receive live data or real-time events from the switch. There is a need to have a live notification subsystem that provides the remote network management system with real-time information about any changes that occur in the switch. Timely information about changes is important for troubleshooting and statistical data analyses, as well as for the immediate reaction to real-time events.

The AOS-CX real-time notifications subsystem enables external clients to connect to the switch through a secure WebSocket Protocol connection and to receive real-time notifications about the switch resources and the configuration changes, state changes, and statistical information that interest them.

The WebSocket Protocol was selected based on latency, throughput, resource utilization, network overhead, and security requirements. The handshake part of the WebSocket protocol uses HTTPS, so there is no need to open a new port on the switch side, and there is no need to provide a new authentication mechanism. Multiple clients and connections are supported.

AOS-CX notification messages use JSON encoding. The JSON encoding was designed to align with REST payloads, which enable clients to use combined REST and notification solutions.

The ability to subscribe to these push notifications about a variety of types of information about the switch, combined with the structured nature of the JSON data reported by the switch database, enables a form of network monitoring commonly called telemetry streaming.

Interested clients, known as subscribers, might include the following:

  • Web clients such as the AOS-CX Web UI

  • Network management systems

  • Monitoring scripts