AP Monitoring
Note
The Streaming API encoded message must be first decoded using CloudEvents proto file before decoding using the event specific proto file below
AP Monitoring events provide real-time monitoring statistics for access points in your Central network.
Endpoint
Connect to the following WebSocket endpoint to receive AP monitoring events:
wss://<host>/network-monitoring/v1alpha1/ap-events
Ensure that you replace host value with your Central Base URL. Please check out our Getting Started guide for more information.
Proto File
Event messages published by Central are encoded using Google Protocol Buffers and sent over the WebSocket connection in serialized form.
To deserialize these messages, clients must use the following .proto file, which defines the schema used by Central when encoding the AP Monitoring payloads.
syntax = "proto3";
package network_monitoring.ap.v1alpha1;
enum APMode {
AP_MODE_UNSPECIFIED = 0;
AP_MODE_ACCESS = 1;
AP_MODE_MONITOR = 2;
AP_MODE_DEDICATED_SPECTRUM = 3;
AP_MODE_HYBRID_SPECTRUM = 4;
}
enum APRole {
AP_ROLE_UNSPECIFIED = 0;
AP_ROLE_MEMBER = 1;
AP_ROLE_CONDUCTOR = 2;
}
enum MeshRole {
MESH_ROLE_UNSPECIFIED = 0;
MESH_ROLE_POINT = 1;
MESH_ROLE_PORTAL = 2;
MESH_ROLE_AUTO_ROLE = 3;
}
enum UplinkType {
UPLINK_TYPE_UNSPECIFIED = 0;
UPLINK_TYPE_ETH = 1;
UPLINK_TYPE_MESH = 2;
UPLINK_TYPE_STA = 3;
UPLINK_TYPE_3G = 4;
UPLINK_TYPE_DUMMY = 5;
}
enum DeviceDownReason {
DEVICE_DOWN_REASON_UNSPECIFIED = 0;
DEVICE_DOWN_REASON_LICENSE_UNASSIGNED = 1;
DEVICE_DOWN_REASON_AP_REBOOT = 2;
}
enum RadioBand {
RADIO_BAND_UNSPECIFIED = 0;
RADIO_BAND_24GHZ = 1; // 2.4 GHz
RADIO_BAND_5GHZ = 2; // 5 GHz
RADIO_BAND_6GHZ = 3; // 6 GHz
}
enum RadioMode {
RADIO_MODE_UNSPECIFIED = 0; // Default Value
RADIO_MODE_AIR_MONITOR = 1; // Air Monitor
RADIO_MODE_CLIENT_ACCESS = 2; // Client Access Mode
RADIO_MODE_SPECTRUM_ANALYSIS = 3; // Spectrum Analysis
RADIO_MODE_MESH_PORTAL = 4; // Mesh Portal
RADIO_MODE_MESH_POINT = 5; // Mesh Point
}
enum ChannelBandwidth {
CHANNEL_BANDWIDTH_UNSPECIFIED = 0;
CHANNEL_BANDWIDTH_20MHZ = 1;
CHANNEL_BANDWIDTH_40MHZ_ABOVE = 2;
CHANNEL_BANDWIDTH_40MHZ_BELOW = 3;
CHANNEL_BANDWIDTH_80MHZ = 4;
CHANNEL_BANDWIDTH_160MHZ = 5;
CHANNEL_BANDWIDTH_80PLUS80MHZ = 6;
CHANNEL_BANDWIDTH_320MHZ_1 = 7;
CHANNEL_BANDWIDTH_320MHZ_2 = 8;
}
enum Status {
STATUS_UNSPECIFIED = 0;
STATUS_UP = 1;
STATUS_DOWN = 2;
STATUS_DISABLED = 3;
}
enum HTType {
HT_TYPE_UNSPECIFIED = 0;
HT_TYPE_20MZ = 1;
HT_TYPE_40MZ = 2;
HT_TYPE_VHT_20MZ = 3;
HT_TYPE_VHT_40MZ = 4;
HT_TYPE_VHT_80MZ = 5;
HT_TYPE_VHT_160MZ = 6;
HT_TYPE_VHT_80PLUS80MZ = 7;
HT_TYPE_HE_20MZ = 8;
HT_TYPE_HE_40MZ = 9;
HT_TYPE_HE_80MZ = 10;
HT_TYPE_HE_160MZ = 11;
HT_TYPE_HE_80PLUS80MZ = 12;
HT_TYPE_EHT_20MZ = 13;
HT_TYPE_EHT_40MZ = 14;
HT_TYPE_EHT_80MZ = 15;
HT_TYPE_EHT_160MZ = 16;
HT_TYPE_EHT_80PLUS80MZ = 17;
HT_TYPE_EHT_320MZ = 18;
}
enum PHYType {
PHY_TYPE_UNSPECIFIED = 0;
PHY_TYPE_80211B = 1;
PHY_TYPE_80211A = 2;
PHY_TYPE_80211G = 3;
PHY_TYPE_80211AG = 4;
PHY_TYPE_80211_6GHZ = 5;
}
enum ChangeReason {
CHANGE_REASON_UNSPECIFIED = 0;
CHANGE_REASON_ARM = 1;
CHANGE_REASON_RADAR_DETECTED = 2;
CHANGE_REASON_RADAR_CLEARED = 3;
CHANGE_REASON_TX_HANG = 4;
CHANGE_REASON_TX_CLEAR = 5;
CHANGE_REASON_40MHZ_INTOL = 6;
CHANGE_REASON_CANCEL_40MHZ_INTOL = 7;
CHANGE_REASON_40MHZ_ALIGN = 8;
CHANGE_REASON_ARM_INTERFERENCE = 9;
CHANGE_REASON_ARM_INVALID_CH = 10;
CHANGE_REASON_ARM_ERROR_THRESH = 11;
CHANGE_REASON_ARM_NOISE_THRESH = 12;
CHANGE_REASON_ARM_EMPTY_CH = 13;
CHANGE_REASON_ARM_ROGUE_CONT = 14;
CHANGE_REASON_ARM_DECREASE_POWER = 15;
CHANGE_REASON_ARM_INCREASE_POWER = 16;
CHANGE_REASON_RADAR_TURN_OFF_RADIO = 17;
CHANGE_REASON_ARM_TURN_ON_RADIO = 18;
CHANGE_REASON_ARM_CHANNEL_QUALITY_THRESH = 19;
CHANGE_REASON_ARM_DYNAMIC_BW = 20;
CHANGE_REASON_ARM_INTERFERENCE_CCA = 21;
CHANGE_REASON_AIRMATCH_NOISE = 22;
CHANGE_REASON_AIRMATCH_SOLVER = 23;
CHANGE_REASON_AIRMATCH_FREEZE = 24;
CHANGE_REASON_AIRMATCH_UNFREEZE = 25;
CHANGE_REASON_SAPM_RANDOM = 26;
CHANGE_REASON_AIRMATCH_INIT = 27;
CHANGE_REASON_UNKNOWN = 28;
CHANGE_REASON_AIRMATCH_NOISE_CLEARED = 29;
CHANGE_REASON_AIRMATCH_ROGUE_CONTAINMENT = 30;
CHANGE_REASON_AIRMATCH_REGDOM_PROFILE = 31;
CHANGE_REASON_AIRMATCH_DRT_CHANGE = 32;
CHANGE_REASON_AIRMATCH_MIN_CBW_CHANGE = 33;
CHANGE_REASON_AIRMATCH_MAX_CBW_CHANGE = 34;
CHANGE_REASON_AP_CACHE = 35;
CHANGE_REASON_AP_CONFIG = 36;
CHANGE_REASON_AIRMATCH_EIRP_MIN_CHANGE = 37;
CHANGE_REASON_AIRMATCH_EIRP_MAX_CHANGE = 38;
CHANGE_REASON_DYNAMIC_MODE_CHANGE = 39;
CHANGE_REASON_OPMODE_CHANGE = 40;
CHANGE_REASON_ARM_MODE_AWARE_TURN_OFF_RADIO = 41;
CHANGE_REASON_RADIO_MODE_CHANGE = 42;
CHANGE_REASON_APM_DUE_TO_CONFIG = 43;
CHANGE_REASON_AIRMATCH_CLIENT_PREF_CHANGE = 44;
CHANGE_REASON_ARM_EMPTY_CO_CH = 45;
CHANGE_REASON_ARM_CBW = 46;
CHANGE_REASON_UTB_CHANNEL_DETECTED = 47;
CHANGE_REASON_AIRMATCH_CHANNEL_QUALITY_THRESHOLD = 48;
CHANGE_REASON_AIRMATCH_LTE_NOISE = 49;
CHANGE_REASON_AIRMATCH_LTE_NOISE_CLEARED = 50;
CHANGE_REASON_AIRMATCH_APM_DUE_TO_LTE = 51;
CHANGE_REASON_AFC_AM_TURN_OFF_RADIO = 52;
CHANGE_REASON_AFC_AM_UPDATE = 53;
}
enum RadioType {
RADIO_TYPE_UNSPECIFIED = 0;
RADIO_TYPE_80211N = 1; // 802.11n
RADIO_TYPE_80211AC = 2; // 802.11ac
RADIO_TYPE_80211AX = 3; // 802.11ax
RADIO_TYPE_80211BE = 4; // 802.11be
}
enum RadioAntenna {
RADIO_ANTENNA_TYPE_UNSPECIFIED = 0;
RADIO_ANTENNA_TYPE_INTERNAL = 1; // Internal antennas, used in indoor APs
RADIO_ANTENNA_TYPE_EXTERNAL = 2; // External antennas, used in outdoor/ruggedized APs
}
enum BandRange {
BAND_RANGE_UNSPECIFIED = 0;
BAND_RANGE_FULL = 1;
BAND_RANGE_LOWER = 2;
BAND_RANGE_MIDDLE = 3;
BAND_RANGE_UPPER = 4;
}
enum PortType {
PORT_TYPE_UNSPECIFIED = 0;
PORT_TYPE_FAST = 1;
PORT_TYPE_GIG = 2;
PORT_TYPE_XGIG = 3;
PORT_TYPE_2_GIG = 4;
PORT_TYPE_5_GIG = 5;
PORT_TYPE_USB = 6;
}
enum PortMode {
PORT_MODE_UNSPECIFIED = 0;
PORT_MODE_STANDBY = 1;
PORT_MODE_TUNNEL = 2;
PORT_MODE_BRIDGE = 3;
PORT_MODE_NA = 4;
PORT_MODE_SPLIT = 5;
}
enum PortMaxSpeed {
PORT_MAX_SPEED_UNSPECIFIED = 0;
PORT_MAX_SPEED_10 = 1;
PORT_MAX_SPEED_100 = 2;
PORT_MAX_SPEED_1000 = 3;
PORT_MAX_SPEED_AUTO = 4;
PORT_MAX_SPEED_2500 = 5;
PORT_MAX_SPEED_5000 = 6;
PORT_MAX_SPEED_10000 = 7;
}
enum PortDuplex {
PORT_DUPLEX_UNSPECIFIED = 0;
PORT_DUPLEX_HALF = 1;
PORT_DUPLEX_FULL = 2;
PORT_DUPLEX_AUTO = 3;
}
enum PortVLANMode {
PORT_VLAN_MODE_UNSPECIFIED = 0;
PORT_VLAN_MODE_ACCESS = 1;
PORT_VLAN_MODE_TRUNK = 2;
}
enum WlanOpMode {
WLAN_OP_MODE_UNSPECIFIED = 0;
WLAN_OP_MODE_OPEN_SYSTEM = 1;
WLAN_OP_MODE_STATIC_WEP = 2;
WLAN_OP_MODE_DYNAMIC_WEP_WITH_8021X = 4;
WLAN_OP_MODE_WPA_PERSONAL_TKIP = 8;
WLAN_OP_MODE_WPA_ENTERPRISE_TKIP = 16;
WLAN_OP_MODE_WPA2_PERSONAL_AES = 32;
WLAN_OP_MODE_BOTH_WPA2_AND_WPA = 40;
WLAN_OP_MODE_WPA2_ENTERPRISE_AES = 64;
WLAN_OP_MODE_WPA_PERSONAL_AES = 512;
WLAN_OP_MODE_WPA_PERSONAL_TKIP_AES = 520;
WLAN_OP_MODE_WPA_ENTERPRISE_AES = 1024;
WLAN_OP_MODE_BOTH_WPA_WPA2_PERSONAL_TKIP_AES = 2600;
WLAN_OP_MODE_WPA2_ENTERPRISE_TKIP = 4096;
WLAN_OP_MODE_BOTH_WPA2_AND_WPA_ENTERPRISE = 5200;
WLAN_OP_MODE_ENHANCED_OPEN = 65536;
WLAN_OP_MODE_WPA3_PERSONAL = 131072;
WLAN_OP_MODE_WPA3_ENTERPRISE_SUITEB = 262144;
WLAN_OP_MODE_WPA3_AES_CCM_128 = 524288;
WLAN_OP_MODE_MPSK_AES = 2097152;
WLAN_OP_MODE_WPA3_AES_GCM_256_NON_CNSA = 4194304;
WLAN_OP_MODE_DPP = 8388608;
WLAN_OP_MODE_DPP_WPA2_PERSONAL_AES = 8388640;
WLAN_OP_MODE_DPP_WPA2_ENTERPRISE_AES = 8388672;
}
enum WlanType {
WLAN_TYPE_UNSPECIFIED = 0;
WLAN_TYPE_EMPLOYEE = 1;
WLAN_TYPE_GUEST = 2;
WLAN_TYPE_VOICE = 3;
WLAN_TYPE_LOCAL = 4;
}
enum WlanBand {
WLAN_BAND_UNSPECIFIED = 0;
WLAN_BAND_24GHZ = 1;
WLAN_BAND_5GHZ = 2;
WLAN_BAND_6GHZ = 3;
WLAN_BAND_24GHZ_5GHZ = 4;
WLAN_BAND_24GHZ_6GHZ = 5;
WLAN_BAND_5GHZ_6GHZ = 6;
WLAN_BAND_ALL = 7;
}
enum EventOperation {
EVENT_OPERATION_UNSPECIFIED = 0;
EVENT_OPERATION_ADD = 1;
EVENT_OPERATION_UPDATE = 2;
EVENT_OPERATION_DELETE = 3;
}
enum APOpMode {
AP_OP_MODE_UNSPECIFIED = 0;
AP_OP_MODE_CLUSTER = 1;
AP_OP_MODE_STANDALONE = 2;
}
enum TunnelIndex {
TUNNEL_INDEX_UNSPECIFIED = 0;
TUNNEL_INDEX_PRIMARY = 1;
TUNNEL_INDEX_BACKUP = 2;
}
enum TunnelType {
TUNNEL_TYPE_UNSPECIFIED = 0;
TUNNEL_TYPE_ARUBA_IPSEC = 1;
TUNNEL_TYPE_ARUBA_GRE = 2;
TUNNEL_TYPE_MANUAL_GRE = 3;
}
enum ProbeOwner {
PROBE_OWNER_UNSPECIFIED = 0;
PROBE_OWNER_VPN = 1;
PROBE_OWNER_UPLINK = 2;
PROBE_OWNER_GW = 3;
}
enum ProbeStatus {
PROBE_STATUS_UNSPECIFIED = 0;
PROBE_STATUS_SUCCESS = 1;
PROBE_STATUS_FAILURE = 2;
}
enum TunnelCryptoType {
TUNNEL_CRYPTO_TYPE_UNSPECIFIED = 0;
TUNNEL_CRYPTO_TYPE_CERTIFICATE = 1;
TUNNEL_CRYPTO_TYPE_PSK = 2;
}
// Tunnel status applicable for 10x unless said otherwise
enum TunnelStatus {
TUNNEL_STATUS_UNSPECIFIED = 0;
TUNNEL_STATUS_INIT = 1;
TUNNEL_STATUS_CONNECTING = 2;
TUNNEL_STATUS_CONNECTED = 3; // Applicable for both 8x and 10x
TUNNEL_STATUS_SWITCHING_TO_SURVIVE = 4;
TUNNEL_STATUS_REKEYING = 5;
TUNNEL_STATUS_SURVIVING = 6;
TUNNEL_STATUS_SURVIVED = 7;
TUNNEL_STATUS_SURVIVE_REKEYING = 8;
TUNNEL_STATUS_DISCONNECTED = 9; // Applicable for 8x alone
// TUNNEL_STATUS_DELETED = 50; // This is a cloud-service generated field to clean up stale tunnels from cloud
}
// Cluster information
message ClusterInfo {
optional string cluster_id = 1; // Cluster ID
optional string name = 2; // Cluster Name
optional string ip_v4 = 3; // Cluster IP Address
}
// Access point information
message APInfo {
optional EventOperation operation = 1; // Operation type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
optional string device_name = 6; // Name of the access point
optional string model = 7; // Human readable model string
optional string ip_v4 = 8; // IPv4 address assigned to the access point
optional string ip_v6 = 9; // Access point IPv6 address
optional string public_ip = 10; // Public IP address of the access point
// The absolute time since the access point has been up
optional uint32 uptime = 11;
optional APMode mode = 12; // Current access point mode
optional bool status = 13; // Status of the access point
optional APOpMode operating_mode = 14; // Denotes whether access point is standalone or cluster
optional ClusterInfo cluster = 15; // Cluster ID if operating in cluster mode
optional APRole elected_role = 16; // Whether it is conductor or member
optional MeshRole mesh_mode = 17; // Mesh mode of the access point
optional UplinkType current_uplink_inuse = 18; // Current uplink type of the access point
optional string firmware_version = 19; // Firmware version of the access point
optional string zone = 20; // Access point zone. Max size is 198.
optional string drt_version = 21; // Downloadable Regulatory Table version
optional string country_code = 22; // Country code
optional DeviceDownReason down_reason = 23; // Device down reason
optional bool modem_status = 24; // Modem status - True is Up. False is Down.
}
// Radio information
message RadioInfo {
optional EventOperation operation = 1; // Action type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
optional string radio_mac_address = 6; // MAC address of specific radio
optional string channel = 7; // Assigned channel for the given radio
// Transmit power of the radio (signed transmit power will be
// populated if present, else the unsigned transmit power will be
// populated here.)
optional int32 transmit_power = 8;
optional uint32 radio_number = 9; // The number of the radio
optional RadioBand band = 10; // Band of the radio (2.4/5/6 GHz)
// The band_range tells us if the radio can operate on the whole band
// or only a sub-band for the given phy_type.
optional BandRange band_range = 11;
optional RadioMode mode = 12; // Radio running mode
optional Status status = 13; // Status of the radio
// Describes the HT type of the current radio and which band is available.
optional HTType ht_type = 14;
// Describes which physical channels the current radio supports.
optional PHYType phy_type = 15;
optional ChangeReason chan_reason = 16; // Reason of last channel change
optional ChangeReason eirp_reason = 17; // Reason of last power change
// The power resolution that the current radio supports. Currently, the only
// possible value is 10.
optional uint32 eirp_resolution = 18;
// Current EIRP(Equivalent Isotropic Radiated
// Power(dBW) = P(dBW) + G(dBW))of the current radio
optional int32 eirp = 19;
// Indicates the primary channel number that the current radio is operating on
// (1~14 for 2.4G radio, 36~165 for 5G radio, 1~229 for 6G radio)
optional uint32 primary_chan = 20;
// Indicates the secondary channel number that the current radio is
// operating on. Only valid for 80+80MHz mode, so it is not supported on
// 2.4G radios. (36~161 for 5G radio, 1~221 for 6G radio)
optional uint32 secondary_chan = 21;
// Indicates the channel bandwidth that the current radio is operating on.
optional ChannelBandwidth bandwidth = 22;
optional string spatial_stream = 23; // Supports radio spatial streams, e.g., "2x2:2", "4x4:4", etc.
optional RadioType radio_type = 24; // Radio type, e.g., 802.11
optional RadioAntenna antenna = 25; // Antenna information: internal or external
}
// VAP information
message VapInfo {
optional EventOperation operation = 1; // Action type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
optional string radio_mac_address = 6; // MAC address of the radio
optional string bssid = 7; // BSSID is calculated from the bssid_offset in the source message
optional string essid = 8; // Wireless network
}
// Port information
message PortInfo {
optional EventOperation operation = 1; // Action type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
optional uint32 port_index = 6; // Port Index
optional string port_name = 7; // Port name
optional string port_mac_address = 8; // MAC address of specific port
optional Status status = 9; // Status of the port
// Status of the wired profile port. True is Up. False is Shutdown.
optional bool admin_state = 10;
// Status of the physical port. True is Up. False is Down.
optional bool operate_state = 11;
optional PortType type = 12; // Port type
optional PortMode mode = 13; // Mode of the port
optional PortMaxSpeed speed = 14; // Max speed of the port
optional PortDuplex duplex = 15; // Communication mode of the port
optional PortVLANMode vlan_mode = 16; // VLAN mode of the port
optional uint32 access_vlan = 17; // Native VLAN of access mode (1-4096)
optional uint32 native_vlan = 18; // Native VLAN of trunk mode (1-4096)
optional string allowed_vlan = 19; // Allowed VLAN of trunk mode (1-4096)
optional bool is_uplink = 20; // Indicates whether this port is an uplink
}
// WLAN information
message WlanInfo {
optional EventOperation operation = 1; // Action type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
optional string essid = 6; // Wireless network - Mandatory
optional string vlan = 7; // Configured VLAN under SSID profile
optional WlanOpMode wlan_op_mode = 8; // Security mode
optional WlanType wlan_type = 9; // Wlan type
optional WlanBand wlan_band = 10; // WLAN profile band inclusive of 6 GHz
optional bool status = 11; // True if WLAN status is enabled, false if disabled
}
// Tunnel information
message TunnelInfo {
optional EventOperation operation = 1; // Action type: ADD/UPDATE/DELETE - Mandatory
optional string timestamp = 2; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 3; // Tenant ID - Mandatory
optional string serial_number = 4; // Serial number of the access point - Mandatory
optional string mac_address = 5; // Wired MAC Address of the access point - Mandatory
// Unique identifier of the tunnel.
optional TunnelIndex index = 6;
// Name of the tunnel profile
optional string tunnel_name = 7;
// Crypto type
optional TunnelCryptoType crypto_type = 8;
// Internal IP of the VPN server
optional string peer_ip = 9;
// Internal IP of the Access Point
optional string ip = 10;
// Status of the tunnel.
optional TunnelStatus status = 11;
// This flag indicates whether the tunnel is actively used or not
optional bool active = 12;
// The absolute time since the tunnel has been up in seconds
optional uint32 uptime = 13;
// Peer name (VPN server domain or IP)
optional string peer_name = 14;
}
// AP System stats
message APSystemStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
optional float cpu_utilization = 5; // CPU usage
optional float memory_utilization = 6; // Memory usage
optional double power_consumption = 7; // Current power consumption
}
// Radio stats
message RadioStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
optional string radio_mac_address = 5; // MAC address of the radio - Mandatory
optional RadioBand band = 6; // Band of the radio (2.4/5/6 GHz)
// The band_range tells us if the radio can operate on the whole band
// or only a sub-band for the given phy_type.
optional BandRange band_range = 7;
// The total bytes of 802.11 data frames received from kernel that
// are expected to be transmitted over the air.
optional uint64 tx_bytes = 8;
// The total bytes of 802.11 data frames successfully received over the
// air and the intended recipient is this radio.
optional uint64 rx_bytes = 9;
// The noise floor for the channel that the current radio is operating on and
// the unit is dBm. This will have -ve values.
optional int32 noise_floor = 10;
// Channel quality based on noise level, interference level and retry rate.
// Higher the value, the better the channel quality
optional uint32 channel_quality = 11;
// Channel utilization in percentage
optional uint32 total_utilization = 12;
// Transmit utilization in percentage
optional uint32 tx_utilization = 13;
// Receive utilization in percentage
optional uint32 rx_utilization = 14;
// Non-Wi-Fi interference percentage
optional uint32 non_wifi_interference = 15;
// Absolute frame retries
optional uint64 total_frame_retries = 16;
// Frame retries in percentage
optional float frame_retries = 17;
// Absolute frame drops
optional uint64 total_frame_drops = 18;
// Frame drops in percentage
optional float frame_drops = 19;
}
// VAP stats
message VapStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
optional string radio_mac_address = 5; // MAC address of the radio
optional string bssid = 6; // BSSID of the VAP
optional string essid = 7; // Wireless network
optional uint64 tx_bytes = 8; // Transmit traffic in bytes
optional uint64 rx_bytes = 9; // Receive traffic in bytes
}
// Port stats
message PortStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
optional string port_mac_address = 5; // MAC address of the port
optional uint32 port_index = 6;
// AP port's transmission mode
optional PortDuplex duplex = 7;
// Port's transmission ability
optional PortMaxSpeed speed = 8;
// Transmit data in bytes
optional uint64 tx_bytes = 9;
// Receive data in bytes
optional uint64 rx_bytes = 10;
// Counter of data frames packets transmitted
optional uint64 tx_pkts = 11;
// Counter of data frames packets received
optional uint64 rx_pkts = 12;
// Total errors of data frames (transmitted + received)
optional uint64 total_frame_errors = 13;
// Frame errors in percentage (transmitted + received)
optional float frame_error = 14;
// Total data frames dropped (transmitting + received)
optional uint64 total_frame_drops = 15;
// Frame drops in percentage (transmitting + received)
optional float frame_drops = 16;
// Error value that will increase if a frame is received and the driver can
// decode it, but the basic frame check fails
optional uint32 total_crc = 17;
// CRC errors in percentage
optional float crc = 18;
// Error value that identifies when multiple devices on a network segment try to transmit
// data at the same time, causing the data packets to interfere with each other
optional uint32 total_collision = 19;
// Collision errors in percentage
optional float collision = 20;
}
// Modem stats
message ModemStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
// Transmit traffic in bytes
optional uint64 tx_bytes = 5;
// Receive traffic in bytes
optional uint64 rx_bytes = 6;
// Modem signal intensity. Values < 0 && > -100.
// Part of the ModemInfo from the device.
optional int32 cellular_signal = 7;
// Signal-to-interference-plus-noise ratio of the current cellular network.
// Part of the ModemInfo from the device.
optional uint32 cellular_sinr = 8;
}
// Tunnel stats
message TunnelStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
// Identifier of the tunnel
optional TunnelIndex tunnel_index = 5;
// Name of the tunnel. For 8.X, it is the tunnel profile name. For 10.X, it is the tunnel name
optional string tunnel_name = 6;
// Tunnel interface type
optional TunnelType tun_type = 7;
// Number of bytes sent from the tunnel
optional uint64 tx_bytes = 8;
// Number of bytes received from tunnel
optional uint64 rx_bytes = 9;
// Number of packets sent from the tunnel
optional uint64 tx_pkts = 10;
// Number of packets received from the tunnel
optional uint64 rx_pkts = 11;
}
// Probe stats
message IPProbeStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format
optional string tenant_id = 2; // Tenant ID
optional string serial_number = 3; // Serial number of the access point
optional string mac_address = 4; // MAC Address of the access point
// Process that started the probe
optional ProbeOwner owner = 5;
// Target probe ip address
optional string ip = 6;
// VLAN id of that interface
optional uint32 src_interface = 7;
// Identifier of the tunnel to denote primary or backup. Available in 8X alone
optional TunnelIndex tunnel_index = 8;
// Name of the tunnel. For 8.X, it is the tunnel profile name. For 10.X, it is the tunnel name
optional string tunnel_name = 9;
// Latest probe status
optional ProbeStatus status = 10;
// Latest average loss percentage
optional uint32 loss_percentage = 11;
// Latest average latency
optional uint64 latency = 12;
// Latest average jitter
optional uint64 jitter = 13;
// Latest Mean Opinion Score
optional uint32 mos = 14;
}
// Role stats
message RoleStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
// User Role currently assigned to the AP
optional string user_role = 5;
// Transmit traffic in bytes
optional uint64 tx_bytes = 6;
// Receive traffic in bytes
optional uint64 rx_bytes = 7;
}
// SSID stats
message SsidStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
// SSID of the AP
optional string ssid = 5;
// Transmit traffic in bytes
optional uint64 tx_bytes = 6;
// Receive traffic in bytes
optional uint64 rx_bytes = 7;
}
// Vlan stats
message VlanStat {
optional string timestamp = 1; // Event occurred time in RFC3339 format - Mandatory
optional string tenant_id = 2; // Tenant ID - Mandatory
optional string serial_number = 3; // Serial number of the access point - Mandatory
optional string mac_address = 4; // MAC Address of the access point - Mandatory
// VLAN ID
optional uint32 vlan = 5;
// Transmit traffic in bytes
optional uint64 tx_bytes = 6;
// Receive traffic in bytes
optional uint64 rx_bytes = 7;
}
Supported Event Types
AP Monitoring supports several event types. These values can be used when filtering events at subscription time.
State Event Types
| Title | Event Types |
|---|---|
| APInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.device |
| RadioInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.radio |
| PortInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.port |
| VapInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.virtual_access_point |
| WlanInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.wlan |
| TunnelInfo | com.hpe.greenlake.network-monitoring.v1alpha1.aps.state.tunnel |
Stats Event Types
| Title | Event Types |
|---|---|
| APSystemStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.device |
| RadioStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.radio |
| VapStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.virtual_access_point |
| PortStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.port |
| ModemStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.modem |
| TunnelStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.tunnel |
| IPProbeStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.ip_probe |
| RoleStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.user_role |
| SsidStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.ssid |
| VlanStat | com.hpe.greenlake.network-monitoring.v1alpha1.aps.stats.vlan |
Updated about 12 hours ago