At the most basic level, application programming interface (API) monitoring checks to see if API-connected resources are available, working properly and responding to calls. API monitoring has become even more important (and complicated) as more elements are added to the network and the environment evolves, including multiple types of devices, microservices as a key part of application delivery, and, of course, the widespread move to the cloud.
Digital businesses are radically changing how they build and deliver software. Gone are the days of apps that rely solely on in-house tools. Rather, today’s apps are increasingly dependent on external APIs and third-party app providers (which, in turn, are reliant on other APIs and apps). While this type of modularity allows for product flexibility and rapid development, it can be difficult to address any issues that arise. If even one component of this chain breaks, it can have a domino effect on its dependents, whereas a similar failure in historically closed systems would have just led to an isolated incident. As such, if your product relies on external APIs, it's important for you to monitor more than just availability — you’ll also need to keep tabs on performance, data validation and processes, feature changes and security.
In this blog post, we’ll discuss how API monitoring works, key metrics to watch, the benefits and why it’s important to the enterprise as well as how you can get started implementing API monitoring in your organization.
An API is a set of programming instructions and standards for accessing a web-based software application or service. APIs give DevOps professionals instructions about how to interact with services and can be used to connect data among different systems. Entire businesses and applications are built on open APIs, relying on the ability to pass data back and forth between systems.
APIs may be private, programmer/app-facing APIs used within an internal organization or they may be public, consumer-facing APIs, and have numerous use cases. Private APIs make businesses more agile, flexible and powerful. Public APIs help businesses connect to offer new integrations and build new partnerships.
APIs provide the functionality for different application elements to interact with one another; the points where they connect are known as endpoints.
APIs provide instructions about how to interact with services, and connect data with frontend and backend systems.
API monitoring can be used to track APIs for availability, functionality, speed and performance issues, and often can be facilitated with automation.
Availability: API monitoring checks to see if API-connected resources are available, working properly and responding to calls. With the increasing interdependence of applications on other apps and services, API monitoring is often extended to monitoring the availability of the resources your APIs rely on as well. API monitoring can alert administrators about any breaks in the chain of dependence and allow IT teams to act appropriately to ensure that their website or app remains online.
Performance: Even if an API returns calls correctly, its application performance may not be up to standard. How quick are the responses? Is the HTTP response code optimized? Are the response times degrading? Does the API’s performance vary in different environments, such as in development versus production?
Any of these performance metrics, whether caused by the APIs you call, backend services, or even other APIs down the line, will affect performance and require some kind of performance monitoring of the site or app. API monitoring will alert you to these degradations with notifications and let you respond.
Data validation and multi-step processes: Your API may be available and responding to requests, but it could send back incorrect data or data formatted in unexpected ways. Monitoring for data validation ensures you’re getting the right responses in the correct format, which is especially important for multi-step processes once you’ve received the initial response. Data validation will let you know if these processes are working as expected.
Monitor for integrations with third party and partner APIs: Apps and services such as Slack and other web applications and web services often rely on both managed and third-party APIs, and frequently users can’t tell the difference between the two. An API monitoring solution can give you visibility into the performance of third-party and partner APIs (such as those of AWS, credit card providers and others) in addition to those you manage. This way, you’ll not only be able to hold partners accountable, but also know who to contact should any issues arise.
Monitor for feature changes: When you have functionality that depends on the performance of an external service, you’ll want to ensure your app remains compatible with the service. Whether the changes are a result of new releases or bug fixes, API monitoring can alert the end user if the base code stops working with an API-driven service following a change or upgrade.
Monitor for security: The more an organization opens its network to outside connections, the higher the opportunity for malicious actors to take advantage of any vulnerabilities. When you use an API, you’re assuming that API is secure and that the security settings are maintained. You’re also assuming the risk of any other APIs that feed into it. API monitoring ensures authentication and ensures the security of APIs connected to your apps by searching for anomalous behavior that could signify a security breach and identify threats in real time.
API monitoring can be used to track APIs for availability, performance, data validation, integrations, feature changes and security.
An API testing and monitoring framework is the software used to implement API monitoring, which can include tools such as JSON, Pagerduty, oauth and Postman. There are dozens of options available, from open-source packages that allow developers to write custom API monitoring and application monitoring protocols for their own organization, to commercial packages that provide more work upfront for real users. The question of how best to set up an API monitoring framework depends on the individual needs, characteristics and budget of the organization.
APIs provide the functionality for different network elements to interact with one another; the points where they connect are known as endpoints. Therefore, when you are monitoring the best API for security, performance or other factors, you are by default monitoring the endpoints as well. An API endpoint can be functioning properly but not communicating with its intended partner in the network. A comprehensive API monitoring solution will allow you to see when a connection problem occurs at an API endpoint.
APIs have been key in helping businesses and organizations grow, scale and provide new services that users want and need — and ultimately improve end-user experience — without being forced to rewrite their core applications. The rapid rise of e-commerce (including the shifts to SaaS businesses driven by the COVID-19 pandemic) has been made possible in large part by APIs, as companies have been able to add new services and functions, adjust pricing and improve SLAs in order to become online retailers.
APIs have made it possible for companies to provide multiple services on their websites without necessarily creating the applications themselves. Enterprise companies have also been able to increase the number of tools available to their employees by using APIs.
In other words, APIs now touch nearly every aspect of modern applications, networks and infrastructure. Failure to monitor API performance today is tantamount to a failure to follow basic security protocols or track IT performance.
When it comes to API monitoring, you want to ensure that an API is functioning properly — doing the job it was designed to do and doing it within the correct performance parameters.
Key API metrics include availability, error rate, CPU and memory usage, API consumption and latency, to ensure APIs are functioning properly.
With APIs controlling and enabling so much of the data and interactions across an organization’s entire network, API monitoring is an essential element for ensuring app and site performance, security, uptime, recovery from outages, user monitoring and nearly every other aspect of an organization’s network performance.
API monitoring can:
Here are a few use cases API monitoring can support:
Because APIs are integral to so many aspects of an organization’s entire network, the challenges of API monitoring revolve around scale, experience and comprehensive application.
API monitoring is generally provided by a software and hardware vendor who specializes in the field. The most effective way to get started with API monitoring is to research API monitoring vendors and follow your organization’s request for proposal (RFP) process. Here are some considerations to keep in mind as you begin the process.
When starting to monitor APIs, consider both:
When monitoring both of these types of APIs, it’s important to test:
Companies increasingly rely on APIs to perform business-critical functions. And yet, many either aren’t monitoring their APIs, or they’re failing to implement best practices. Because of the high stakes associated with any type of downtime, it’s essential for companies to monitor dependencies to ensure that everything is working as expected. Businesses might not have any control over the third-party tools they rely on, but with comprehensive monitoring, they can know right away if they need to take action to keep their product up and running.
See an error or have a suggestion? Please let us know by emailing ssg-blogs@splunk.com.
This posting does not necessarily represent Splunk's position, strategies or opinion.
The Splunk platform removes the barriers between data and action, empowering observability, IT and security teams to ensure their organizations are secure, resilient and innovative.
Founded in 2003, Splunk is a global company — with over 7,500 employees, Splunkers have received over 1,020 patents to date and availability in 21 regions around the world — and offers an open, extensible data platform that supports shared data across any environment so that all teams in an organization can get end-to-end visibility, with context, for every interaction and business process. Build a strong data foundation with Splunk.