연결

Microsoft.MSMQ.6.3.Monitor.Queue.ConnectionStatus (UnitMonitor)

큐의 연결 상태를 모니터링합니다.

Knowledge Base article:

요약

이 모니터는 미리 보기를 시도하여 큐에 대한 연결을 확인합니다.

이 테스트는 로컬 서버에서 수행되므로, 다른 클라이언트가 연결할 수 없게 하는 네트워크 상태가 여전히 있을 수 있습니다. 네트워크 상태에는 이 모니터에 대해 따로 활성화 및 구성할 수 있는 클라이언트 관점 모니터가 포함됩니다.

비활성 큐를 미리 보면 자동으로 해당 큐가 활성화됩니다. 서버에 대한 오버헤드를 줄이기 위해 비활성 큐에 대해서는 테스트가 수행되지 않습니다.

구성

다음 매개 변수의 설정을 재정의하면 모니터의 동작이 수정됩니다.

IntervalSeconds

수의 테스트 실행 간격 (초)입니다. 이 값이 너무 낮게 설정되어 있으면 MSMQ 서비스에 대해 과도한 오버헤드가 발생할 수 있습니다. 너무 높게 설정되어 있으면 적절한 시간 내에 오류 조건을 검색하지 못할 수 있습니다. 기본 설정 값은 120초입니다(2분마다 테스트 실행).

큐 액세스 사용자 프로필에 정의된 자격 증명에 따라 연결이 이루어집니다. 이 계정은 테스트 중인 큐에 액세스할 수 있어야 합니다. 운영 콘솔의 관리 섹션에서 계정을 구성합니다.

원인

액세스 거부 오류 때문에 큐에 연결하지 못하는 경우에는 큐 액세스 사용자 프로필이 큐에 연결할 수 없기 때문일 가능성이 가장 높습니다. 운영 콘솔의 관리 섹션에서 큐 액세스 사용자 프로필의 자격 증명을 확인하십시오.

Element properties:

TargetMicrosoft.MSMQ.6.3.Queues
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.MSMQ.6.3.MonitorType.QueueConnection
RemotableTrue
AccessibilityPublic
Alert Message
큐에 대한 연결 테스트에 실패했습니다.
자세한 내용은 경고 컨텍스트를 참조하십시오.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.6.3.Monitor.Queue.ConnectionStatus" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.6.3.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.6.3.MonitorType.QueueConnection" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.6.3.Monitor.Queue.ConnectionStatus.AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnsuccessfulConnection" MonitorTypeStateID="UnsuccessfulConnection" HealthState="Error"/>
<OperationalState ID="SuccessfulConnection" MonitorTypeStateID="SuccessfulConnection" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<QueuePath>$Target/Property[Type="Microsoft.MSMQ.6.3.Queue"]/PathName$</QueuePath>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>