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

If you have configured your WLAN controller as an OpenWifi Gateway, then there is nothing more that you need to do on the rXg side. The rXg will automatically try to connect on port 9094.

In your OpenWifi service definition, add these lines to the Kafka service (lines 206-210):

exposing Kafka on port 9094 in docker-compose.yml

This docker compose file is found in wlan-cloud-ucentral-deploy/docker-compose/docker-compose.yml by default in the OpenWifi Controller Repository. ubuntu@openwifi:~/wlan-cloud-ucentral-deploy/docker-compose$ pwd /home/ubuntu/wlan-cloud-ucentral-deploy/docker-compose ubuntu@openwifi:~/wlan-cloud-ucentral-deploy/docker-compose$ file docker-compose.yml docker-compose.yml: ASCII text

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.

netconf-yang-gui

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.

grpc_port

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.

bootstrap

Then click on Show to present the telemetry bootstrap configuration script.

click on show

Next click on Copy to Clipboard to copy this configuration.

click on copy to clipboard

Next paste the configuration into your 9800 to run it:

(NOTE: This will update existing low numbered subscriptions if you have any)

copy into wlc

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:

fresh access point radios

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.

config cisco health check 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.

cisco telemetry health check

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.

check sub status on wlc

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:

fresh access point radios

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.

mqtt subscription

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.

mqtt server option

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.


Cookies help us deliver our services. By using our services, you agree to our use of cookies.