Automate API monitoring with this open source software

Simranjit Kamboj
HackerNoon.com
Published in
3 min readAug 4, 2018

--

Nowadays, so many software applications rely on 3rd party services to power their features. For example, one application may use the Google Maps API to place markers on different locations on a map or posting to social media through the Instagram or Twitter API. It’s not always easy and some what of a waste of time to track the different API’s to ensure that they are functioning as they should.

RESTest is an open-source program that I made to fix this problem. I tend to use API’s from services such as HERE Maps, Slack, IBM Watson, and so on. Sometimes, these API’s would go down and it would take some time to figure out exactly what the problem is and you only find out when someone using the application tells you or you’re running tests. RESTest allows you to set up the API’s you use, choose test intervals, and just let it run. It will continue monitoring the API and let you know by email and/or a Slack message when an API is not responding as it should, so you can take action right away.

The application is built on Meteor, a Javascript framework. The database is MongoDB.

RESTest dashboard to monitor the API’s

There’s a simple dashboard that shows you the summary of your API’s (when the test was done, how often it is tested, and what the most recent response time was). If any of the API’s fail, they automatically turn red and notify you via email or a Slack message.

When an API fails the test, it turns red
You can view past history regarding the API’s response time

You can get more information on each API by clicking on them to expand the list. It will show you the past history for the day on its response rates and how they fluctuate. It also shows the API response, headers, and gives the ability to change the test frequency.

Login page within RESTest

I have incorporated accounts as well to make it easier when working in multi-person teams!

You can find the installation and setup guide at https://github.com/simranjitk/restest. Everything is customizable and you can find some info on that in the documentation. You can create custom time intervals, change notification methods, and a lot more.

If you find bugs or have feature requests, you can post them at https://github.com/simranjitk/restest/issues. If you want to set up the software on your own servers, customize the look, add new features, or anything else and want it done as soon as possible, email me at restestapp@gmail.com and we can chat!

Let me know if you have questions or comments! Happy automating!

Simranjit Kamboj

--

--