APM 쓰기 동작 가용성

Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ManagementServer.APMWriteAction.Monitor (UnitMonitor)

이 모니터는 APM 쓰기 동작이 운영 데이터베이스의 이벤트를 저장하고 있는지 확인합니다. APM 이벤트를 데이터베이스에 전송하지 못하면 모니터가 경고 상태로 전환되고, 삽입이 다시 시작되면 정상 상태로 다시 설정됩니다.

Knowledge Base article:

요약

운영 데이터베이스에 APM 이벤트를 쓸 때 관리 서버에서 오류가 검색되면 인스턴스 상태가 비정상이 됩니다.

원인

일반적으로 이 원인은 데이터베이스의 가용성, 부하 및 일반적인 시스템의 부하에 따라 달라집니다. 모니터가 일시적으로 정상 상태로 다시 설정된 경우일 수도 있습니다.

해결 방법

운영 데이터베이스가 실행되고 있는지 확인합니다.

Element properties:

TargetMicrosoft.SystemCenter.CollectionManagementServer
Parent MonitorSystem.Health.AvailabilityState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableFalse
AccessibilityPublic
Alert Message
APM 쓰기 동작이 데이터베이스에 이벤트를 전송하지 못함
데이터베이스에 이벤트를 전송하는 동안 APM 쓰기 동작에 오류가 발생했습니다.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ManagementServer.APMWriteAction.Monitor" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Target="SC!Microsoft.SystemCenter.CollectionManagementServer" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" Remotable="false" Priority="Normal" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ManagementServer.APMWriteAction.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="SuccessfulEventSubmission" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
<OperationalState ID="FailedEventSubmission" 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>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34051</Value>
</ValueExpression>
</SimpleExpression>
</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">34052</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>