API monitoring has become commonplace in the last two years, with a wealth of tools and services available to help us monitor the availability and health of our web API infrastructure. The discipline of regularly monitoring, and even fine grained evaluation of whether an API is doing what it should be doing has elevated awareness around the challenges API consumers face, and helped both API providers and consumers more efficiently utilize API infrastructure. As we are working to provide hundreds of APIs for inclusion in the Streamdata.io API Gallery
, we are realizing that API monitoring will play an important role in our work, making us think--we know how to monitor the JSON web APIs we are targeting, but how will we monitor the real time, streaming APIs we help companies create with server-sent events?
Monitoring of real time APIs is easily confused with real time monitoring of APIs when it comes to using search engines to find more information, making it a difficult topic to research, and discuss. We've looked at a handful of the web API monitoring solutions, and haven't found much discussion around monitoring of websockets, server-sent events (SSE), and other real time approaches to delivering APIs. Monitoring SSE-driven APIs is pretty straightforward because it employs HTTP, but will take some added monitoring to understand when it is active, inactive, as well as down. However websockets, Kafka, and other approaches to streaming data aren't using HTTP, and are going to involve some additional work to making sure these streams are up and running, and delivering the data that they should--providing essential heartbeat, as well as fine grained monitoring solutions.
We are going to reach out to each of our API monitoring partners--companies like API Metrics
to better understand how they see the need for monitoring of real time streaming APIs. We'll be working to understand what they offer, but also if their customers have ever asked for this service. We'll keep talking about our journey here on the blog, and keep scratching until we have some better answers, and hopefully some tools and services to help actually monitor in real time, your real time APIs. ;-) If you know of any interesting services who are serving this area, or have any custom solutions in play as part of you real time operations, please let us know. We'd like to hear more about how companies are ensuring their real time infrastructure is as stable and reliable as it possible can, and share the lessons with our community.