Monitor de Fila: Enviar mensagem de teste

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

Este monitor testa um servidor enviando uma mensagem de teste para uma fila. O recebimento da mensagem é validado através de uma mensagem de resposta enviada a uma fila de administrador, na qual a mensagem de teste e a de resposta são removidas.

Knowledge Base article:

Resumo

Este monitor testa um servidor enviando uma mensagem de teste para uma fila.

O recebimento da mensagem é validado através de uma mensagem de resposta enviada a uma fila de administrador, na qual a mensagem de teste e a de resposta são removidas.

Configuração

O comportamento desse monitor pode ser modificado com uma configuração de substituição dos seguintes parâmetros.

IntervaloSegundos

O tempo em segundos entre as execuções do teste. Se esse valor for definido como baixo, poderá resultar em sobrecarga excessiva no serviço MSMQ. Se for definido como alto, uma condição de erro poderá não ser detectada dentro de um prazo adequado. A configuração padrão é 600 segundos (enviar uma mensagem de teste a cada 10 minutos).

FilaDestino

O nome do caminho da fila de destino para o qual enviar a mensagem.

FilaAdministrador

O nome do administrador da fila de destino para o qual enviar a mensagem de resposta.

CriarFilas

Se definido como true, a fila de destino e fila do administrador serão criadas automaticamente, se já não existirem.

CorpoMensagem

Texto a ser incluído no corpo da mensagem de teste.

EspecíficoAplicativo

Número inteiro longo específico para o aplicativo, usado para identificar mensagens do Operations Manager.

A conexão é feita com as credenciais definidas no Perfil de Usuário de Acesso da Fila. Essa conta deve ter acesso às filas em teste. A conta é configurada na seção de Administração do Console de Operações.

Para Filas Transacionais, a Fila do Administrador alternará a partir da própria fila para a fila padrão de teste: X.

Causas

Verifique as informações no alerta relacionado a esse monitor e o alerta retornado no Evento de Alteração de Estado. Isso incluirá a etapa no processo que terminou em uma falha e a mensagem de erro exata.

Element properties:

TargetMicrosoft.MSMQ.10.0.Queues
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.MSMQ.10.0.MonitorType.TestMessage
RemotableTrue
AccessibilityPublic
Alert Message
Fila: Enviar Alerta de Mensagem de Teste
Veja o contexto do alerta para obter detalhes.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.MSMQ.10.0.Monitor.Queue.TestMessage" Accessibility="Public" Enabled="false" Target="Microsoft.MSMQ.10.0.Queues" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.MSMQ.10.0.MonitorType.TestMessage" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.MSMQ.10.0.Monitor.Queue.TestMessage.AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="MessageFailed" MonitorTypeStateID="MessageFailed" HealthState="Error"/>
<OperationalState ID="MessageReceived" MonitorTypeStateID="MessageReceived" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>600</IntervalSeconds>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<TargetQueue>$Target/Property[Type="Microsoft.MSMQ.10.0.Queue"]/PathName$</TargetQueue>
<AdminQueue>$Target/Property[Type="Microsoft.MSMQ.10.0.Queue"]/PathName$</AdminQueue>
<CreateQueues>true</CreateQueues>
<AppSpecific>123456789</AppSpecific>
<MaxWaitTime>10</MaxWaitTime>
<MessageBody>Test message sent by Operations Manager 2016.</MessageBody>
<RemoveMessage>true</RemoveMessage>
<CleanupQueue>true</CleanupQueue>
<CleanupAdminQueue>true</CleanupAdminQueue>
<LogDetail>false</LogDetail>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>