conference logo

Playlist for "GeoHealthCheck"

Just van den Broecke

Keeping Geospatial Web Services up-and-running is best accommodated by continuous monitoring:
not only downtime needs to be guarded, but also whether the services are functioning correctly and
do not suffer from performance and/or other Quality of Service (QoS) issues. GeoHealthCheck, see http://geohealthcheck.org, is an Open Source Python application for monitoring OGC Web Services (OWS) uptime and Quality of Service.

GeoHealthCheck, see http://geohealthcheck.org, is a Python application for monitoring OGC Web Services (OWS) uptime and availability.
Keeping Geospatial Web Services up-and-running is best accommodated by continuous monitoring:
not only downtime needs to be guarded, but also whether the services are functioning correctly and
do not suffer from performance and/or other Quality of Service (QoS) issues.

OWS-based services often have their own error "Exception" reporting not caught by generic HTTP uptime
checkers. For example, an OGC Web Mapping Service may provide an Exception written in an image response or
an error may render a blank image. A generic uptime checker may assume the service is functioning as
from those requests an HTTP status "200 is returned. Also, a successful and
valid "OWS GetCapabilities" response may not guarantee that individual services are
functioning correctly.

GeoHealthCheck (GHC) is an Open Source (MIT) web-based framework
through which OWS-based web services (and in fact any web-API), can be monitored.
GHC is written in Python under the umbrella of the GeoPython GitHub
Organization.

GHC consists of two parts: (1) a Flask-webapp through which OWS-endpoints
and their QoS-checks can be managed, and for visualizing monitoring-results plus (2) a monitoring engine
(via cron) that executes the "health-checks".
Both share a common database (via SQLAlchemy, usually SQLite or PostgreSQL).
The database also stores all historic results, allowing for various forms of reporting.

GHC is extensible: a plugin-system allows for developing custom "Probes and Checks" in order to
support an expanding number of cases for OGC OWS-specific requests and -checks.