DataBC offers several web services that clients can connect their applications to. Examples include the B.C. Physical Address Geocoder, Geomark Web Service and the B.C. Route Planner. Our technical team use a variety of tools to monitor the health of these services and we’re hearing that some of our clients are also monitoring the same services using their own tools. Having every client individually monitor our services is not an ideal situation and so we have decided to publish information about our service health. We tested some cost-effective, easy to maintain and shareable tools that can capture and report critical information, i.e., is the service online or is performance degraded?
It is important to host the monitoring tools on separate infrastructure from the services, to ensure that monitoring can continue when the services experience technical issues. Starting small, we wrote a script which submits a request to each web service and records the results. The script is executed every 10 minutes and records its results to a file in GitHub, along with some visualizations. The results are kept for seven day rolling window so that readers can compare the historical record.
The chart below illustrates the performance heartbeat of the BC Physical Address Geocoder over time.
The DataBC team uses the recorded information to better understand service performance. The chart below shows the heartbeat of the Geocoder with the addition of network latency on the right y-axis. This information helps us determine if performance degradation is caused by temporary network issues or the web service and plan for successful resolution.
To see a live version of the visualizations, or explore the code, please see our GitHub repository.
Stay tuned as we continue to improve this work based on your feedback.