Failed to send notification alerting rule

Microsoft.SystemCenter.Notification.FailedToSendThroughAllDevices.Alert (Rule)

This rule creates alert every time notification subsystem fails to send notification using all configured devices/servers

Knowledge Base article:

Summary

Notification subsystem failed to send notification message through all devices for the subscription for the selected protocol.

Causes

Notification subsystem was unable to send notification message through all devices. This could happen if the device is mis-configured or not working. It could also happen if the Notification action account does not have the right privileges to the communication server for that protocol.

Resolutions

Notification subsystem was unable to send a notification message on the protocol through all the assigned devices. Try the following steps for resolution:

1. Use the ruleID to identify the subscription using Power Shell commandlet Get-Notifiction. Verify that the subscription is configured correctly as are the devices used by the recipients for that subscription.

2. Find out if there are other alerts from the notification subsystem for specific devices failing.

3. Make sure that the devices/servers can be contacted by the Management server and there are no communication problems.

4. Verify that the Notification action account has appropriate privileges to connect to the devices/servers.

5. Check the devices/servers and make sure it is working as desired independent of the notification subsystem.

Element properties:

TargetMicrosoft.SystemCenter.AlertNotificationSubscriptionServer
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Failed to send notification
Notification subsystem failed to send notification over '{0}' protocol to '{1}'. Rule id: {2}
Event LogOperations Manager

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.Notification.FailedToSendThroughAllDevices.Alert" Enabled="true" Target="Microsoft.SystemCenter.AlertNotificationSubscriptionServer" ConfirmDelivery="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="EventDS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>31505</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.Notification.FailedToSendThroughAllDevices.Alert.Message"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Params/Param[5]$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[6]$</AlertParameter2>
<AlertParameter3>$Data/Params/Param[2]$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[5]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[6]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>