Extract data from ThousandEyes REST API and visualize it on your customized Grafana Dashboard.

Overview

ThousandEyes Grafana Dashboard

Extract data from the ThousandEyes REST API and visualize it on your customized Grafana Dashboard. Deploy Grafana, InfluxDBv2 and the Python connector script within a few minutes.

Supported Functions

  • Get historic data (custom time range) and pull new data (set your own interval) from your ThousandEyes tests.
  • Grafana, a sample Dashboard-template and InfluxDBv2 are already pre-configured
  • Collected data is persistent! It will remain untouched even after the containers will be restarted.
  • Currently Supported Tests:
    • (Web) Page load
    • (Web) HTTP server
    • (Network) End-to-End metrics
    • (Network) Path visualization

Visuals

Prepare: Create Label (optional), clone git-repo, change settings in config.py

Run: Start containers, copy and insert testId into Grafana

Dashboard-Template Screenshots

Installation

Prerequisites

  • git, Docker/Docker-compose installed

Installation Steps

  1. Clone repository
git clone https://github.com/flopach/thousandeyes-grafana-dashboard.git
  1. Change your desired settings in the docker/py_connector/config.py file.

  2. Start all containers from the docker/ directory. This may take some minutes.

docker-compose up

More useful commands:

  • Run as daemon mode: docker-compose up -d
  • Stops containers: docker-compose down
  • Build again the containers (when you changed the Python scripts): docker-compose build

Configuration

Configure: config.py

Simply open docker/py_connector/config.py in any text-editor to set your desired configuration.

  • Create OAuth Bearer Token: Account Settings > Users and Roles >> User API Tokens
  • 2 data selection options:
    • Default: py_connector will add ALL HTTP-Server and Page-Load tests
    • Option: py_connector will add ONLY tests with the defined label
  • time window
  • pull interval

Example: When you've created a ThousandEyes page-load test (see below), you will receive data from 4 views:

Configure: Dashboards

Login to Grafana dashboard and configure your dashboard modules by inserting the ThousandEyes testId. Additionally, use the query editor from the InfluxDB UI as a help to create and copy the Flux language syntax snippet.

Login Grafana - http://localhost:3000

  • username: admin
  • password: admin123

Login InfluxDB - http://localhost:8086

  • username: admin
  • password: admin123

Configure: docker-compose.yml (optional)

If you are not familiar with Docker compose, go ahead to check the documentation. Basically, 4 containers will be spun up:

  • InfluxDBv2: data will be stored outside of the container
  • InfluxDBv2 CLI setup instance: Will setup the other InfluxDBv2 container if it is not setup yet
  • Grafana Dashboard: configuration settings will be stored outside of the container
  • Py connector: Python connector scripts (stored in the py_connector folder)

Good to knows

- InfluxDB Setup Error

When you have already started docker-compose and are re-starting the containers, this error is normal:

influxdb_setup_1  | Error: instance at "http://influxdb:8086" has already been setup
influxdb_setup_1  | See 'influx setup -h' for help
influxdb_setup_1 exited with code 1

- Changing the settings in config.py

When you have already started docker-compose once and would like to change the settings, you need to re-build the py_connector container:

docker-compose build

Versioning

1.0 (Sep 2021) - Initial version

License

This project is licensed under the Cisco Samplel Code License 1.1 - see the LICENSE.md file for details

Further Links

Owner
Flo Pachinger
Developer Advocate at Cisco DevNet
Flo Pachinger
A Simple Flask-Plotly Example for NTU 110-1 DSSI Class

A Simple Flask-Plotly Example for NTU 110-1 DSSI Class Live Demo Prerequisites We will use Flask and Ploty to build a Flask application. If you haven'

Ting Ni Wu 1 Dec 11, 2021
Ana's Portfolio

Ana's Portfolio ✌️ Welcome to my Portfolio! You will find here different Projects I have worked on (from scratch) 💪 Projects 💻 1️⃣ Hangman game (Mad

Ana Katherine Cortes Sobrino 9 Mar 15, 2022
flask extension for integration with the awesome pydantic package

Flask-Pydantic Flask extension for integration of the awesome pydantic package with Flask. Installation python3 -m pip install Flask-Pydantic Basics v

