| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <HTML> |
| <BODY> |
| |
| <P>Contains the implementation of the external admin APIs from |
| <a href="{@docRoot}/org/apache/geode/admin/package-summary.html#package_description">org.apache.geode.admin</a>.</P> |
| |
| <H2>Monitoring the "health" of GemFire</H2> |
| |
| <P>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 <code>HealthMonitorImpl</code> 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 |
| <code>HealthMonitorImpl</code> determines that the health of a GemFire |
| component has changed, it alerts the administrator process via a |
| {@link org.apache.geode.internal.admin.HealthListener}.</P> |
| |
| |
| <P>The below diagram explains how the classes that monitor the health |
| of GemFire are implemented.</P> |
| |
| <CENTER> |
| <IMG src="{@docRoot}/javadoc-images/health-classes.gif" HEIGHT="803" /> |
| </CENTER> |
| |
| </BODY> |
| </HTML> |