Pourcentage d'utilisation du processeur par l'agent

Microsoft.SystemCenter.HealthService.SCOMpercentageCPUTimeMonitor (UnitMonitor)

Analyser tous les processus de l'agent pour identifier des problèmes potentiels d'utilisation excessive du temps processeur par celui-ci.

Knowledge Base article:

Résumé

Ce scénario calcule le pourcentage total d'utilisation du processeur par l'agent Operations Manager et ses processus connexes et génère une alerte lorsqu'il dépasse un seuil spécifié pour un nombre donné d'échantillons consécutifs.

Ce script sous-jacent de l'analyse fonctionne par localisation et échantillonnage du pourcentage d'utilisation du processeur pour le processus de l'agent Operations Manager (HealthService.exe), le processus hôte d'analyse de ses enfants (MonitoringHost.exe) et les processus enfant de ces processus hôtes d'analyse (cscript.exe, PowerShell.exe, etc.). Le script effectue le calcul 3 fois et envoie la moyenne des 3 échantillons consécutifs qui est ensuite utilisée par cette analyse pour déterminer l'état critique ou intègre.

Configuration

Vous pouvez utiliser des remplacements pour personnaliser les paramètres suivants afin de modifier le comportement par défaut de cette analyse :

Cette analyse est désactivée par défaut pour tous les serveurs d'administration.

Causes

Une utilisation excessive du processeur par les divers processus d'agent Operations Manager peut indiquer que l'agent ou l'une de ses dépendances sous-jacentes ne fonctionne pas correctement. Si l'agent et ses dépendances sous-jacentes sont mis à jour correctement, l'agent est utilisé de façon excessive sur le système analysé. Ce phénomène peut être transitoire en raison d'une mise à jour récente du groupe d'administration, comme le déploiement d'un nouveau pack d'administration, ou il peut être dû au fait que l'agent supporte réellement une charge excessive, auquel cas un réglage peut s'avérer nécessaire.

Résolutions

Pour que l'agent et ses dépendances sous-jacentes fonctionnent correctement, effectuez les vérifications suivantes :

Si l'état persiste après la vérification de ces configurations, il est nécessaire d'effectuer des recherches plus approfondies pour comprendre les causes de l'utilisation excessive du processeur. Approfondissez les recherches en utilisant toute combinaison des opérations suivantes :

Lorsque la ou les causes ont été identifiées, l'une des actions suivantes peut être effectuée pour résoudre le problème :

Si aucune des suggestions ci-dessus ne résout le problème, contactez les services du Support Technique Microsoft (http://support.microsoft.com/).

Sources d'informations supplémentaires

Cette analyse est associée à la tâche de diagnostic « Collecter le diagnostic du pourcentage d'utilisation du processeur par l'agent » qui exécute de nouveau l'échantillonnage de l'utilisation du processeur. La tâche de diagnostic est désactivée par défaut.

Il existe aussi une tâche dans la console Opérateur, « Obtenir le pourcentage d'utilisation du processeur par l'agent », qui exécute de nouveau l'échantillonnage de l'utilisation du processeur. Lorsque vous exécutez la tâche « Obtenir le pourcentage d'utilisation du processeur par l'agent », vous pouvez définir le temps imparti et le nombre de paramètres des échantillons. La tâche produit un tableau de résultats. Exécutez la tâche « Obtenir le pourcentage d'utilisation du processeur par l'agent »

Element properties:

TargetMicrosoft.SystemCenter.HealthService
Parent MonitorMicrosoft.SystemCenter.HealthService.PerformanceHealthRollup
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.HealthService.SCOMpercentageCPUTimeCounterMonitorType
RemotableFalse
AccessibilityPublic
Alert Message
Les processus de l'agent Operations Manager utilisent trop de temps processeur
Le pourcentage total d'utilisation du processeur sur l'ordinateur {0} de tous les processus de l'agent a dépassé le seuil de {1} sur plusieurs échantillons.
RunAsDefault

Source Code:

<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/>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<Threshold>25</Threshold>
<ConsecutiveSampleCountCritical>6</ConsecutiveSampleCountCritical>
<ConsecutiveSampleCountHealthy>3</ConsecutiveSampleCountHealthy>
</Configuration>
</UnitMonitor>