Purpose of this lab is to demonstrate capabilities of Streaming Telemetry.
In this lab there is a small network of Nokia SR Linux switches (because they are publicly available for lab use). Switches send continous stream of telemetry data to gnmic which is gnmi collector. gnmic pushes data to InfluxDB. Grafana queries data from InfluxDB and visualizes it to dashboards.
Everything in this lab is powered by containerlab.
Note: This lab is greatly inspired by Nokia SR Linux Streaming Telemetry Lab and uses their images for clients and devcontainer. Network part is mostly copied from there. Telemetry stack sligtly differs.
This lab consist of five switches, three linux clients and telemetry components gNMIc, InfluxDB and Grafana. Green management network which is shown in the diagram provides connectivity between all nodes. White links form datapath between clients and switches.
Note: it is not mandatory to run this lab in Codespaces. You can run this lab on any machine which has containerlab installed.
![]() |
![]() |
![]() |
![]() |
![]() |
Run this lab in GitHub Codespaces for free.
Learn more about Containerlab for Codespaces.
Machine type: 4 vCPU · 8 GB RAM
This lab can be run completely on Github Codespaces:
- Click Run In Codespaces
- Start containerlab by typing
sudo clab deployto terminal which opened in VScode inside browser (or deploy from containerlab VScode extension menu)
Press Ctrl + Shift + P to open command palette in VScode and select Codespaces: Stop codespace. After that lab is stopped and doesn't consume your Codespaces quota.
If you just want to stop container lab type sudo clab destroy
| System | Username/password |
|---|---|
| Grafana | grafana/grafana |
| InfluxDB | influx/influxinflux |
| SR-Linux Switches | admin/NokiaSrl1! |
You can use following commands to ask clients to send some traffic:
bash traffic.sh start all- start traffic between all nodesbash traffic.sh start 1-2- start traffic between client1 and client2bash traffic.sh start 1-3- start traffic between client1 and client3
To stop the traffic:
bash traffic.sh stop- stop traffic generation between all nodesbash traffic.sh stop 1-2- stop traffic generation between client1 and client2bash traffic.sh stop 1-3- stop traffic generation between client1 and client3




