Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The WAS mainly consists of two software components: A - The WiFiMon Agent and B - The WiFiMon GUI.

A - WiFiMon Agent

The WiFiMon Agent is responsible for performing the following actions: 

  • The analysis of crowdsourced measurements. These measurements are received from end users and WAS correlates them with information received from RADIUS and DHCP Logs when/if this information is available.
  • The analysis of hardware probe measurements. These measurements are received from WHP's and  WAS correlates them with information received from RADIUS and DHCP Logs when/if this information is  available.
  • The analysis of wireless network metrics received from WHP's.
  • The analysis of TWAMP measurement results received from WHP's.
  • Storing the results of analysis and correlation.
  • Detecting anomalies in WiFiMon performance measurements

WiFiMon Agent operates over HTTPS, i.e. measurements are streamed over HTTPS.

B - WiFiMon GUI

The WiFiMon GUI provides a graphical representation of the measurement results and various analyses as described above.

WAS Installation and Configuration Guide

WiFiMon can be installed using an Ansible Playbook that is available from here along with details on how to configure WiFiMon parameters. The following section provides information on how to set configuration parameters in templates/secure-processor.properties.j2 and templates/ui.properties.j2

Be aware to use the following values in the variables configuration file of Ansible Playbook: (1) ELK stack version 8.8, (2) PostgreSQL version 15 and (3) WiFiMon agent version 2.12.10. The WiFiMon deb package is available from http://83.97.95.167/deb/wifimon-agent-2.12.10.deb.

1. WiFiMon Properties 

In secure-processor.properties.j2 template file, the WiFiMon administrator may select whether to use or not a JSON exporter. This exports measurements of hardware probes towards a JSON collector. Although this feature is mainly designed for the eduroam JSON collector, it can be adapted to the needs of the WiFiMon administrator for exporting data in the desired format. If the WiFiMon administrators wants to disable this process, property "json.collect" should be set to "false", otherwise to "true". The URL of the JSON collector should be specified with the property "json.collector".

WiFiMon provides methods for checking if a novel software version is available. Therefore, the running version of the WiFiMon software is compared with the most recent version that is stored within a VM provided by GÉANT. Apart from information about novel versions, this VM also keeps some statistics of WiFiMon end users involving their IP address and running version. The purpose of this is to track how many users are currently utilizing WiFiMon and what software versions are used. If the WiFiMon administrator wants to be excluded from this process, "user.tracking" should be changed to "no" in ui.properties.j2 template file.

2. WiFiMon Code Compilation

Note: This step is only required if the WiFiMon code is modified by the WiFiMon administrator to include novel features.

...

cp agent/wifimon-assembly/target/wifimon-agent-bin/secure-processor-2.12.10.war /usr/lib/wifimon/secure-processor-2.12.10.war
cp agent/wifimon-assembly/target/wifimon-agent-bin/ui-2.12.10.war /usr/lib/wifimon/ui-2.12.10.war

Finally, WiFiMon can be started by using the start.sh script within /usr/lib/wifimon.

3. Distributed WHP Control

Distributed control of probes is possible using the Salt infrastructure management tool and Jinja2 templates. You first have to accept Salt keys of minions (WHP's) using the following commands:

salt-key -L to list minions
salt-key -A to accept minion keys

Then, you may configure probes by visiting Configure-> Control Probes from the WiFiMon UI and filling in the appropriate information