249 Jan 06, 2023
Pydrawer: The Python package for visualizing curves and linear transformations in a super simple way

pydrawer 📐 The Python package for visualizing curves and linear transformations in a super simple way. ✏️ Installation Install pydrawer package with

Dylan Tintenfich 56 Dec 30, 2022
Declarative statistical visualization library for Python

Altair http://altair-viz.github.io Altair is a declarative statistical visualization library for Python. With Altair, you can spend more time understa

Altair 8k Jan 05, 2023
阴阳师后台全平台(使用网易 MuMu 模拟器)辅助。支持御魂,觉醒,御灵,结界突破,秘闻副本,地域鬼王。

阴阳师后台全平台辅助 Python 版本:Python 3.8.3 模拟器:网易 MuMu | 雷电模拟器 模拟器分辨率:1024*576 显卡渲染模式:兼容(OpenGL) 兼容 Windows 系统和 MacOS 系统 思路: 利用 adb 截图后,使用 opencv 找图找色,模拟点击。使用

简讯 27 Jul 09, 2022
Simple and lightweight Spotify Overlay written in Python.

Simple Spotify Overlay This is a simple yet powerful Spotify Overlay. About I have been looking for something like this ever since I got Spotify. I th

27 Sep 03, 2022
PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disributions on polytopes

PolytopeSampler PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disrib

9 Sep 26, 2022
🌀❄️🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in python3.

Weather-Plotting 🌀 ❄️ 🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in pytho

Giannis Dravilas 21 Dec 10, 2022
patchwork for matplotlib

patchworklib patchwork for matplotlib test code Preparation of example plots import seaborn as sns import numpy as np import pandas as pd #Bri

Mori Hideto 185 Jan 06, 2023
Parallel t-SNE implementation with Python and Torch wrappers.

Multicore t-SNE This is a multicore modification of Barnes-Hut t-SNE by L. Van der Maaten with python and Torch CFFI-based wrappers. This code also wo

Dmitry Ulyanov 1.7k Jan 09, 2023
An XLSX spreadsheet renderer for Django REST Framework.

drf-renderer-xlsx provides an XLSX renderer for Django REST Framework. It uses OpenPyXL to create the spreadsheet and returns the data.

The Wharton School 166 Dec 01, 2022
Visualization Library

CamViz Overview // Installation // Demos // License Overview CamViz is a visualization library developed by the TRI-ML team with the goal of providing

Toyota Research Institute - Machine Learning 67 Nov 24, 2022
This project is an Algorithm Visualizer where a user can visualize algorithms like Bubble Sort, Merge Sort, Quick Sort, Selection Sort, Linear Search and Binary Search.

Algo_Visualizer This project is an Algorithm Visualizer where a user can visualize common algorithms like "Bubble Sort", "Merge Sort", "Quick Sort", "

Rahul 4 Feb 07, 2022
clock_plot provides a simple way to visualize timeseries data, mapping 24 hours onto the 360 degrees of a polar plot

clock_plot clock_plot provides a simple way to visualize timeseries data mapping 24 hours onto the 360 degrees of a polar plot. For usage, please see

12 Aug 24, 2022
A concise grammar of interactive graphics, built on Vega.

Vega-Lite Vega-Lite provides a higher-level grammar for visual analysis that generates complete Vega specifications. You can find more details, docume

Vega 4k Jan 08, 2023
Visualize tensors in a plain Python REPL using Sparklines

Visualize tensors in a plain Python REPL using Sparklines

Shawn Presser 43 Sep 03, 2022
Python package to visualize and cluster partial dependence.

partial_dependence A python library for plotting partial dependence patterns of machine learning classifiers. The technique is a black box approach to

NYU Visualization Lab 25 Nov 14, 2022
Visualization of hidden layer activations of small multilayer perceptrons (MLPs)

MLP Hidden Layer Activation Visualization To gain some intuition about the internal representation of simple multi-layer perceptrons (MLPs) I trained

Andreas Köpf 7 Dec 30, 2022
A simple python script using Numpy and Matplotlib library to plot a Mohr's Circle when given a two-dimensional state of stress.

Mohr's Circle Calculator This is a really small personal project done for Department of Civil Engineering, Delhi Technological University (formerly, D

Agyeya Mishra 0 Jul 17, 2021