Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

networktocode/clemea-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Take advantage of the Telemetry Stack!

This repository aims to provide a lab environment to practice concepts for the DevNet workshop "Take Advantage of your Telemetry Stack! How to Retrieve Data Programmatically to Aid in your Network Operations - DEVWKS-2452".

It provides setup instructions for a network lab with multiple CSR1kv devices to get telemetry data on. It also provides setup and instructions to setup a small Telemetry Stack based on Telegraf, Prometheus and Grafana to capture, normalize, store and visualize the data.

Optionally you can setup a Nautobot instance that hold extra information of the network devices topology that can further enrich the data obtained from the Telemetry Stack.

Lab Topology

The lab topology has 2 setups.

  • Network Topology: The lab is running with containerlab.
  • Telemetry Stack: It is based on a popular setup of Telegraf, Prometheus and Grafana containers.

Specs: The lab is best run on Linux-based OS system with around 8 GB of RAM due to the amount of resources. For the demo it is running on Digital Ocean General purpose Ubuntu VMs with 4 vCPUs and 8 GB of RAM.

Dependencies: This is a container-based setup for the network and the Telemetry stack services. And for this you will need:

Setup Network Lab (containerlab)

The clemea-demo topology is under the ./containerlab folder. To deploy the lab you will need to have the necessary network container images. For example see here.

After having the necessary container images, you can deploy the lab:

# Position into the containerlab folder
cd ./containerlab

# Deploy the clemea-demo lab
containerlab deploy -t clemea-demo.yml

# Go back to root folder
cd ../

You should be able to see the devices connected as depicted on the picture above.

Setup Telemetry Stack (TPG)

The tlm_stack folder has the necessary configuration and files to spin up the Telemetry Stack.

# Position into the tlm_stack folder
cd ./tlm_stack

# You will need environment variables to run the TPG stack containers
cp example.env .env

# Deploy the Telemetry Stack
docker compose --project-name tpg -f docker-compose.yml up -d --remove-orphans

# Check all containers are up and running
docker ps

# Go back to root folder
cd ../

Demo Nautobot for data enrichment

For the week of the Cisco Live Amsterdam event (2023), the devices for the lab are populated in Nautobot Demo.

If you want to setup a local Nautobot lab to run this examples in the future, checkout nautobot-lab.

Labs

The workshop is divided into 2 sections to better understand the concept of telemetry modeled data and the capabilitites of the telemetry stack. For more information around the questions and answers of the labs follow the links below.

Sauron example (using the stored data programatically)

Sauron Help

Sauron script for getting links with high bandwidth

Sauron progress bar script for watching interface bandwidth

About

For Cisco Live Amsterdam workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages