clab-telemetry-linker

module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2024 License: Apache-2.0

README

containerlab telemetry linker


GitHub Release


Overview

The clab-telemetry-linker service was developed to solve the missing performance measurement support issue in virtual XRd routers, leading to streaming telemetry messages with empty or fixed values. This service allows for the simulation of network impairments like delay, jitter, packet loss, and bandwidth limitations within a containerlab network. By utilizing the containerlab interface, the clab-telemetry-linker can adjust these impairments in the virtual network and populate the streaming telemetry with these values, plus or minus a random value. It can be used with Jalapeno or another similar tech stack using Telegraf, Kafka, and InfluxDB.

Functionality

The Cisco IOS-XRd devices deployed with containerlab transmit telemetry data (Cisco MDT / YANG PUSH) with empty/static values to Telegraf Ingress. The messages are then converted into JSON format and forwarded to Kafka, where they become available in the receiver topic for the clab-telemetry-linker. The data is then processed with the applied impairment values. After processing, the data is converted into Influx Line Protocol and sent to Kafka Publisher Topic. From there, each message is taken by Telegraf Egress and added to the InfluxDB. The following impairments can be linked:

  • delay
  • jitter (delay variation)
  • packet loss
  • bandwidth / rate

Usage

clab-telemetry-linker [command]

Commands

  • Set Impairments - set
  • Show Impairments - show
  • Delete Impairments - delete
  • Start Service - start
  • Print Version - version

Installation

Using Package Manager

For Debian-based systems, install the package using apt:

sudo apt install ./clab-telemetry-linker_{version}_amd64.deb

Using Binary

git clone https://github.com/hawkv6/clab-telemetry-linker
cd clab-telemetry-linker && make binary
sudo ./bin/clab-telemetry-linker

Getting Started

  1. Start the collector pipeline.

  2. Install the network.

  3. Install clab-telemetry-linker.

  4. Set the initial impairments using the set command.

  5. Start the service using the start command.

Additional Info

  • The default configuration file is located at $HOME/.clab-telemetry-linker/config.yaml
  • The default containerlab prefix is: clab-hawkv6 (can be modified in the config file)
  • More details about network configurations are available in network config documentation
  • Example telemetry messages can be found in the examples folder
  • clab-telemetry-linker forwards impairments to the relevant containerlab command. More information can be found here

Directories

Path Synopsis
cmd
internal
pkg
command
Package command is a generated GoMock package.
Package command is a generated GoMock package.
config
Package config is a generated GoMock package.
Package config is a generated GoMock package.
consumer
Package consumer is a generated GoMock package.
Package consumer is a generated GoMock package.
helpers
Package helpers is a generated GoMock package.
Package helpers is a generated GoMock package.
processor
Package processor is a generated GoMock package.
Package processor is a generated GoMock package.
publisher
Package publisher is a generated GoMock package.
Package publisher is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL