Some people say it all started with Jeff Bezos’ famous mandate to his employees:
“All teams will henceforth expose their data and functionality through service interfaces. Teams must communicate with each other through these interfaces. There will be no other form of inter-process communication allowed…”
He dramatically finished it with:
“Anyone who doesn’t do this will be fired. Thank you; have a nice day!”
On the other hand, some people, myself included, think the migration toward open, externalized APIs is a natural phenomenon, based on good design principles and driven by the need for integration between increasingly complex software systems.
What is for certain that Open APIs are everywhere, and software developers are including them into the design of all new products. Amongst the different flavors one API type seems to reign supreme. That’s the REST API. The diagram below shows the breakdown by type of about 21,000 public APIs.
REST API constitutes more than 2/3 of the total.
What does that mean for you as a Geneos customer? Chances are you will want to integrate Geneos with a software product that has a REST API. Luckily, bringing metrics and data into Geneos from a RESTful source has just been made a lot easier. Starting with Geneos version 4.11 the Netprobe includes a plugin designed specifically for working with REST APIs. It is called the rest-extractor plugin and this Java-based plugin is available in the latest version of the Netprobe.
The rest-extractor is a perfect tool for integrating with 3rd party software. Some examples are:
And there are many, many more! Let’s look at some examples of the product in action.
The first example shows an integration with Elasticsearch. In this case, a client is storing trade data in Elasticsearch, which was loaded in by Logstash. Bringing this data into Geneos could not be easier: The rest-extractor plugin runs a query against Elastic’s API and transforms the results into the view shown below.
The second example shows the integration with ITRS’ Synthetic Monitoring solution. Here we are accessing a cloud-based API. The dataview shows the URLs that are being monitored and the results each check.
This third example shows Geneos monitoring GitHub commits in real-time. Product Managers will be alerted if commits don’t happen at expected times. You can also monitor who does the commits, what the comments are and if the commits have been verified.
As you can already see, the plugin is very powerful. These are some of the key reasons behind its effectiveness and versatility:
- One of the most impressive features of the plugin is that it can work with JSON documents of any shape. For each query the user sets up in rest-extractor, the user can define a transformation to transform the query response into a format that Geneos can understand.
- The JSON transformations use JQ, an industry standard query language, i.e. users don’t need to learn a proprietary ITRS query language.
- The plugin supports multiple types of authentication, including multiple types of bearer-authentication (using tokens)
- The plugin supports secure (SSL) connections
There are 1000s of REST APIs out there. This new plugin will allow you consume data from those APIs. With Geneos you can view the data, create graphs, define alerts, use it in computations. In other words, the plugin takes data from other applications and transforms it into native Geneos data. There are as many use-cases for the plugin as there are REST APIs. Our new rest-extractor plugin is the key to unlocking these REST APIs. It is the key to seamless integrations. Try it for yourself!