geopython / geopython/GeoHealthCheck

monitoring GeoHealthCheck itself

Open
#247 1 comment 0 reactions 1 assignee Claimed by @justb4 View on GitHub
enhancement
Dominant language
Python
Stars
92
Forks
75
PR merge metrics
No merged PRs in 30d

Description

So who monitors the monitor?

In production environments a generic HTTP (Keyword) monitor or even another GHC instance may be used to monitor the uptime and availability of a running GHC (Webapp).

## Problem
In some cases where GHC runs with a separate `GHC Runner` instance (that continuously runs the healthchecks via APScheduler), that process may somehow die (or maybe even running but stuck somewhere). The `GHC Webapp` could still be up. There is currently no way to find out whether `GHC Runner` is actually running other than detailed process inspection (ps, docker ps, Prometheus etc).
But we would like a simple HTTP-based status check via the GHC Webapp for the Runner, that it is active.

## Possible Solution
Provide a GHC API `status` service that reports recent activity of GHC Runner. For example the number of runs in the last N minutes. This is easily realized with a query. (Easier than inspecting external processes/Docker containers). GHC or any HTTP-uptime checker could check for a keyword like `runs: 0` meaning no runs in last N minutes. This indicates that GHC Runner is not running (or maybe even running but stuck somewhere).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.