Grafana Metrics GUI

Note

The GrafanaGUI works with both the monolithic gNB and srsDU applications. The configuration changes required are the same for both applications.

srsRAN allows the reporting and visualization of the CU/DU metrics to a Grafana WebUI. This is done through the use of a Docker container that comes as standard with the srsRAN code base, located in the ~/srsRAN/docker/ folder. This container allows users to bring up the Grafana dashboard in a single command.

Further Reading:


Configuration

To use the Grafana webUI, you will first need to have Docker installed on your system, you will also need to modify the srsRAN gNB or DU configuration file to allow the reporting of the metrics to the necessary JSON format for use in the webUI.

Docker

Using the Docker Containers included with srsRAN requires docker compose to be installed on your system. You can read about docker compose here. There are multiple ways to install this, but the most basic way to do so is to install Docker Desktop. For installing Docker Desktop on linux, take a look at the Docker documentation.

Note

We recommend using a Docker Compose V2 or later.

srsRAN

To enable the correct reporting of metrics to the Grafana UI, the srsRAN gNB or DU configuration files needs to be updated to allow the metrics to be output in the correct JSON format and then sent through a udp-socket to the metrics-server, where it can be parsed and displayed correctly by the GUI.

metrics:
    enable_json_metrics: true       # Enable reporting metrics in JSON format
    addr: 172.19.1.4                # Metrics-server IP
    port: 55555                     # Metrics-server Port

The addr and port values defined above mirror those set in the docker-compose.yml file found in ~/srsRAN_Project/docker. Any changes in these values must be kept consistent across both files.


Launching GUI

To launch the docker image for the Grafana UI, run the following command from the main folder containing srsRAN:

sudo docker compose -f docker/docker-compose.yml up grafana

The following output should be observed:

Creating network "docker_ran" with the default driver
Starting metrics_server ...
Starting metrics_server ... done
Creating grafana        ... done
Attaching to grafana

Navigating to http://localhost:3300/ in your preferred web browser will allow you to view the UI.

You can then run srsRAN as normal. As the UE(s) connect to the network you will begin to see an output for each. These figures and graphics will update automatically during runtime, showing plots for each UE on the network.


GUI Output

A sample of the UI output can be seen here:

../../_images/grafana_cots.png

The above figure shows a single COTS UE connected to the network, with different traffic bursts of varying bandwidth being generated using iPerf. The cell bandwidth is 20 MHz.