Skip to content

robertcsapo/cat9kthousandeyesctl

Repository files navigation

cat9kthousandeyesctl

Cisco ThousandEyes is a digital experience monitoring platform to see, understand, and improve digital experiences over any network. ThousandEyes offers global vantage points from which users can run a variety of tests to gain more insights and to monitor the performance of their business-critical applications or the network itself.

Deploy Cisco ThousandEyes agent on Cisco Catalyst 9000 with cat9kthousandeyesctl

cat9kthousandeyesctl deploy -c config.yaml  
Deploying Thousand Eyes Agents
100.118.1.71:   Thousand eyes agent deployed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:02:15
100.118.1.69:   Thousand eyes agent deployed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:02:13
100.118.1.81:   Thousand eyes agent deployed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:02:14
cat9kthousandeyesctl status -c config.yaml            
Collecting status of Thousand Eyes Agents
100.118.1.71:   Status completed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:03
100.118.1.69:   Status completed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:03
100.118.1.81:   Status completed  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:03
                                                                         
                       Status Thousand Eyes Agents                       
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Host         ┃ Hardware   ┃ Subscription  ┃ Version  ┃ Iox  ┃ Apps                          ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 100.118.1.71 │ C9300-24UX │ dna-advantage │ 17.03.03 │ True │ thousandeyes_enterprise_agent │
│ 100.118.1.69 │ C9300-24UX │ dna-advantage │ 17.03.03 │ True │ thousandeyes_enterprise_agent │
│ 100.118.1.81 │ C9300-24UX │ dna-advantage │ 17.03.03 │ True │ thousandeyes_enterprise_agent │
└──────────────┴────────────┴───────────────┴──────────┴──────┴───────────────────────────────┘

Prerequisites

  • Network connectivity
    • Internet
    • DNS
    • DHCP
  • Cisco ThousandEyes Account (Free trial)
    • Token
  • Cisco Catalyst 9000
    • C9300
    • C9400
  • Cisco IOS-XE Software
    • 17.3.3+
  • netconf-yang enabled
  • Python 3
    • Version: 3.7+

Installation

Python Package Index (PyPI)

pip install cat9kthousandeyesctl

cat9kthousandeyesctl --help

Config

Download config.yaml sample config

  • Edit settings in config.yaml
    • Username
    • Password
    • VLAN
    • ThousandEyes Token
    • Hosts (Catalyst 9300/9400 devices)

Deploy

cat9kthousandeyesctl deploy --config config.yaml

Status

cat9kthousandeyesctl status --config config.yaml

Undeploy (remove)

cat9kthousandeyesctl undeploy --config config.yaml

Features

Include a succinct summary of the features/capabilities of your project.

  • Deploy
  • Status
  • Undeploy
  • YAML Config
    • VLAN
    • Agent Download URL
  • Interactive mode (prompt)

Technologies & Frameworks Used

Cisco Products & Services:

  • Cisco Catalyst 9000
  • Cisco ThousandEyes

Tools & Frameworks:

  • Python
    • click
    • ncclient
    • rich
  • Docker

Usage

Usage: cat9kthousandeyesctl [OPTIONS] COMMAND [ARGS]...

  Manage ThousandEyes Agent on Catalyst 9000

Options:
  --version  Show the version and exit.
  --debug    Enable logging
  --help     Show this message and exit.

Commands:
  deploy       Deploy ThousandEyes Agent
  interactive  Interactive TTY mode
  status       Status of Application Hosting on the devices
  undeploy     Remove ThousandEyes Agent

Config

# Netconf Settings
username: admin
password: password
port: 830
timeout: 600

# Thousand Eyes Agent Settings
download_url: https://downloads.thousandeyes.com/enterprise-agent/thousandeyes-enterprise-agent-3.0.cat9k.tar
appid: thousandeyes_enterprise_agent
vlan: 1
token: thousandeyes_token

# Devices to manage
hosts:
  192.168.1.1:
  192.168.1.2:
    vlan: 100 # Override global vlan
  10.0.0.1:
    vlan: 200
  10.0.0.2:
    vlan: 200

Authors & Maintainers

License

This project is licensed to you under the terms of the Cisco Sample Code License.