GeoPython2019

»GeoHealthCheck: QoS Monitor for Geospatial Web Services«
2019-06-25, 09:45–10:15, Room 2

Downtime for geospatial (OGC) web services is a key performance indicator, however so are service functionality and performance. GeoHealthCheck is an Open Source OGC web services monitoring framework.

Keeping geospatial web services operational is best paired with monitoring. Downtime is a key performance indicator, however so are service functionality and performance. The OGC has created a Quality of Service and Experience Domain Working Group to research and provide best practices, illustrating the importance of this topic.

There are many HTTP monitoring tools that track general status and uptime. However, OGC web services often have custom reporting errors which are usually not considered. Examples include custom errors or null results based on database issues. In these cases a generic uptime checker will assume the service is functioning correctly though the response says otherwise.

These issues illustrate the value of OGC-aware service monitoring and have been missing from the FOSS4G ecosystem. Until now.

GeoHealthCheck (GHC) is an OGC web services monitoring framework. GHC is written in Python as part of the GeoPython GitHub Organization. GHC is a monitoring engine that executes “health checks” and a web application which reports on key performance indicators. GHC also supports a plugin framework for specific requirements.

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. This presentation will provide an overview of GHC as well as upcoming features and future plans.

Links: