This article was written by Matt Schmitz,
Technical Solutions Specialist,
Cisco’s Global Virtual Engineering (GVE) DevNet team.
Visit the GVE DevNet GitHub page
Networks continue to become more complex with so many new devices and services to support – but there is one constant: the need for good monitoring tools! It’s about having the right data points at the right time and presented in the right way.
As IoT sensors become more common and more devices come with embedded sensors, we have more information available than ever before. Now the question becomes: “How do we use all this information?” While some sensors may offer their own custom reporting tools or software, others may simply expose an API. In either case, metrics won’t help if we can’t find or use the data in a way that works for us.
So how do we get all our sensor telemetry into one place and present it in a useful way? One way is to write scripts to query all of our sensors and devices, then push those data points into a time-series database, like InfluxDB. Once we’ve collected all that data in one place, we can use Grafana to create custom dashboards to track what we care about. This way, we can get all of our telemetry into a single reporting tool, then build custom graphs and dashboards to display the data exactly how we need it.
What would it look like in practice? Well, let’s take a look at some examples where our team has helped Cisco customers build custom reporting tools.
While each example below has unique devices and challenges, the overall goal is the same: Collect telemetry to use for custom dashboarding, reporting, and/or alerting. In each case, we used a bit of custom code to collect metrics from the devices and import them into an Influx database. We then created dashboards in Grafana to present historical and real-time data in a way that helped address unique customer challenges.
DOM Telemetry Monitoring
In this example, we worked with a customer who was looking for a better way to proactively monitor their large fiber-based network. Using the Digital Optical Monitoring (DOM) telemetry offered by fiber transceivers, they can watch performance trends and be alerted immediately when issues arise. Our team used a combination of Python and Ansible to periodically query network devices for optical telemetry. Collected telemetry is used to build a dashboard that displays real-time and trending health statistics. Optionally, the customer can enable Webex push notifications when transceivers exceed predefined thresholds. This allows the customer to quickly respond to health issues and address disruptive connectivity before service impact outages occur. See sample code and instructions in the DOM Telemetry repo.
Meraki MT Dashboard
In this example, we have a customer who wants to monitor temperature deviations between hot and cold aisles in their data center. The customer has already purchased Meraki MT temperature sensors and installed them in each rack. However, they wanted a better way of aggregating and visualizing temperature and humidity data. To meet customer needs, we created a custom flask dashboard that displays each row of racks and the current temperatures on each sensor. This helped create an easy visualization for customer engineers to find temperature deviations in each row. This dashboard includes integrated graphs to show historical and trending data for each hot or cold aisle. See sample code and instructions in the Meraki MT repo.
For our final example, we need to provide a custom system to track energy use within a new commercial building. The building is equipped with smart lighting powered by Cisco’s Catalyst Digital Building (CDB) Switches. Since all lighting in the building is powered by Power over Ethernet (PoE), we were able to query the CDB switches to collect power consumption on a per-port basis. Providing this telemetry in a dashboard format allowed the customer to monitor energy use within the building, enabling them to meet their cost and sustainability goals. See sample code and instructions in the PoE Measurement repo.
Get sample code and instructions
These days, there is more than enough data available to meet our monitoring and reporting needs, but we just need to know the best way to use that information. With a little custom code and some great open-source tools, it’s easier than ever to build simple monitoring and reporting dashboards.
If you are interested in learning more about the examples, check out the links below. Each repository contains sample code and instructions for how to use it on your own network:
About our GVE team
Global Virtual Engineering (GVE) DevNet The team works with Cisco customers to help bring their automation ideas to life. With Cisco Account Teams, we find opportunities where customers need a little help getting started with automation or integration projects. We’ve built simple examples to show what’s possible with a little custom code. Many of these example projects have been published on GVE DevNet GitHub page and shared with the community.
We want to hear what you think.
Ask a question or leave a comment below.
And stay connected to Cisco DevNet on social!
LinkedIn | Twitter @CiscoDevNet | Facebook | Channel on YouTube