Health Monitoring

The JUNOS SDK provides monitoring functionality to the data and control CPUs on Multiservices PICs.

You can monitor data as well as control threads. The information is aggregated and provided to the Routing Engine.

The Health Monitor provides the following functionality:

Runtime Health Status Check

The Health Monitor detects the runtime status of applications based on periodic heartbeat messages. If a process misbehaves, the Health Monitor takes the action specified in the configuration.

The following diagram shows the Health Monitor process running on the Multiservices PIC and monitoring the health of the control and data processes and threads through the heartbeat mechanism from each process.

hmon-overview-g016935.gif

Health Monitor Architecture

A central Health Monitor process runs in the Routing Engine, as shown in the following diagram:

hmon-central-hmp-g016936.gif

Health Monitor Process

Each process can communicate only with the local Health Monitor.

Monitoring Process

The Health Monitor provides the framework for any process to obtain information about the health of any other process. In the following diagram, Process A has registered with the Health Monitor to provide the heartbeat; Process B is interested in monitoring Process A's health status through the Health Monitor.

hmon-process-g016937.gif

Monitoring Another Process

Note:
If a process is running on a backup PIC, registering with the Health Monitor for a SWITCHOVER action causes a NOP.

Peer Monitoring and Service Advertising

One process can monitor another processís health through the service name resolution facility in the Health Monitor. Monitoring processes must be on the same Multiservices PIC.

Any monitored process that acts as a server in some capacity can advertise a service by dynamically and internally advertising its IP address, port number, and associated service name to other processes. The system passes the service information to the local Health Monitor, which distributes it to the global monitor on the Routing Engine, and from there to all PIC-based monitors. Any health-monitored client can then request all the known service information by querying its local Health Monitor.

The following diagram shows the dynamic service resolution mechanism: Server A, running on the Routing Engine, advertises its service information, and client B, running on the Multiservices PIC, can obtain the information by querying the Health Monitor locally.

hmon-name-resolution-g016938.gif

Service Name Resolution

The functions for interacting with the Health Monitor are in the src/junos/lib/libmsvcs-pmon/h/jnx directory. The functions allow applications to register for services, set up heartbeats, monitor status, and add and delete service names to be advertised. For details, see the SDK Library documentation for libmsvcs-pmon.

For library usage information, see the programming task, Using the Health Monitor Functions.


© 2007-2009 Juniper Networks, Inc. All rights reserved. The information contained herein is confidential information of Juniper Networks, Inc., and may not be used, disclosed, distributed, modified, or copied without the prior written consent of Juniper Networks, Inc. in an express license. This information is subject to change by Juniper Networks, Inc. Juniper Networks, the Juniper Networks logo, and JUNOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Generated on Sun May 30 20:26:47 2010 for Juniper Networks Partner Solution Development Platform JUNOS SDK 10.2R1 by Doxygen 1.4.5