Search…
Monitoring
OpenWiFi 2.0 Telemetry and Analysis
TIP OpenWiFi software stack is envisioned to have a rich telemetry data that can be extracted, transformed and stored for analytics purposes. This section will outline various integration using the current capabilities of the OpenWiFi release. These integrations will provide examples for the community to enrich, adopt and productize.
The current release of OpenWiFi utilizes both a rich open API and Kafka for retrieving telemetry information from Access Points and SDK services. For the purpose of this section and Release 2.0 we will be showcasing Kafka integration with third party monitoring subsystems.

Kafka Data Source

The current release of 2.0 SDK architecture contains a Kafka broker for the purposes inter-services communication, state, healthcheck, device provisioning state producing and consuming Kafka topics. You can find the latest information related to Kafka topics here: https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/KAFKA.md#kafka-integration
The current Kafka topics used for this monitoring integration are:
  • state
  • healthcheck
All Kafka messages carry a JSON payload, example of a healthcheck message is as follow:
1
{
2
"system":{
3
"id":179033843641952,
4
"host":"https://gw-ucentral-dev01.cicd.lab.wlan.tip.build:17002"
5
},
6
"payload":{
7
"data":{
8
"interfaces":{
9
"up0v0":{
10
"dhcp":false,
11
"location":"/interfaces/0"
12
}
13
},
14
"unit":{
15
"memory":36
16
}
17
},
18
"sanity":67,
19
"serial":"112233445566",
20
"uuid":1627357625
21
}
22
}
Copied!
A state Kafka message looks like:
1
{
2
"system":{
3
"id":179033843641952,
4
"host":"https://gw-ucentral-dev01.cicd.lab.wlan.tip.build:17002"
5
},
6
"payload":{
7
"serial":"112233445566",
8
"state":{
9
"interfaces":[
10
{
11
"clients":[
12
{
13
"ipv6_addresses":[
14
"fe80:0:0:0:206:aeff:fee0:69ad"
15
],
16
"mac":"07:06:06:06:06:06",
17
"ports":[
18
"eth1"
19
]
20
},
21
{
22
"ipv4_addresses":[
23
"192.168.4.1"
24
],
25
"mac":"01:02:03:04:05:06",
26
"ports":[
27
"eth1"
28
]
29
}
30
],
31
"counters":{
32
"collisions":0,
33
"multicast":63,
34
"rx_bytes":14725,
35
"rx_dropped":0,
36
"rx_errors":0,
37
"rx_packets":209,
38
"tx_bytes":13571,
39
"tx_dropped":0,
40
"tx_errors":0,
41
"tx_packets":80
42
},
43
"dns_servers":[
44
"1.1.1.1",
45
"9.9.9.9"
46
],
47
"ipv4":{
48
"addresses":[
49
"192.168.4.33/24"
50
],
51
"leasetime":600
52
},
53
"location":"/interfaces/0",
54
"name":"up0v0",
55
"uptime":31349
56
},
57
{
58
"counters":{
59
"collisions":0,
60
"multicast":0,
61
"rx_bytes":0,
62
"rx_dropped":0,
63
"rx_errors":0,
64
"rx_packets":0,
65
"tx_bytes":1058,
66
"tx_dropped":0,
67
"tx_errors":0,
68
"tx_packets":5
69
},
70
"ipv4":{
71
"addresses":[
72
"192.168.1.1/24"
73
]
74
},
75
"location":"/interfaces/1",
76
"name":"down1v0",
77
"uptime":31355
78
}
79
],
80
"radios":[
81
{
82
"active_ms":24459917,
83
"busy_ms":1173593,
84
"channel":149,
85
"channel_width":"80",
86
"noise":4294967198,
87
"phy":"soc/40000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0",
88
"receive_ms":4647,
89
"transmit_ms":88272,
90
"tx_power":30
91
},
92
{
93
"active_ms":24456321,
94
"busy_ms":11878205,
95
"channel":11,
96
"channel_width":"20",
97
"noise":4294967204,
98
"phy":"platform/soc/a000000.wifi",
99
"receive_ms":1329,
100
"transmit_ms":73228,
101
"tx_power":30
102
},
103
{
104
"active_ms":24458178,
105
"busy_ms":1162312,
106
"channel":36,
107
"channel_width":"80",
108
"noise":4294967192,
109
"phy":"platform/soc/a800000.wifi",
110
"receive_ms":12339,
111
"transmit_ms":86904,
112
"tx_power":23
113
}
114
],
115
"unit":{
116
"load":[
117
0.190921,
118
0.263188,
119
0.240726
120
],
121
"localtime":1627418941,
122
"memory":{
123
"free":348540928,
124
"total":520409088
125
},
126
"uptime":31386
127
}
128
},
129
"uuid":1627357625
130
}
131
}
Copied!
Last modified 9d ago
Export as PDF
Copy link