Limiar da Contagem de Identificadores do Anfitrião de Monitorização

Microsoft.SystemCenter.Agent.MonitoringHost.HandleCountThreshold (UnitMonitor)

Este monitor assegura que o contador "Processo\Número de Identificadores" para os processos "MonitoringHost.exe" não excede um limiar definido em relação a uma série de amostras consecutivas. Se estiverem reunidas as condições, este monitor será alterado para um estado crítico, que será depois agregado para o monitor de "Estado do Serviço de Integridade". O monitor "Estado do Serviço de Integridade" é configurado para executar uma recuperação quando o respetivo estado for crítico, o que levará automaticamente a uma tentativa de reinício do Serviço de Integridade de Gestão do System Center.

Knowledge Base article:

Resumo

Esta regra mede a taxa de utilização de Contagem de Processo\Identificadores de todas as instâncias do processo Anfitrião de Monitorização. Se exceder o limiar configurado, uma resposta tenta reiniciar o Serviço de Integridade de Gestão do System Center para garantir não continua a sobrecarregar o computador.

Existem limiares diferentes consoante a função que o Serviço de Integridade de Gestão do System Center está configurado para executar. Segue-se um resumo dos limiares predefinidos:

Função do Serviço de Integridade de Gestão do System Center

Limiar de Contagem de Identificadores

Agente

6,000

Servidor de Gestão

10,000

Segue-se a configuração da resposta que tenta reiniciar o Serviço de Integridade de Gestão do System Center:

Função do Serviço de Integridade de Gestão do System Center

Comportamento de Resposta de Reinício

Agente

Ativado

Servidor de Gestão

Nenhuma resposta de reinício

Causas

Resumidamente, as causas potenciais são:

Demasiadas regras e monitores estão carregados a partir de todos os pacotes de gestão com que foi configurado este Serviço de Integridade de Gestão do System Center.

Uma regra ou monitor incorretamente configurados está a recolher demasiados dados (p.ex. a regra de recolha do contador de desempenho está a recolher dados a cada 1 segundo)

Tal pode dever-se ao facto de o Serviço de Integridade de Gestão do System Center estar a executar muitos pacotes de gestão. Cada Pacote de Gestão pode exigir muita monitorização, o que utiliza uma pequena quantidade de recursos. Com muitos pacotes de gestão a juntar a vários milhares de regras e monitores, cada instância de Monitorização de Anfitrião pode começar a consumir mais recursos.

Tal pode ser esperado para este Serviço de Integridade de Gestão do System Center, dependendo do tipo de monitorização que o Serviço de Integridade de Gestão do System Center está a efetuar.

Outra causa poderia dever-se ao facto de uma ou mais regras e monitores não estarem em conformidade com algumas das melhores práticas. Um exemplo disto é uma regra de contador de desempenho que tenta recolher dados de desempenho a cada 1 segundo. Um número excessivo de regras ou monitores configurados desta forma fará com que o processo de monitorização host.exe consuma mais recursos.

Resoluções

A ação predefinida para esta regra em execução em agentes consiste em reiniciar o Serviço de Integridade de Gestão do System Center. Porque esta recuperação está ativada por predefinição em agentes, não é necessária qualquer ação do utilizador.

Note que o Serviço de Integridade de Gestão do System Center pode não reiniciar corretamente se a conta da ação com que este agente foi configurado não tiver as permissões adequadas para reiniciar o serviço.

Se for este o caso, inicie o serviço do Windows Serviço de Integridade de Gestão do System Center.

Se sentir que a utilização de recursos é adequada para a quantidade de monitorização a ser efetuada por este agente, pode substituir o limiar o desativar a regra.

Element properties:

TargetMicrosoft.SystemCenter.Agent
Parent MonitorMicrosoft.SystemCenter.HealthService.ServiceStateRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType
RemotableFalse
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Agent.MonitoringHost.HandleCountThreshold" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Microsoft.SystemCenter.HealthService.ServiceStateRollup" Remotable="false" Priority="High" TypeID="Microsoft.SystemCenter.Agent.Performance.ConsecutiveSamplesThreshold.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="HandleCountUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
<OperationalState ID="HandleCountOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ObjectName>Process</ObjectName>
<CounterName>Handle Count</CounterName>
<InstanceName>MonitoringHost*</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>120</Frequency>
<NumSamples>5</NumSamples>
<Threshold>6000</Threshold>
<Direction>greater</Direction>
</Configuration>
</UnitMonitor>