Konfiguracja monitorowania APM po stronie klienta

Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.CSMConfigurationConflict.Monitor (UnitMonitor)

Ten monitor sprawdza, czy agent APM poprawnie przetwarzał konfigurację monitorowania APM po stronie klienta. Monitor przechodzi w stan ostrzegawczy w razie wykrycia nieprawidłowej konfiguracji lub sprzecznych konfiguracji.

Knowledge Base article:

Podsumowanie

Gdy konfiguracja APM do monitorowania środowiska .NET po stronie klienta jest nieprawidłowa lub powoduje konflikt, wystąpienie przechodzi w stan złej kondycji.

Przyczyny

Infrastruktura konfiguracji APM generuje konfigurację dla agenta APM do monitorowania środowiska .NET po stronie klienta na podstawie ustawień określonych w szablonie monitorowania wydajności aplikacji .NET, pakietów administracyjnych oraz szeregu plików zawierających dyrektywy konfiguracji domyślnej, a zainstalowanych wstępnie z agentem. W razie problemów z agentami lub sprzeczności ustawień podczas tego procesu mogą wystąpić błędy uniemożliwiające pomyślne załadowanie i wykorzystanie konfiguracji. Przyczyny są między innymi następujące: nieprawidłowe ustawienia określone w procesie konfiguracji, konfliktowe ustawienia określone dla tej samej aplikacji w różnych szablonach, a nawet instalacja agenta, która jest uszkodzona i wymaga naprawy.

Najczęstszą przyczyną tego typu błędu jest konflikt konfiguracji, na przykład: wiele szablonów z konfliktowymi ustawieniami dla tej samej aplikacji.

Monitorowanie APM po stronie klienta jest stosowane osobno do każdej z witryn sieci Web i tylko jedną konfigurację można zastosować do każdej z nich. W przypadku konfigurowania monitorowania dla różnych aplikacji, których hostem jest ta sama witryna sieci Web, niektóre ustawienia konfiguracji muszą być takie same dla wszystkich monitorowanych aplikacji w procesie, ponieważ będą one współdzielić jeden moduł zbierający w ramach monitorowania po stronie klienta (CSM).

W niektórych przypadkach przyczyną błędu tego typu może być uszkodzony klucz szyfrowania.

Jeśli konflikt konfiguracji nie zostanie skorygowany, monitorowanie wydajności aplikacji po stronie klienta nie będzie działać zgodnie z oczekiwaniem w przypadku danej witryny sieci Web.

Rozwiązania

Sprawdź kontekst alertu oraz dziennik zdarzeń programu Operations Manager dla tego agenta, aby uzyskać dodatkowe informacje na temat przyczyny konfliktu. Dziennik zdarzeń może zawierać wiele komunikatów dotyczących jednego konfliktu lub błędu, co pomoże w wyizolowaniu grupy aplikacji powodujących konflikty konfiguracji w przypadku danego agenta.

Korzystając z informacji podanych z błędami, zapewnij, aby wszystkie progi i inne ustawienia zostały skonfigurowane tak samo w każdej z określonych grup aplikacji. Aby zaktualizować konfigurację grupy aplikacji:

Korzystając z kreatora właściwości, można skorygować konfliktowe ustawienia w grupach aplikacji.

W przypadku uszkodzonego konta polecenia Uruchom jako wystarczy otworzyć szablon monitorowania wydajności aplikacji .NET i zapisać go ponownie, tak aby wszystkie ustawienia, razem z ustawieniem konta polecenia Uruchom jako, zostały zapisane ponownie już w poprawnym formacie.

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApmAgent
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableFalse
AccessibilityPublic
Alert Message
Błąd lub sprzeczność konfiguracji monitorowania APM po stronie klienta
Agent APM napotkał błąd podczas przetwarzania konfiguracji monitorowania APM po stronie klienta. Przyczyną może być problem z agentem lub nieprawidłowa/sprzeczna konfiguracja określona w różnych szablonach.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.CSMConfigurationConflict.Monitor" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.ConfigurationState" Target="AI!Microsoft.SystemCenter.Apm.ApmAgent" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" Remotable="false" Priority="Normal" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.CSMConfigurationConflict.Monitor.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="NOConflict" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
<OperationalState ID="Conflict" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Operations Manager</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">.NET app monitoring</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34240</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34246</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34247</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34248</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34249</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34250</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Operations Manager</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">.NET app monitoring</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34243</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>