Monitora todos os processos do agente para identificar possíveis problemas devido ao uso intenso do tempo do processador por parte do agente.
Este monitor monitora a utilização total da CPU por parte do agente do Operations Manager e seus processos relacionados e gera um alerta quando a utilização da CPU excede um limite especificado para um número especificado de amostras consecutivas.
O script subjacente desse monitor opera localizando e obtendo amostras da utilização da CPU para o processo de agente do Operations Manager (HealthService.exe), seus processos host de monitoramento filho (MonitoringHost.exe) e os processos filhos destes últimos (cscript.exe, PowerShell.exe, etc.). O script executa o cálculo três vezes e gera a média das três amostras consecutivas, que ele utiliza para determinar o estado crítico ou íntegro.
É possível usar substituições para personalizar os seguintes parâmetros e alterar o comportamento padrão deste monitor:
Frequência (segundos). Essa é a frequência com a qual o monitor obtém amostras da utilização de processador do agente. Por padrão, o monitor avalia a utilização de processador do agente a cada 300 segundos (5 minutos).
Número de amostras consecutivas para o estado crítico. Por padrão, esse monitor registra um estado crítico quando 6 amostras consecutivas excedem o limite especificado.
Número de amostras consecutivas para o estado íntegro. Por padrão, esse monitor retorna um estado íntegro quando 3 amostras consecutivas estão abaixo do limite especificado.
Limite. Por padrão, o limite para utilização da CPU é 25%.
Esse monitor está desabilitado por padrão para todos os servidores de gerenciamento.
O excesso da utilização da CPU por parte dos vários dos processos de agente do Operations Manager pode indicar que o agente ou uma de suas dependências subjacentes não está operando corretamente. Se o agente e as dependências subjacentes estiverem devidamente atualizados, significa que o agente está sendo utilizado em excesso no sistema sob monitoramento. Isso pode ter curta duração, devido a uma atualização recente no grupo de gerenciamento, como a implantação de um novo pacote de gerenciamento, ou pode estar relacionado ao fato de que o agente realmente se encontra sob excesso de carga, um caso que talvez exija ajustes.
Para garantir que o agente e suas dependências subjacentes estejam operando corretamente, verifique o seguinte:
Verifique se a versão mais recente do agente do Operations Manager está instalada no sistema.
Verifique se a atualização para o MSXML 6.0, fornecida no artigo 968967 da Base de Dados de Conhecimento (http://go.microsoft.com/fwlink/?LinkId=181885), está instalada.
Se o sistema operacional for Windows XP, Windows 2000 Server ou Windows Server 2003, verifique se ele está executando o Windows Script Host 5.7 ou versão posterior. O link a seguir fornece os locais de link para o Windows Script Host 5.7 http://go.microsoft.com/fwlink/?LinkId=181884.
Se a condição persistir após a verificação dessas condições, será necessária uma investigação mais detalhada para compreender o que está influenciando a utilização da CPU. Investigue mais a fundo usando qualquer combinação das etapas a seguir:
Reveja o histórico recente da utilização de processadores pelos agentes, a contagem de fluxos de trabalho e as contagens de módulos usando a seguinte exibição: Exibição de Desempenho dos Agentes. Os dados de utilização de processador do agente indicarão se o problema é recente ou se já está ocorrendo há um tempo. Os dados de contagem de fluxo de trabalho e módulos darão uma indicação da carga de trabalho que as diversas regras, monitores e descobertas estão colocando no agente. Esses dados também devem ser comparados com agentes íntegros para serem usados como ferramenta de contraste.
Use uma ferramenta como o Visualizador de Configurações Efetivas (http://go.microsoft.com/fwlink/?LinkId=182300) para compreender o número de instâncias de classes descobertas no agente. Mais instâncias de classe podem aumentar as contagens de módulos e fluxo de trabalho, o que pode resultar em uma carga de trabalho maior.
Usando o Monitor de Desempenho, colete medidas mais detalhadas para % Tempo do processador no objeto Processo. Isso mostrará quais processos estão contribuindo de maneira mais significativa com a utilização geral do processador.
Reveja todas as atualizações ou alterações recentes dos pacotes de gerenciamento para ver se elas correspondem ao aumento na utilização da CPU.
Quando as causas forem identificadas, qualquer uma das etapas a seguir poderá ser executada para resolver o problema:
Se uma alteração de pacote de gerenciamento tiver sido feita recentemente ou se um novo pacote de gerenciamento tiver sido implantado, monitore a situação para verificar se o problema persiste.
Reduza a frequência de descobertas via substituições para dispersar a utilização da CPU ao longo do dia. A desvantagem dessa estratégia é que a descoberta pode acabar demorando mais para ocorrer.
Reduza a frequência de regras ou monitores executados em um cronograma para dispersar a utilização da CPU ao longo do dia. A desvantagem dessa estratégia é que o desempenho do monitoramento pode piorar.
Se o agente for gerenciado por vários grupos de gerenciamento (uma configuração conhecida como “multihomed”), isso também contribuirá com a maior utilização do processador. Considere reduzir o número de grupos de gerenciamento que são gerenciados pelo agente.
Se nenhuma das etapas acima gerar uma solução, contate o Serviço de Atendimento ao Consumidor da Microsoft (http://support.microsoft.com/).
Esse monitor tem uma tarefa de diagnóstico relacionada, “Coletar diagnóstico de utilização de processador do agente”, que repete a execução da utilização da CPU. Por padrão, a tarefa de diagnóstico está desabilitada.
Também há uma tarefa no console de Operações, “Obter a utilização de processador do agente”, que repete a execução da amostragem da utilização da CPU. Ao executar a tarefa ”Obter a utilização de processador do agente”, você pode definir os parâmetros de tempo limite e número de amostras. A tarefa retorna uma tabela de resultados. Execute a tarefa Obter a ‘utilização de processador do agente’
Target | Microsoft.SystemCenter.HealthService | ||
Parent Monitor | Microsoft.SystemCenter.HealthService.PerformanceHealthRollup | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType | ||
Remotable | False | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor" Accessibility="Public" Enabled="onEssentialMonitoring" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ParentMonitorID="Microsoft.SystemCenter.HealthService.PerformanceHealthRollup" Remotable="false" Priority="Normal" TypeID="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Data/Context/SampleValue$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="CPUTimeOverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="CPUTimeUnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>321</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<SyncTime>00:00</SyncTime>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<Threshold>25</Threshold>
<ConsecutiveSampleCountCritical>6</ConsecutiveSampleCountCritical>
<ConsecutiveSampleCountHealthy>3</ConsecutiveSampleCountHealthy>
</Configuration>
</UnitMonitor>