Zasada alertów o niepowodzeniach wysyłania powiadomień

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

Ta zasada tworzy alert za każdym razem, gdy podsystem powiadomień nie może wysłać powiadomienia za pomocą wszystkich skonfigurowanych urządzeń/serwerów

Knowledge Base article:

Podsumowanie

Podsystem powiadomień nie może wysłać komunikatu powiadomienia przy użyciu wybranego protokołu za pomocą wszystkich urządzeń.

Przyczyny

Podsystem powiadomień nie może wysłać komunikatu powiadomienia za pomocą wszystkich urządzeń. Możliwe, że urządzenie jest źle skonfigurowane lub nie działa. Możliwe również, że konto działania powiadomień nie ma odpowiednich uprawnień dostępu do serwera komunikacji dla tego protokołu.

Rozwiązania

Podsystem powiadomień nie może wysłać komunikatu powiadomienia za pomocą wszystkich przypisanych urządzeń przy użyciu protokołu. Aby rozwiązać ten problem, spróbuj wykonać następujące kroki:

1. Na podstawie identyfikatora zasady zidentyfikuj subskrypcję, korzystając z polecenia cmdlet Get-Notification w programie PowerShell. Upewnij się, że subskrypcja i urządzenia wykorzystywane przez jej odbiorców są skonfigurowane prawidłowo.

2. Sprawdź, czy istnieją inne alerty systemu powiadomień dotyczące awarii określonych urządzeń.

3. Upewnij się, że serwer zarządzania może nawiązać kontakt z urządzeniami/serwerami i że nie występują problemy z komunikacją.

4. Upewnij się, że konto działania powiadomień ma odpowiednie uprawnienia, aby łączyć się z urządzeniami/serwerami.

5. Sprawdź urządzenia/serwery i upewnij się, że działają one prawidłowo, niezależnie od podsystemu powiadomień.

Element properties:

TargetMicrosoft.SystemCenter.AlertNotificationSubscriptionServer
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Nie można wysłać powiadomienia
Pod system powiadomień nie może wysłać powiadomienia za pomocą protokołu „{0}” do odbiorcy „{1}”. Identyfikator zasady: {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>