Alert on failure of Runbook Monitor

MPAuthor.Orchestrator.Rule.AlertOnRunbookMonitor (Rule)

Create alert when the Runbook Monitor process was unable to retrieve any runbooks.

Knowledge Base article:

Summary

This rule looks for an event indicating a failure of Runbook Running Monitor.

Causes

This error typically occurs because the monitor is not able to access the Orchestrator web service. This is most likely due to either an incorrect URL or credentials that don't have access to the web service.

Resolutions

Element properties:

TargetMPAuthor.Orchestrator.RunbookHost
CategoryAlert
EnabledTrue
Event_ID325
Event SourceHealth Service Script
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Runbook Monitor was unable to retrieve any runbooks.
The discovery was run against {0} on port {1}.
Event LogOperations Manager

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="MPAuthor.Orchestrator.Rule.AlertOnRunbookMonitor" Target="MPAuthor.Orchestrator.RunbookHost" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">325</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="MPAuthor.Orchestrator.Rule.AlertOnRunbookMonitor.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="MPAuthor.Orchestrator.RunbookHost"]/WebServer$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="MPAuthor.Orchestrator.RunbookHost"]/WebServicePort$</AlertParameter2>
</AlertParameters>
</WriteAction>
</WriteActions>
</Rule>