Supervisa todos los procesos de agente para identificar problemas potenciales en los que el agente usa demasiado tiempo de procesador.
Este monitor calcula el uso de CPU total del agente de Operations Manager y sus procesos relacionados y genera una alerta cuando el uso de CPU supera un umbral específico para un número determinado de muestras consecutivas.
La secuencia de comandos subyacente del monitor funciona localizando y realizando un muestreo del uso de CPU por parte del proceso de agente de Operations Manager (HealthService.exe), su proceso de host de supervisión secundario (MonitoringHost.exe) y los procesos secundarios de esos procesos de host de supervisión (cscript.exe, PowerShell.exe, etc.). La secuencia de comandos ejecuta el cálculo tres veces obteniendo el promedio de las tres muestras consecutivas, que este monitor usa entonces para determinar el estado crítico o correcto.
Puede usar invalidaciones para personalizar los parámetros siguientes y modificar así el comportamiento predeterminado de este monitor:
Frecuencia (segundos). Esta es la frecuencia a la que el monitor realiza una muestreo de utilización del procesador de los agentes. De forma predeterminada, el monitor evalúa la utilización del procesador de los agentes cada 300 segundos (5 minutos).
Número de muestras consecutivas para estado crítico. De forma predeterminada, este monitor informa de un estado crítico cuando 6 muestras consecutivas superan el umbral especificado.
Número de muestras consecutivas para estado correcto. De forma predeterminada, este monitor devuelve un estado correcto cuando 3 muestras consecutivas están por debajo del umbral especificado.
Umbral. De forma predeterminada, el umbral de uso de CPU es el 25%.
Este monitor está deshabilitado de forma predeterminada para todos los servidores de administración.
El uso excesivo de CPU de los distintos procesos de agente de Operations Manager puede indicar que el agente o una de sus dependencias subyacentes no está funcionando correctamente. Si el agente y sus dependencias subyacentes están actualizados correctamente, significa que el agente se está usando por encima de su capacidad en el sistema que se está supervisando. Esta circunstancia puede ser temporal debido a una actualización reciente en el grupo de administración, como la implementación de un nuevo módulo de administración, o a que el agente está sometido verdaderamente a una carga excesiva; en cuyo caso, puede que sea necesario realizar un ajuste.
Para asegurarse de que el agente y sus dependencias subyacentes están funcionando correctamente, compruebe lo siguiente:
Compruebe que esté instalada en el sistema la versión más reciente del agente de Operations Manager.
Compruebe que está instalada la actualización de MSXML 6.0 proporcionada en el artículo 968967 de Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=181885).
Si el sistema operativo del sistema es Windows XP, Windows 2000 Server o Windows Server 2003, asegúrese de que el sistema esté ejecutando Windows Script Host 5.7 o una versión posterior. En el vínculo siguiente se incluyen las ubicaciones de descarga para Windows Script Host 5.7 http://go.microsoft.com/fwlink/?LinkId=181884.
Si la condición persiste después de comprobar esas configuraciones, se deberá realizar una investigación más profunda para comprender a qué se debe el uso de CPU. Investigue más a fondo combinando los pasos siguientes como desee:
Revise el historial reciente de utilización del procesador de los agentes, número de flujos de trabajo y número de módulos mediante la vista siguiente: Vista Rendimiento del agente. Los datos de utilización del procesador de los agentes indicarán si el problema es reciente o se ha venido produciendo durante un periodo de tiempo mayor. Los datos sobre número de flujos de trabajo y de módulos darán una indicación de la carga de trabajo que los distintos monitores, reglas y detecciones ponen sobre el agente. Estos datos también se deben comparar con respecto a agentes cuyo estado es correcto.
Use una herramienta como el Effective Configuration Viewer (Visor de configuración efectiva) (http://go.microsoft.com/fwlink/?LinkId=182300) para comprender el número de instancias de clase detectadas en el agente. Un mayor número de instancias de clase puede aumentar el número de flujos de trabajo y de módulos, lo que a su vez resulta en una carga mayor.
Mediante el monitor de rendimiento, recopile del objeto Proceso datos de medición más detallados de % de tiempo de procesador. Esto mostrará qué procesos están contribuyendo más significativamente a la utilización global del procesador.
Revise las actualizaciones y los cambios recientes de módulos de administración para ver si se corresponden con el aumento en el uso de CPU.
Una vez identificadas la causa o las causas, cualquiera de los pasos siguientes puede ser válido para solucionar el problema:
Si se ha producido recientemente un cambio de módulo de administración o se ha implementado un nuevo módulo de administración, supervise la situación para ver si el problema continúa.
Reduzca la frecuencia de detecciones mediante invalidaciones para distribuir el uso de CPU a lo largo del día. Esto supone una compensación en el caso de que una detección esté tardando más tiempo en producirse.
Reduzca la frecuencia de las reglas o los monitores que se ejecutan en una programación para distribuir el uso de CPU a lo largo del día. De este modo, se compensa la supervisión.
Si el agente es administrado por varios grupos de administración (una configuración de “host múltiple”), la utilización del procesador será igualmente mayor. Considere reducir el número de grupos de administración que administran al agente.
Si los pasos anteriores no solucionan el problema, póngase en contacto con el Servicio y soporte técnico de Microsoft (http://support.microsoft.com/).
Este monitor tiene una tarea de diagnóstico relacionada, “Recopilar diagnóstico de utilización del procesador de los agentes”, que vuelve a ejecutar el muestreo de uso de CPU. De forma predeterminada, la tarea de diagnóstico está deshabilitada.
Existe también una tarea en la consola del operador, “Obtener la utilización del procesador de los agentes”, que vuelve a ejecutar el muestreo de uso de CPU. Cuando ejecute la tarea “Obtener la utilización del procesador de los agentes”, puede establecer el tiempo de espera y el número de parámetros de muestra. La tarea devuelve una tabla de resultados. Ejecutar la tarea "Obtener la utilización del procesador de los agentes"
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>