Tom Kralidis & Just van den Broecke 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 uptime and availability of OGC Web Services. In this talk they will explain GHC basics, how it works, how you can use and even extend GHC (plugins). There is an abundance of standard (HTTP) monitoring tools that may guard for general status and uptime of web services. 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 (WMS) may provide an Exception as a valid XML response or in a error message written "in-image", or an error may render a blank image. A generic uptime checker may assume the service is functioning as from those requests and an HTTP status "200" is returned. Other OGC services may have specific QoS issues 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. Many OGC services will have multiple "layers" or feature types, how to check them all? 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. It is currently an OSGeo Community Project. GHC consists of a web-UI through which OGC service endpoint URLs and their checks can be managed, and monitoring-results can be inspected, plus a monitoring engine that executes scheduled "health-checks" on OGC service endpoints. A database stores results, allowing for various forms of reporting. GHC is extensible: a plugin-system is available for "Probes" to support an expanding number of cases for OGC specific requests and -checks. Work is in progress to provide a GHC API for various integrations. |