Ligação

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

Monitoriza o estado de ligação de uma Fila.

Knowledge Base article:

Resumo

Este monitor verifica a ligação a uma fila, tentando observá-la.

Este teste é efetuado pelo servidor local, pelo que poderão continuar a existir condições de rede que impeçam outros clientes de estabelecer ligação com o servidor. As condições de rede são incluídas num monitor de Perspetiva de Cliente, que poderá estar ativado e configurado separadamente deste monitor.

Observar uma fila inativa ativará automaticamente essa fila. Para reduzir a carga do servidor, o teste não é efetuado em filas inativas.

Configuração

O comportamento deste monitor poderá ser modificado por uma substituição que defina os seguintes parâmetros.

IntervalSeconds

O número de segundos entre as execuções do teste. Se este valor for definido como demasiado baixo, poderá resultar numa carga excessiva sobre o serviço MSMQ. Se for definido como demasiado alto, uma condição de erro poderá não ser detetada a tempo. A predefinição é de 120 segundos (executar o teste a cada 2 minutos).

A ligação é estabelecida sob as credenciais definidas no Perfil do Utilizador de Acesso a Filas. Esta conta deverá ter acesso às filas a testar. A conta encontra-se configurada na secção Administração da Consola de Operações.

Causas

Se a ligação a uma fila falhar devido a um erro de Acesso Recusado, é provável que tal se fique a dever à incapacidade do Perfil do Utilizador de Acesso a Filas de estabelecer uma ligação à fila. Verifique as credenciais do Perfil do Utilizador de Acesso a Filas na secção Administração da Consola de Operações.

Element properties:

TargetMicrosoft.MSMQ.10.0.Queues
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.MSMQ.10.0.MonitorType.QueueConnection
RemotableTrue
AccessibilityPublic
Alert Message
O teste de ligação à fila falhou.
Consulte o contexto do alerta para obter detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Queue.ConnectionStatus" Accessibility="Public" Enabled="true" Target="Microsoft.MSMQ.10.0.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.10.0.MonitorType.QueueConnection" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.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.10.0.Queue"]/PathName$</QueuePath>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>