DFS-R: RPC Registration

Microsoft.Windows.FileServer.DFSR.RPCRegistrationFailureMonitor (UnitMonitor)

This object monitors RPC registration and creates a Critical alert if it detects that DFS Replication was unable to start an RPC listener.

Knowledge Base article:

Summary

This object monitors Remote Procedure Call (RPC) registration and creates a Critical alert if it detects that DFS Replication was unable to start an RPC listener. It does so by looking for the presence of DFS Replication Event 1208.

Causes

An unhealthy state of this monitor indicates that DFS Replication couldn’t start an RPC listener and the DFS Replication service is stopped. The RPC listener is needed to communicate with replication partners. This can occur for the following reasons:

Resolutions

Restart the DFS Replication service

To restart the DFS Replication service from the Operations console, do the following:

1. Click Stop DFS Replication Service.

2. Click Start DFS Replication Service.

To restart the service remotely by using the sc command, open a command prompt window and then do the following:

1.To stop the service, type the following command, where <servername> is the Universal Naming Convention (UNC) path to the remote server:

sc <servername> stop dfsr

2.To confirm that the service is in the STOPPED state, type the following command:

sc <servername> query dfsr

3.To restart the service, type the following command:

sc <servername> start dfsr

Note: To restart a service, you must be a member of the local Administrators group on the affected server. You can also restart services using the Services snap-in, the Windows PowerShell Start-Service and Stop-Service cmdlets, or command-line tools such as net stop and net start.

Verification

This monitor automatically resets to a healthy state when the issue is resolved.

To confirm that the service is in the STARTED state from the Operations console, click Query DFS Replication Service Status.

To confirm that the service is in the STARTED state remotely by using the sc command, open a command prompt window and then type the following command:

sc <servername> query dfsr

Note: To query the service state, you must be a member of the local Administrators group on the affected server.

Additional

DFS Replication Event 1208 (http://go.microsoft.com/fwlink/?LinkId=187117)

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.Service
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R: DFS Replication Was Unable to Start an RPC Listener
The DFS Replication service failed to start an RPC listener. Replication is disabled on this machine. This event can be caused by low memory issues.
Additional Information:
Port: {0}
Error: {1} ({2})
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.RPCRegistrationFailureMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.Service" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.RPCRegistrationFailureMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[1]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[2]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[3]$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1208</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1210</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>