Failed to send through device alerting rule

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

This rule creates alert every time notification subsystem fails to send notification through certain device/server

Knowledge Base article:

Summary

Notification subsystem failed to send a notification message through the device chosen. If another device has been configured, notifications will be sent through the alternate device.

Causes

There may be several reasons why Notification subsystem may have failed to send the notification message through the protocol. It could be communication problems, configuration problems with the device or the device may not been working correctly.

Resolutions

Notification subsystem was unable to send a notification message on the protocol through the assigned device. The device/server that failed is listed in the Alert description. Try the following steps for resolution:

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

2. Make sure that the device/server can be contacted by the Management server and there are no communication problems.

3. Verify that the Notification action account has appropriate privileges to connect to the device/serve.

4. Check the device/server and make sure it is working as desired independent of the notification module.

Element properties:

TargetMicrosoft.SystemCenter.AlertNotificationSubscriptionServer
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Failed to send notification using server/device
Notification subsystem failed to send notification using device/server '{0}' over '{1}' protocol to '{2}'. {3}: {4}. Rule id: {5}
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.FailedToSendThroughDevice.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>31503</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.FailedToSendThroughDevice.Alert.Message"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Params/Param[6]$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[5]$</AlertParameter2>
<AlertParameter3>$Data/Params/Param[7]$</AlertParameter3>
<AlertParameter4>$Data/Params/Param[8]$</AlertParameter4>
<AlertParameter5>$Data/Params/Param[9]$</AlertParameter5>
<AlertParameter6>$Data/Params/Param[2]$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[6]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[5]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[8]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[9]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>