Generuj alerty dla zdarzeń APM bezpieczeństwa transakcji

Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule (Rule)

Knowledge Base article:

Podsumowanie

Stan wystąpienia staje się nieprawidłowy, jeśli łączna liczba zdarzeń zabezpieczeń w ustalonym okresie przekracza próg monitora.

Przyczyny

Alerty zabezpieczeń są generowane w wyniku problemów z autoryzacją, uwierzytelnianiem lub uprawnieniami, gdy aplikacja próbuje uzyskać dostęp do zasobów zewnętrznych. Pole szczegółów alertu zawiera opis podający nazwę zakończonej niepowodzeniem funkcji lub zasobu, do którego próbowano uzyskać dostęp, oraz kontekst operacyjny, co ułatwia rozwiązywanie problemu. Wyjątki zabezpieczeń są spowodowane przez problemy, które najczęściej można rozwiązać przez zmianę środowiska lub konfiguracji bez dostępu do kodu źródłowego. Tego rodzaju problemy mogą być związane z problemami z autoryzacją, uwierzytelnianiem lub uprawnieniami przy dostępie do bazy danych, usługi sieci Web, zasobu we/wy lub usługi Active Directory.

Rozwiązania

Alerty zabezpieczeń są wynikiem nieobsługiwanych wyjątków spowodowanych problemami z dostępem do zasobów zewnętrznych. Aby rozwiązać te problemy, sprawdź

1) opis alertu i zdarzeń;

2) obiekty docelowe operacji, na przykład program Microsoft SQL Server;

3) akcję — metodę, która miała być wykonana wobec zasobu, na przykład łączenie z serwerem;

4) kontekst zabezpieczeń — szczegóły tożsamości, użytkownika i połączenia. Następnie zaktualizuj konto, hasło lub uprawnienia w konfiguracji aplikacji lub po stronie serwera/domeny.

Element properties:

TargetMicrosoft.SystemCenter.Apm.MvcTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableFalse
Alert Message
Wyjątek zabezpieczeń transakcji
W transakcji {5} aplikacji {0} na serwerze {1} wystąpiła awaria zabezpieczeń. Funkcja „{4}” zgłosiła wyjątek typu „{2}” z komunikatem „{3}”. Więcej informacji zawiera następująca strona: $Url[Query='{6}']/APMEvent$

Member Modules:

ID Module Type TypeId RunAs 
LOBProvider DataSource Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule" Enabled="false" ConfirmDelivery="false" Target="Microsoft.SystemCenter.Apm.MvcTransaction" Remotable="false">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.MvcTransaction.LobDataProvider.ExceptionAspect">
<Name>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>security</AspectType>
<ControllerName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ControllerName$</ControllerName>
<ActionName>$Target/Property[Type="Microsoft.SystemCenter.Apm.MvcTransaction"]/ActionName$</ActionName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.MvcTransaction.AlertSecurityAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="AL!Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="AL!Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Security</Custom1>
</WriteAction>
</WriteActions>
</Rule>