Contains the implementation of the external admin APIs from org.apache.geode.admin.

Monitoring the "health" of GemFire

The health monitoring implementation comes in two pieces. On the client (administrator) side there is a {@link org.apache.geode.admin.internal.GemFireHealthImpl} object that is responsible for configuring a {@link org.apache.geode.distributed.internal.HealthMonitorImpl} that runs in the member VMs. The communication between the administration process and the member process is accomplised via a {@link org.apache.geode.internal.admin.GemFireVM GemFireVM} from the "internal admin" API. The HealthMonitorImpl is a thread that periodically consults a {@link org.apache.geode.admin.internal.GemFireHealthEvaluator} that uses a {@link org.apache.geode.admin.internal.GemFireHealthConfigImpl} to determine the health of a GemFire component. Most of the health criteria are based on {@linkplain org.apache.geode.Statistics statistics} that are maintained by GemFire. When the HealthMonitorImpl determines that the health of a GemFire component has changed, it alerts the administrator process via a {@link org.apache.geode.internal.admin.HealthListener}.

The below diagram explains how the classes that monitor the health of GemFire are implemented.