• Skip to Content
  • Skip to Main Navigation
  • Skip to Search

  • About
    • Meet Our Team
    • GlobalNOC & IU
    • Contact Us
  • Services
    • GlobalNOC Light
    • Operations
    • Software
    • Consulting & Additional Services
  • Partner with Us
    • Get Started
  • What’s New
    • Blog
  • Careers
  • Community
    • GlobalNOC User Group
    • Service Desk Renewal Program
    • Supported Networks
  • I-Light
  • IN@IU
  • OmniSOC
  • IU Networks

GlobalNOC

GlobalNOC
  • Home
  • About
    • Meet Our Team
    • GlobalNOC & IU
    • Contact Us
  • Services
    • GlobalNOC Light
    • Operations
    • Software
    • Consulting & Additional Services
  • Partner with Us
    • Get Started
  • What’s New
    • Blog
  • Careers
  • Community
    • GlobalNOC User Group
    • Service Desk Renewal Program
    • Supported Networks
  • Search
  • I-Light
  • IN@IU
  • OmniSOC
  • IU Networks
Open Search
  • Home
  • What’s New
  • News
  • Introducing the Network Troubleshooter tool

Introducing the Network Troubleshooter tool

By: AJ Ragusa and David Ripley

Wednesday, January 04, 2023

Many of you have probably heard through the grapevine, at TechEx, or directly from us about our new tool, the GlobalNOC Network Troubleshooter. This tool is a direct result of our internal GlobalNOC teams (Service Desk, network engineering, systems engineering) coming together to figure out how to better leverage automation to improve our network operations. Let's take a quick look at the tool's origin, the problem we are trying to solve, and the results.

In early 2022, GlobalNOC formed a network automation working group to discuss the next project to focus on. Many ideas were thrown around, but the most popular idea was to attempt to resolve a small set of network outages automatically without requiring network engineers. It was recognized that this would be extremely difficult to implement, not to mention we need to build some trust before just setting robots loose on the network!

The working group decided on a simpler initial step: gathering all of the information that an engineer would need to diagnose the problem without having to log in to the devices or other GlobalNOC tools. The NAP (Network Automation and Performance) syseng team worked with a few select networks interested in this process to determine a set of commands to run for a single outage type (BGP alarms).

Partial screenshot of the first iteration of troubleshooting tool, showing output from a typical run into our ServiceNow ticketing system's work notes. The first work note shows successful ping requests for packets of varying sizes, including Jumbo frames. The second note shows the output of a command to show the logs related to the affected BGP neighbor on the network device.

Great! Task completed, we’re done! Well, not quite …

There are a few problems here. Incidents with lots of alarms had a LOT of data all mashed together into the ticket making this less beneficial. There was also not a lot of flexibility in the commands being run, the ability to run the commands for an alarm again, or the ability to integrate other data sources (SNAPP, for example).

The next step in this process was to create a troubleshooting portal that was flexible enough to process many different alarm types, with different commands, for different networks with different vendors, and that could integrate other data sources like SNAPP. The working group got together again to write a PRD (Product Requirements Document) for the Network Troubleshooter Portal.

Once the working group approved the PRD, the NAP (Network Automation and Performance Team), SMS (Service Management Team), and GNUI (GlobalNOC UI) development teams got to work.

There are several new frameworks that the syseng teams were able to utilize. For years the GlobalNOC software development has been written in Perl, but recently we decided to start writing new code in Python and our new web-service infrastructure, FastAPI.

Many of you have also probably noticed the new style UI. For about 10 years, our web UIs have been implemented in a framework we called GLUE (GlobalNOC Library of UI Elements), built around YUI and JQuery. YUI has been deprecated for many years, and it was time for us to evaluate a new framework. The syseng teams formed a working group in late 2021 to determine and build their new UI framework; ultimately, we chose REACT and a set of other frameworks called GNUI (GlobalNOC UI). Both the FastAPI and GNUI tools allow us to develop and deploy tools and updates quickly. The formation of the UI Development team is also new, with the hope that a focused set of people working on UI development will give us more consistent and better UIs for our users.

The results of this project are still relatively modest but with lots of potential. Incidents in ServiceNow have a link to “Open Network Troubleshooter.”

A view of the "hamburger" menu in the GlobalNOC ServiceNow instance for a specific incident. Included in the view is an "Open Network Troubleshooter" option.

The GlobalNOC Network Troubleshooter portal displays data gathered from devices, the database, measurement, and other tools, and displays them on a single page for each alarm acknowledged to the incident in ServiceNow.

Screenshot of the Network Troubleshooting tool. The Tools header includes the Incident number, Alarm selector drop-down menu, the Current status of the alarm, the affected host, and the affected service. After the header are different sections of results from the tool. The first section contains the results of pings with varying sizes of frames. Both the 1487 size and unspecified size pings work; however, the Jumbo frame ping does not. The next section includes the BGP route details collected from the device at the time of the problem.

When an alarm is acknowledged in an incident, it launches a workflow in our AWX instances configurable for each network and alarm type (BGP, Interface, CPU, memory, etc.). The results of these workflows push results into the Network Troubleshooter backend and are then available when the page loads to display those results to the engineers troubleshooting the incidents.

When multiple alarms are acknowledged to a ticket, the UI will display the results for each alarm, which is selectable in the UI. Also, it is possible to relaunch a workflow for a given alarm to see more recent information, and a direct link to the ticket is also available.

Partial screenshot of the troubleshooting tool showing the summary information presented to the user at the top of the interface. Specifically, the number of the ticket used to track the issue; the time and criticality of the issue; and summary information about the alarms and the network devices they are associated with.

The results displayed to the user can be raw text from the device (logs, commit history) or processed by the AWX workflow (ping panel).

Partial screenshot of troubleshooting tool, showing output from a typical run. The first section shows three successful ping requests for packets of varying sizes, including Jumbo frames. The second section shows the output of a command to show the route to a BGP neighbor on the network device. The third section shows the commit history on the device. The fourth section shows recent log messages, filtered to match on the string BGP and the neighbor device's peering IP address.

Additionally, the tool can include other data sources like GRNOC DB, or SNAPP.

Image is a graph of network traffic, illustrating the capability of the tool to include measurement data. Graph shows input errors (in packets per second) and input rate (in bytes per second) plotted against time. Data is from an interface on agg1.seat.net.internet2.edu. Time range is from approximately December 1-8, 2022. Input error levels are zero throughout. Input traffic level has a minimum of 33.8 kilobits per second, maximum of 6.53 gigabits per second, and a mean of 2.73 gigabits per second, showing a clear daily cyclical pattern typical of network traffic's correlation with the work day.

Looking forward, there are several enhancements needed to this tool to meet our final goal of resolving network outages automatically without requiring network engineers. Automatically gathering start/end times for outages through this tool is an immediate feature request we will be working on. Longer term, we want to enable this tool to have the ability to start allowing engineers to remediate problems directly from the tool.

Imagine a “flap the interface,” “increase the prefix limit,” or “contact the customer” button, which could automatically fix a problem or email the customer. This all leads us to eventually having the Network Troubleshooter fix a problem without human interaction.

Many thanks to the Service Desk operators, network engineers, and systems engineers who made this tool possible.  

  • Blog

GlobalNOC resources

Additional links and resources

GlobalNOC GlobalNOC

535 W. Michigan Street
Indianapolis, IN 46202

2715 E. Tenth Street
Bloomington, IN 47408

Discover

  • About
  • Services
  • Partner with us
  • What’s new
  • Careers

Our Community

  • GlobalNOC User Group
  • Service Desk Renewal Program
  • The GlobalNOC Community

Networks at IU

  • I-Light and Indiana GigaPOP
  • International Networks at IU
  • OmniSOC
  • ResearchSOC

Indiana University

Accessibility | Privacy Notice | Copyright © 2023 The Trustees of Indiana University