Configuring health checks outside of a local agent

Is it possible to configure a “secondary health check” that does not reside with a API server’s (for example) local health check?

In our current architecture all API microservices running on a VM will register with its local agent, along with the API’s health check configuration. If this local agent becomes unreachable, but the microservices are still accessible, is it possible to have an “arbiter” agent check services on this VM? The goal here is to keep the reachable microservices healthy and available in the catalog, without marking all as failed due to the failed client agent.

Our API Gateway is currently using passing=true when querying the service catalog. We could remove this filter to keep services of failed client agents in the catalog, but this could potentially keep a stale cache of failed services in our pool. We’d like some kind of secondary health check keep healthy services in the catalog in the event of a client agent failure.