Nautobot ChatOps for IP Fabric

The Nautobot ChatOps framework provides a way to efficiently communicate and collaborate with a variety of Operational Support Systems (OSS) and general IT tools. It leverages the plugin architecture to build on Nautobot’s Source of Truth (SoT) capabilities by providing messaging and ChatOps functionality. Communication is not limited to SoT data, interaction with other systems is supported too. The latest addition to the Nautobot ChatOps ecosystem introduces an integration with IP Fabric, a vendor-neutral automated network assurance platform.

IP Fabric supports complex multi-vendor network discovery and gives you full visibility of inventory, configuration, topology and behaviour, allowing you to validate and report on the status of the network.

Our new Nautobot ChatOps application utilizes IP Fabric data to rapidly display network state in a number of supported chat platforms. The ChatOps application for IP Fabric will enable users to dynamically query an IP Fabric system and deliver results in a structured and highly visual format.

Architecture

Chat platforms and their applications have become a common part of enterprise tools. The Nautobot ChatOps for IP Fabric application includes integrations for multiple platforms, including Slack, MS Teams, WebEx and Mattermost.

Deployment requires a bot to be enabled in the chosen messaging platform. This bot will send user requests to your Nautobot server, which will communicate with an IP Fabric system using its API (Application Programming Interface).

Users will have access to dedicated commands to query and visualize their network from their chat application.

Commands

IP Fabric automates the retrieval of network infrastructure data and allows engineers to analyze their networks in predefined snapshots. The new ChatOps integration leverages the IP Fabric API to offer a subset of the systems capabilities to support network operations teams in network troubleshooting and validation in any environment you can install an instant messaging client.

For installation instructions, please refer to the installation section in the plugin repository.

Use the /ipfabric top-level chat command in your chosen chat platform to see the supported subcommands:

  • /ipfabric set-snapshot [snapshot]
  • /ipfabric get-snapshot
  • /ipfabric get-inventory [filter-key] [filter-value]
  • /ipfabric interfaces [device] [metric]
  • /ipfabric end-to-end-path [src-ip] [dst-ip] [src-port] [dst-port] [protocol]
  • /ipfabric pathlookup [src-ip] [dst-ip] [src-port] [dst-port] [protocol]
  • /ipfabric routing [device] [protocol] [filter-opt]
  • /ipfabric wireless [option] [ssid]
  • /ipfabric find-host [filter-key] [filter-value]

Snapshot

IP Fabric can take a snapshot of a network to compare real-time and historical trends. A snapshot captures network state and configuration at a specific point in time. The ChatOps plugin supports querying a snapshot by setting a base snapshot with /ipfabric set-snapshot command. The snapshot is set per user and cached for all future commands. If a snapshot is not set, the commands will default to $last unless a specific snapshot id is required.

Enter the /ipfabric set-snapshot command to prompt a menu to select a snapshot from the available list of snapshots on the IP Fabric server.

/ipfabric set-snapshot

Once a snapshot is selected from the list, the snapshot will be cached in the user’s session for future interactions.

If you already know the snapshot ID, simply enter that as the [snapshot] argument to the command, to avoid using the menu.

/ipfabric set-snapshot e6a53bd9-b38b-4423-b0e3-f01b8bac08ac

At any time, you can use the /ipfabric get-snapshot to display the current snapshot in the user’s session.

/ipfabric get-snapshot

Inventory

IP Fabric maintains an extensive network inventory after initial discovery. Use the /ipfabric get-inventory to display a menu allowing the user to filter inventory data based on:

  • Site
  • Model
  • Vendor
  • Platform
/ipfabric get-inventory

As an example, selecting a Vendor filter will display another submenu with all of the known vendors in the IP Fabric inventory.

To display all Cisco devices, we selected cisco and the results are returned in a well-formatted table with the selection filters chosen and a convenient link to the IP Fabric inventory table for further investigation in a web browser, if necessary.

Interface

The /ipfabric interface command allows a user to quickly troubleshoot interface-related issues on a particular device by reporting the inventory table for the device, based on interface metrics listed below:

  • Load
  • Errors
  • Drops
/ipfabric interface

Select the device and metric to display the interface table with specific columns depending on the chosen metric.

Path Trace

A common task for any network engineer is to trace a path from a source and destination IP address. End-to-end path simulation in IP Fabric provides a powerful analysis of per hop routing decisions and what devices/sites are traversed.

Using the /ipfabric end-to-end-path command, we can display some of the main routing information required to understand the path taken between a source and destination address. This command is compatible with IP Fabric OS software version 3.

Enter the command to display a dialog box prompting to enter the arguments to produce the simulation.

  • Source IP
  • Destination IP
  • Source Port
  • Destination Port
  • Procotol
/ipfabric end-to-end-path

Enter the arguments in the dialog box and hit Submit.

Power users might prefer to enter the arguments directly into the command as follows, which will produce the same output.

/ipfabric end-to-end-path 10.0.20.7 10.0.10.5 1000 22 tcp

Path Diagram

IP Fabric OS version 4 release added API support for retrieving a diagram of a path simulation.

The /ipfabric pathlookup command will render a diagram depicting the path in your messaging application. This command is compatible with IP Fabric OS software version 4.

/ipfabric pathlookup

Input parameters are the same as the end-to-end-path command.

  • Source IP
  • Destination IP
  • Source Port
  • Destination Port
  • Procotol

If the path can be generated by IP Fabric, the diagram will be displayed directly within the chat application. Users can then download or forward the diagram based on the chosen chat platform capabilities.

Routing

Routing support in the plugin focuses on the BGP peering inventory in IP Fabric. Additional routing protocols can be easily added in line with the routing technology tables incorporated with IP Fabric.

/ipfabric routing

Entering the /ipfabric routing command will allow the user to filter for BGP peerings on a device based on a specific BGP state.

The resulting BGP table shows the local BGP speaker and BGP peer information.

Wireless

Wireless LANs (Local Area Network) are a staple part of most enterprise networks. Engineers supporting these networks will need to have information on Service Set Identifiers (SSIDs) and the clients connected to an SSID.

The /ipfabric wireless command will prompt the user to select what type of wireless information they’d like to view.

  • SSIDs
  • Clients
/ipfabric wireless

Selecting the ssids option displays a table with all of the known SSID’s in IP Fabric, their access points, and the number of connected clients.

Selecting the clients option prompts another filter to select a specific SSID. The resulting table provides greater detail on the client, their connected Wireless LAN Controller (WLC), assigned IPs, signal strength, and the client’s state.

Find Host

Using the host inventory table, a user can quickly find a host and what devices they’re connected to with the /ipfabric find-host command. Select how to filter the host search using the options below.

  • Host IP Address
  • Host MAC Address
/ipfabric find-host

The resulting table shows the host inventory information.


Conclusion

IP Fabric stores a huge amount of data that is vital for supporting large-scale networks. With the Nautobot IP Fabric ChatOps application, we’ve tried to focus on useful operations that most network engineers will perform regularly. If you have any suggestions for other commands, please visit the plugin repository, create a feature request or discussion, or even open a Pull Request! We’d love to hear about it. You can also visit the ipfabric channel on the Network to Code Slack.

-Paddy

Resources



ntc img
ntc img

Contact Us to Learn More

Share details about yourself & someone from our team will reach out to you ASAP!

Author