GeoHealthCheck - QoS Monitor for Geospatial Web Services
2021-09-30, 14:00–14:30, Aconcagua

Keeping (OGC) 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 (GHC) is an Open Source Python application for monitoring OGC Web Services uptime and availability.
In this talk we will explain GHC basics, how it works, how you can use and even extend GHC (plugins).


GeoHealthCheck is a Python application for monitoring OGC Web Services uptime and availability.

Keeping (OGC) 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.

There is an abundance of standard (HTTP) monitoring tools that may guard for general status and uptime. But OGC web 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.

Other OGC services may have specific QoS issues that are not directly obvious. A successful and valid "OWS GetCapabilities" response may not guarantee that individual services are functioning correctly. For example an OGC Web Feature Service (WFS) based on a dynamic database may return zero Features on a GetFeature response caused by issues in an underlying database. Even standard HTTP checkers supporting "keywords" may not detect all failure cases in OGC web services.

What is needed is a form of semantic checking and reporting specific to OGC services.

GeoHealthCheck (GHC) is an Open Source (MIT) web-based framework through which OGC-based web services can be monitored. GHC is written in Python (with Flask) under the umbrella of the GeoPython GitHub Organization.

GHC consists of two parts: (1) a web-UI app (using Flask) through which OGC service endpoint
URLs and their checks can be managed, plus for visualising monitoring-results and (2) a monitoring engine that executes scheduled "health-checks" on the OGC service endpoints. Both parts 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: at this moment of writing a plugin-system is developed for "Probes" in order to support an expanding number of cases for OGC specific requests and -checks.

Links:
- Website: http://geohealthcheck.org
- Sources: https://github.com/geopython/GeoHealthCheck
- Demo: http://geohealthcheck.osgeo.org


Authors and Affiliations

Just van den Broecke - Just Objects B.V., The Netherlands
Tom Kralidis - Meteorological Service of Canada - Canada

Track

Software

Topic

Software/Project development

Level

2 - Basic. General basic knowledge is required.

Language of the Presentation

English

Tom Kralidis is with the Meteorological Service of Canada and longtime contributor to FOSS4G. He contributes to numerous projects in the Geopython ecosystem.

Tom is the co-chair of the OGC API - Records Standards Working Group, chair of the WMO Expert Team on Metadata, and serves on the OSGeo Board.

This speaker also appears in:

Just van den Broecke is an independent Open Source geospatial professional working under the
trading name "Just Objects" - https://justobjects.nl. In his daily work
he designs, develops and deploys Open Source geospatial infrastructures, stacks and products.