By Billy Hoffman
At Splunk Synthetic Monitoring, we want to make continuous monitoring of API performance and functionality easy for everyone.
Earlier this year, we introduced a new API Check for monitoring API performance and reliability. Then, we wrote and published a free eBook about how to test and monitor APIs at scale. Today, we’re launching a set of exciting enhancements for API Check that will expand monitoring possibilities for our users.
In this blog post we’ll outline each of the new features, so you can understand how they’ll make API Checks more powerful for you and your team.
Splunk Synthetic Monitoring’s API Checks are ideal for monitoring transactions of data between systems. Initially they included four simple types of steps: make requests, extract data, save variables, or make assertions. These step types act like basic building blocks. You can use them to build simple or robust API transactions.
Validate API Functionality with Logic
You can now use more customized logic and conditionals to test different properties of the API. This provides more flexibility to ensure that APIs are behaving properly.
Transform or Modify Data Between API Check Steps
When testing the API Check with Splunk Synthetic Monitoring users, we found a common scenario. Users needed the ability to transform the formats for strings of data.
For example, if you’re monitoring a flow of API calls where data is being extracted, saved, and re-used, you may need to send a timestamp or date to another API. But, what happens if the APIs use different date formats?
Dynamically Update Test Data
Similar to how you might need to transform data formats to accommodate specific system requirements, you may need to adjust test steps for specific conditions such as location or runtime.
For example, if you’re testing an API for a store location lookup, you may need to submit dynamic zip codes based on the locations from which you’re testing. Or, perhaps you need to send over the exact longitude and latitude of a testing location in order to test an API that verifies location. Or, maybe you need to send different types of data during different time periods.
Support for XML/SOAP-based APIs
API Check already allows you to send POST requests within an XML body. Now you can also extract data from XML responses using xPath. You can save data as variables, make assertions on that data, or use it in subsequent calls – just like you would for monitoring JSON APIs.
Expanded functionality for xPath in API Checks gives us the ability to monitor SOAP or XML-based APIs more fully. In the past we could have monitored the availability of these types of APIs. Now, we can also monitor the functionality.
Learn more about what’s possible in the Knowledge Base documentation here: How to Create an API Check
Global Variables for Managing API Checks at Scale
As your team starts to monitor more and more APIs, you will inevitably find that you’re using the same types of data over and over again. For example, if you are monitoring APIs that require authentication, you may be repeatedly adding API tokens of user credentials into steps of requests. If you ever need to reset an API check or update those credentials, it could be time-consuming to manually edit and update every check referencing those tokens.
To make this less painful, we’ve added the ability to define Global Variables for things like API tokens or URL roots. These Global Variables can be re-used in multiple API Check tests.
Learn more about Global Variables on Splunk Synthetic Monitoring’s Knowledge Base here: API Check Global Variables
Every one of these new feature enhancements for our API Check was made possible because Splunk Synthetic Monitoring users came to us with their use cases and helped us understand their needs. We’re excited to make these options available. And, we’ll continue to evolve what’s possible with API Checks so that we can accommodate user needs. It’s our goal to make it easier to fit API Checks into your continuous performance management workflows.