Analyser tous les processus de l'agent pour identifier des problèmes potentiels d'utilisation excessive du temps processeur par celui-ci.
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.
Vous pouvez utiliser des remplacements pour personnaliser les paramètres suivants afin de modifier le comportement par défaut de cette analyse :
Fréquence (secondes). C'est la fréquence à laquelle l'analyse échantillonne le pourcentage d'utilisation du processeur par l'agent. Par défaut, l'analyse évalue le pourcentage d'utilisation du processeur par l'agent toutes les 300 secondes (5 minutes).
Nombre d'échantillons consécutifs pour l'état critique : Par défaut, cette analyse signale un état critique lorsque 6 échantillons consécutifs dépassent le seuil spécifié.
Nombre d'échantillons consécutifs pour l'état intègre. Par défaut, cette analyse retourne un état intègre lorsque 3 échantillons consécutifs sont inférieurs au seuil spécifié.
Seuil. Par défaut, le seuil du pourcentage d'utilisation du processeur est 25 %.
Cette analyse est désactivée par défaut pour tous les serveurs d'administration.
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.
Pour que l'agent et ses dépendances sous-jacentes fonctionnent correctement, effectuez les vérifications suivantes :
Vérifiez que la version la plus récente de l'agent Operations Manager est installée sur le système.
Vérifiez que la mise à jour pour MSXML 6.0 fournie dans l' article 968967 de la base de connaissances (http://go.microsoft.com/fwlink/?LinkId=181885) est installée.
Si le système d'exploitation est Windows XP, Windows 2000 Server ou Windows Server 2003, vérifiez que le système exécute Windows Script Host 5.7 ou une version plus récente. Le lien suivant donne les adresses de téléchargement pour Windows Script Host 5.7 http://go.microsoft.com/fwlink/?LinkId=181884.
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 :
Consultez l'historique récent du pourcentage d'utilisation du processeur par l'agent, le nombre de flux de travail et le nombre de modules en utilisant l'affichage suivant : Affichage Performance des agents Les données d'utilisation du processeur par l'agent indiquent si le problème est récent ou se produit depuis un certain temps. Les données relatives au nombre de flux de travail et de modules donnent une indication de la charge de travail que les diverses règles, analyses et détections placent sur l'agent. Ces données doivent également être comparées à celles d'agents intègres à titre de référence.
Utilisez un outil tel que Effective Configuration Viewer (visionneuse de configuration effective) (http://go.microsoft.com/fwlink/?LinkId=182300) pour comprendre le nombre d'instances de classes détectées sur l'agent. Un plus grand nombre d'instances de classes risque d'induire un flux de travail et un nombre de modules plus important, ce qui risque de créer une plus forte charge de travail.
À l'aide de l'Analyseur de performances, collectez des mesures de pourcentage d'utilisation du processeur plus détaillées à partir de l'objet processus. Cela donnera une indication des processus qui contribuent le plus à l'utilisation globale du processeur.
Répertoriez les récentes mises à jour ou modifications des packs d'administration pour déterminer si elles correspondent à l'augmentation de l'utilisation du processeur.
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 le pack d'administration a été modifié récemment ou si un nouveau pack d'administration a été déployé, analysez la situation pour voir si le problème continue.
Réduisez la fréquence des détections via des remplacements pour étaler leur contribution à l'utilisation du processeur sur toute la journée. En procédant ainsi, les détections risquent de demander plus de temps.
Réduisez la fréquence des règles ou analyses dont l'exécution est planifiée afin d'étaler l'utilisation du processeur sur toute la journée. Le fait de procéder ainsi conduit à un compromis pour les analyses.
Si l'agent est géré par plusieurs groupes d'administration (une configuration appelée « multi-résidente »), cela contribuera aussi à une utilisation plus importante du processeur. Envisagez de réduire le nombre de groupes d'administration qui gèrent l'agent.
Si aucune des suggestions ci-dessus ne résout le problème, contactez les services du Support Technique Microsoft (http://support.microsoft.com/).
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 »
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>