Demo of SteelConnect & ServiceNow Integration

One of my customers asked recently if there was native integration between SteelConnect and ServiceNow, for example to detect internet links going offline or appliances not being reachable anymore.

Short answer is ‘no’ but it did make me think: is that something I could do myself by leveraging the REST APIs? You probably guessed that the answer for that is ‘yes’, otherwise this would’ve been a very short blog post…

I wrote a Python application that lets you define what message in the event log are of interest and a ServiceNow incident gets opened with details of the site, appliance and a description of the issue when it gets triggered.
Very simple, all you need is access is access to the ServiceNow and SteelConnect REST API – no funky backend access required! While I used ServiceNow for this example, this could also be used for other services of course.

Here’s a 2:32min video of what it looks like:

Code and more details on my GitHub page. Note that it is a personal project for demonstration purposes, it is not endorsed nor supported by Riverbed.

Retrieve node status via API

Last week I had an interesting query from a customer. He asked if there was a way if we could quickly show online/offline status quickly for all appliances instead of having to login to SteelConnect Manager.

The answer is a resounding “yes, we can!”, it would’ve been a short blog post otherwise… Anyways the REST API is your friend here and it was a challenge I couldn’t resist. A few hours later I came up with a Python 3 script that shows the online/offline status of an appliance.

You can use it for just one realm, as is often the case for a customer. You can also use it with a CSV file to show the status for all devices across multiple realms which comes in handy if you support multiple realms (service provider, or for those assisting with PoC/PoVs).

Green means the SteelConnect appliance is online, red means it’s offline.

Head to Github for more details or clone it directly from https://github.com/Bakermat/steelconnect_node_status.git. Feel free to use it as you like or contribute to the project!

Using a REST API for automation

It’s been a while, but I’m still here! This time with some examples of how to use the REST API to do something useful in SteelConnect, with most of them used for real world deployments.

The basics of the API were covered in my series last year, the examples below assume you know how to use a REST API, if you have some Python knowledge that would be handy too.

I only started learning Python properly late last year so most of the examples are even suitable for a novice. If I can do it, so can you! All projects mentioned are on GitHub for easy access and forking. The first two were created by me and none of these are official Riverbed endorsed projects, so use at your own risk.

  • steelconnect_bulk_import imports sites, uplinks and zones based on a CSV file with extended options compared to the built-in bulk import in SteelConnect, allowing for more customisation. Great for demos or for setting up a complex environment.
  • steelconnect_delete_sites is part of the above project and allows you to delete all sites in one go. Obviously use with care and really only useful for demo or test environments.
  • steelconnect-dialogflow is a project created that allows anyone to integrate SteelConnect with Google Dialogflow. Dialogflow acts as an interface for integration with Twitter, Telegram, Google Assistant, Facebook and many others. It’s a great way to use DevOps/ChatOps to interact with SteelConnect.

    Here’s an example where I connected Telegram to my Dialogflow instance to setup a new site in my realm:

    This is what it looks like in SteelConnect Manager:

  • Last but most definitely not least: my colleague Greg Mueller has created some awesome SteelConnect scripts and his latest creation is a Python wrapper for the SteelConnect REST API, aptly named SteelConnection.