In-App NQE Checks examples now available on GitHub

by Fabrizio Maccioni

Network Query Engine (NQE) is my favorite Forward Enterprise feature and is one of the reasons why I decided to join Forward Networks. After working on Network Programmability and Automation for years, the idea of a single platform able to provide network device data, fully parsed, normalized, structured in OpenConfig-like format, across switches, routers, firewalls, and load balancers from different vendors, on-prem and in the cloud was (and still is!!) mind-blowing.

Based on my experience, vendors devote massive effort to provide native and OpenConfig YANG data models over common device APIs (e.g. NETCONF and RESTCONF) for the main network OSes. I doubt we’ll see any device APIs for legacy platforms from any networking vendor…ever. This inconsistency in the data formats and protocols creates a complexity that, more often than not, leads network automation projects to inevitable failure.

So, how can customers have all the benefits of structured data and device APIs and eliminate the inconsistency issues? Unless I’ve missed a recent announcement (and I’m pretty sure I’ve not), there is no networking vendor able to provide such a platform (or capability or functionality). The only option available is to rely on a solution like NQE.

With NQE customers can easily develop scripts applications to perform sanity checks or to display information across the entire fleet of devices in their network in a matter of minutes.

It’s an awesome solution for customers with development skills and a good knowledge of JSON format and YANG data models. Those skills are pretty common in DevOps or NetDevOps teams, but what if the customer doesn’t have those skills or they want to avoid building and maintaining those scripts/applications?

The answer is pretty easy, and it’s called… In-App NQE Checks!

In-App NQE Checks augments NQE by enabling customers to create custom verification checks, using the NQE data model, directly in the Forward Enterprise browser-based interface. No development skills needed, no scripts to build and maintain, just a simple and intuitive 3 step process:

  1. Explore the Data Model
  2. Create the Check
  3. Execute the Check and Save

The NQE Data Model can be explored using the built-in data model explorer that helps users find the relevant fields needed for the check, as shown in the picture below:

Figure 1 – NQE Data Model explorer

The Check queries for violations uses 3 simple constructs, foreach, where and select (sounds familiar, right?) and the violations will form the failure diagnosis.

If no violations are found, the check will pass.

The picture below shows a check that queries for interfaces with administrative status UP but with operational status other than UP– a fairly common scenario operators often need to monitor to validate the links’ health.

Figure 2 – In-App NQE Check Example

This video shows the process needed to create and save the check described above.

Have you noticed how long is the query? 

Figure 3 – In-App Check example

It’s a 9-line script for easy readability, but it’s essentially only 4 lines!

You can find some simple query examples like the one in the video as well as the Documentation in the tabs close to the data model.

 

Figure 4 – Documentation and Examples

Moving forward, we’ll add more examples in the GUI but what we’re most excited about is building a knowledge base of useful checks shared with our customers and partners.

We’ve created a new dedicated In App NQE Checks examples repository on GitHub. It currently includes an initial list of examples and it’s waiting for your contribution ☺

Figure 5 – In-App NQE Checks Examples repository

In summary, we did it again! We took something already amazing like NQE and we brought it to the next level with In-App NQE Checks. Now it’s your time to contribute!

Further reading:

In-App NQE Checks @ Tech Field Day 21: https://www.youtube.com/watch?v=oswXx3q6Zb4 

NQE repositories in GitHub:

https://github.com/forwardnetworks/network-query-engine

https://github.com/forwardnetworks/network-query-engine-examples

 

NQE presentation @ ONF Sep 2019: https://www.youtube.com/watch?v=MvrdQft7N5w