Telemetry
Overview
The rXg supports three kinds of telemetry data ingestion, gRPC, MQTT, and Kafka. All of these ingestion types are used to get and analyze radio metrics and client metrics, which are presented in Radio Metric Graphs and the KPI dialog types.
9800 / gRPC and vSZ / MQTT operate with the rXg acting as a server. OpenWifi / Kafka operates with the OpenWifi Kafka process as the server, as known as the broker, in Kafka terminology.
Setup
Common Setup Goals
The WLAN Controller MUST have its time synchronized with the rXg.
OpenWifi Gateway / Kafka
The rXg will automatically try to connect to the OWGW via Kafka on port 9094. If you have installed the OWGW via RGNets' image from the config template example, this is done for you automatically.
9800 WLC / gRPC
The CISCO 9800 Wireless Lan Controller uses gRPC to stream telemetry data.
It MUST have Netconf Yang enabled. This can be done with the netconf-yang
CLI
directive or in the GUI via Administration>HTTP/HTTPS/Netconf/VTY
.
If you use the bootstrap script automatically generated from the rXg, that will
have the netconf-yang
directive in it.
rXg Setup
To enable gRPC streaming, create a WLAN Controller record for your WLAN Controller if there is not one already. If the rXg supports gRPC streaming for your WLAN controller, a gRPC port input field will be available. Put in the port number that you want the rXg to listen on for this device's gRPC telemetry data.
It is critically important to have the port that the rXg is listening for telemetry data on be exactly the same port that the WLC is configured to send the telemetry data TO. If you wish to stream telemetry data from multiple WLCs to one rXg, each WLC must stream to a different port on that rXg.
9800 Setup
Next you will need to configure the subscriptions in the CISCO 9800 WLC. The rXg provides a built in facility for building the exact script necessary to to create these.
First scroll to the right of your WLAN device record to access the Bootstrap view.
Then click on Show to present the telemetry bootstrap configuration script.
Next click on Copy to Clipboard to copy this configuration.
Next paste the configuration into your 9800 to run it:
(NOTE: This will update existing low numbered subscriptions if you have any)
Setup Confirmation
Next you may be wondering if your rXg is receiving the data. Here are a couple of easy ways to confirm.
Check Access Point Radios
The easiest, fastest and simplest way to check if your Telemetry data is streaming in is to check if any Access Point Radios are now present.
In the Network >> Wireless view of your rXg, scroll down to the Access Point Radios Scaffold and see if there are new ones:
Health Check
Another way to check is to make a "Cisco Telemetry Health Check" widget. In order to do this, setup a new custom dashboard with the Cisco Telemetry health check widget on it. Widgets and dashboards and dashboard configuration is covered in the archives>> reports section of this manual, but here is an example of configuring such a widget.
Here is what the widget will look like when the data is being received.
NOTE: You will not receive data for client_oper_data_common_oper_data
,
client_oper_data_dot11_oper_data
or client_oper_data_traffic_stats
when no
clients are associated.
Check on 9800
The best way to check the status of the subscriptions on the 9800 is with the
command show telemetry ietf subscription all detail
.
All the rest of the subscriptions should also say Connected
and Subscription
Validated
as well.
Virtual Smart Zone / MQTT
The rXg can also receive telemetry data from the RUCKUS Virtual Smart Zone via MQTT (Message Queuing Telemetry Transport).
rXg Setup
To enable MQTT streaming, we will need to create a local MQTT server. This can be done by browsing to Network >> Wireless >> WLAN Controllers and editing an existing vSZ WLAN Controller profile, or you can you can create a new one.
Scroll down to the RUCKUS section and create a telemetry_username
and telemetry_password
.
Once the changes are saved, a local MQTT server will be created to receive the streaming data from the vSZ. You can see the MQTT server configuration under Services >> Servers >> MQTT Server.
Assuming that config sync has been enabled, your vSZ will automatically be configured to start sending telemetry data. If you are not using config sync, you can configure manually following the steps below in the "Check Subscription vSZ" section.
Setup Confirmation
Check Access Point Radios
The easiest, fastest and simplest way to check if your Telemetry data is streaming in is to check if any Access Point Radios are now present.
In the Network >> Wireless view of your rXg, scroll down to the Access Point Radios Scaffold and see if there are new ones:
Check Subscription in vSZ
Another good place to check is in the vSZ itself. In Administration >> NB Streaming
you should be able to find your subscription. When it is working, you should see
Connected
to the right in the list view.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The server host field will be the IP address or domain name of the rXg that will receive the streaming data.
The server port will be 8883 by default. This can be changed in the rXg by browsing to Services >> Servers >> MQTT Servers.
User and Password should be the same as what you configured in the WLAN Controller record.
The system ID can be found by browsing in the rXg to Network >> Wireless >> WLAN Controllers and clicking "Show" on the scaffold for the previously configured WLAN controller.
You will then scroll down to the bottom and find the ID field.
Check rXg's MQTT Server
In Services >> Servers in the rXg, scroll down to MQTT Servers. Create or edit an MQTT Server with the following attributes:
active: true
tls version: 1.2
tls_port: 8883
infrastructure_devices: <YOUR vSZ>
In order for your rXg to have firewall visibility for the MQTT Server, you must have an active MQTT Server associated with your WLAN Controller via your WLAN Controller's MQTT Server attribute.
A note on the instrument_from_telemetry
boolean
The instrument_from_telemetry
boolean tells the rXg to create and update
Access Points based on Telemetry data.
If you are running with config sync turned on, or monitoring turned on, your rXg
will be able to import infrastructure updates through the regular infrastructure
monitoring process, and you should have instrument_from_telemetry
turned off.
If you are not using monitoring or config sync and are just receiving telemetry
data from an infrastructure device, then you should have
instrument_from_telemetry
turned on.