Extracting and integrating knowledge into your individual dashboard
In Half 1, my colleague Mel Delgado gave an introduction to ThousandEyes, and how one can deploy your individual ThousandEyes agent at house through a raspberry pi. This SaaS platform is all about offering observability within the WAN with brokers working within the cloud, on prem, or in your finish host. Customers will get insights into latency, packet loss, community hops, BGP routing, but in addition HTTP web page load time, DNS server response time, DOM load time and so many extra stats! I believe it’s secure to say that ThousandEyes is amassing tons of meta-data concerning the well being of the entire Web and particularly to your working providers.
ThousandEyes already offers a complicated and customizable web-dashboard and this is perhaps ample for many customers. Nonetheless, what if you want to combine knowledge from ThousandEyes into your individual utility or dashboard? Or, you wish to use completely different visualization kinds, and even show aggregated datasets? If that’s the case, learn on!
Extract and Combine ThousandEyes Information
Extracting knowledge from ThousandEyes is simple with the in depth REST API. You possibly can get extra info on the developer reference web page. With the API you’ll be able to merely pull the historic or newest knowledge out of your ThousandEyes account to any database and visualize it in your dashboard utility of alternative. For example, I used a Python script to fetch and insert the information into the time-series database InfluxDB and visualized the information through the analytics & monitoring resolution Grafana. To scale back the implementation time for brand spanking new customers, I packaged the whole lot in a multi-container Docker utility through Docker-Compose.
The very best half is, you’ll be able to strive it out inside minutes! Get the code and clone the repository from the DevNet Code Alternate.
Getting historic knowledge and leveraging the Grafana dashboard
The python connector script permits to fetch even historic knowledge (the person can outline the time vary) from ThousandEyes which shall be then inserted within the database. You possibly can then already see some knowledge within the pre-created Grafana dashboard template which you’ll be able to edit to your wants. You possibly can see some screenshots under. Moreover, you can too mix numerous knowledge sources into the identical dashboard (e.g. from WAN routers or firewalls) which might provide the final single view on the well being of your property.
Grafana Dashboard Template Web page 1
Grafana Dashboard Template Web page 2
Behind the Scenes
I selected to create a Python connector script to have full management of what knowledge needs to be inserted into influxDB and to have the flexibility to fetch historic knowledge from ThousandEyes. An alternate could be to create a Telegraf plugin in Go to get the newest knowledge.
The information is coming from assessments that are configured within the ThousandEyes dashboard. Since each check is amassing completely different knowledge, and there are numerous assessments, the Python connector scripts solely help the preferred check sorts as of now – (Internet) web page load, (Internet) HTTP server, (Community) end-to-end metrics, (Community) path visualization. An important info to get the proper knowledge from these assessments is the testId which could be queried through the REST API as documented right here. After you have the ID, you’ll be able to question the information from every of those check sorts.
I hope you should utilize this small utility to extract knowledge out of ThousandEyes! After all, be at liberty to go to DevNet Code Alternate to increase it!
Learn the way Cisco’s ThousandEyes offers visibility and helps resolve networking issues throughout the web. DevNet Snack Minute Episode 35
We’d love to listen to what you suppose. Ask a query or depart a remark under.
And keep related with Cisco DevNet on social!