Tools to monitor your servers and services

Blog Post created by jherries-esristaff Employee on Sep 14, 2015

As someone who builds and shares a lot of maps and apps, I take it personally when one of "my" maps or apps does not work as expected for a customer or partner. Usually these things are discovered early in the release process. Sometimes it's a simple thing, like forgetting to share an item "public" in ArcGIS Online. I've done that before. I blame it on lack of coffee.


Sometimes the problem is on the server itself, or in a new app being developed and released, or on the network the server resides within, or somewhere further out between the user and the resource they are trying to use. When things are not working, you want to find out before your users experience it, or least find out at the same time so that you can take action.


I can remember times when the server team, the app team, and the network team are all 100% correct that their monitors are reporting no issues with their part of the stack, yet the end users are experiencing issues.


Over time I have come to rely upon a couple of tools to monitor my servers and services from the end user's perspective. This is not in place of what the software can do to self-monitor, or what IS teams can do to ensure uptime and availability of the many things that make networks work.


One tool that works quite well for monitoring URLs is Uptime Robot. I use it to monitor app URLs, as well as REST endpoints of specific services. By monitoring those URLs, from outside my firewall, Uptime Robot simulates an end user effectively and holistically, often catching little glitches in the stack between the end user and the app/map we want to be available. Right now they are advertising 50 URLs checked every 5 minutes, for free. Some enhanced features are available when you subscribe.


Another tool I use runs on my local desktop, from within the corporate network. In addition to its sexy name "Service Monitor," it is a free download, is super easy to configure, and runs via  Windows Scheduler on whatever interval you desire. Download it, stuff it in a directory on a desktop machine you know is up 24x7, and start pasting URLs into it. I put app URLs in it, as well as REST endpoints to services running in ArcGIS Server. Kudos to Paul Dodd for this useful tool.


I use both monitoring tools to keep an eye on key URLs. Trust, but verify, right?


If you have additional tools you use, please share.


ArcGIS Server itself does a fantastic job of taking care of itself. You can schedule nightly restarts of services, and its log files are invaluable for troubleshooting.


Like any cloud, ArcGIS Online has, as you can imagine, a healthy amount of monitoring to ensure uptime and availability of services. I occasionally check the status of ArcGIS Online here. Apps and maps hosted in ArcGIS Online enjoy very good uptime and availability, because Esri monitors that for you.