Everything Is Better with a GUI (even netlab)

Some people think that everything is better with Bluetooth (or maybe it’s AI these days). They’re clearly wrong; according to the ancient wisdom of product managers working for networking vendors, everything is better with a GUI.

Now imagine adding network topology visualizer and GUI-based device access with in-browser SSH to an intent-based infrastructure-as-code virtual network function labbing tool. How’s that for a Bullshit Bingo winner1?

On a more serious note, Stefano Sasso figured out the configuration file format of Graphite (Web UI/graphing tool used with containerlab) and created an output module that generates a Graphite configuration file from netlab lab topology.

BGP anycast lab displayed by Graphite

BGP anycast lab displayed by Graphite

Adding a GUI to a netlab lab is as easy as 1-2-3:

  • Install Docker on your Linux host (Graphite works with libvirt or containerlab virtualization providers).
  • Add the graphite external tool to your lab topology – it’s just two extra lines:

As the last step in the lab startup process, netlab up command will:

  • Create Graphite configuration files
  • Start the Graphite container
  • Print the URL to use to access the GUI.


  • The functionality described in this blog post works with netlab release 1.5.2 or higher.
  • If you want to access the GUI from another host, replace the loopback IP address in the URL with the physical IP address of your lab host.

Revision History

Rewrote the blog post to describe the new external tools functionality.

  1. This would have been an awesome April 1st post; unfortunately Stefano created this functionality a few weeks too late. ↩︎

Add comment