The Resource Monitor is a Cluster Server component that acts as a intermediary between the Cluster Service and a resource DLL. When the Cluster Service makes a request of a resource, the Resource Monitor transfers that request to the appropriate resource DLL. When a resource DLL must report status or notify the Cluster Service of an event, the Resource Monitor ensures that the information is delivered successfully. Resource Monitors do not make decisions or set policy.
The Resource Monitor runs in a process separate from that of the Cluster Service for two reasons:
Every cluster node runs one or more Resource Monitors. By default, the Cluster Service starts only one Resource Monitor to interact with all of the resources hosted by the node. However, this default can be overridden either by an administrator using Cluster Administrator or another management application or by the developer of a custom resource type. It is recommended that potentially problematic resource DLLs be assigned their own Resource Monitor, thereby preventing faulty behavior from affecting other resources and other Resource Monitors.
Each Resource Monitor on a node has threads for polling the status of the resources for which it is responsible. Currently, the Resource Monitor creates one polling thread for every 16 resources.