Processövervakning: Hög processortid i procent

Microsoft.Windows.Server.10.0.ProcessPercentProcessorTime.Alert (Rule)

Den här regeln genererar en avisering när processortid i procent är för hög.

Knowledge Base article:

Sammanfattning

Den här regeln genererar en avisering när förbrukning av processortid av en specifik process är för hög.

Obs! Om tröskelvärdet för den här regeln skiljer sig från motsvarande tröskelvärde för regeln "Processövervakning: Insamling av hälsotillstånd" kan det leda till inkonsekvens mellan aviseringar och hälsotillstånd för process.

För att undvika att generera överdrivna aviseringar har ett minimalt tröskelvärde för regeln implementerats. Standardvärdet för minimalt tröskelvärde är 7 %. Tröskelvärdet kan ändras till valfritt värde via åsidosättningarna för regeln i Operations Manager-konsolen, men om det ändras till ett värde som är lägre än 7 % är det effektiva tröskelvärdet som standard 7 %.

En användare kan ändra det minimala tröskelvärdet genom att skapa DWORD-registervärdet (32 bitar) MinimalPercentProcessorTimeThreshold på rätt agent och under rätt nyckel. Det effektiva tröskelvärdet blir lika med det högsta av två värden: standardtröskelvärdet/det åsidosatta tröskelvärdet via Operations Manager-konsolen och det minimala tröskelvärdet som anges i registret.

Följande registernyckel används för det minimala tröskelvärdet:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Modules\Global\BaseOSProcessMonitoring

Element properties:

TargetMicrosoft.Windows.Server.10.0.ProcessMonitoring.ProcessSeed
CategoryCustom
EnabledFalse
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.Server.10.0.Process.PercentProcessorTimeAlerting.DataSource Microsoft.Windows.Server.10.0.RunAs.CollectionRules
GenerateAlert WriteAction Microsoft.Windows.Server.10.0.GenerateAlertWriteAction Default
WA WriteAction Microsoft.Windows.Server.10.0.CloseAlertWriteAction Default

Source Code:

<Rule ID="Microsoft.Windows.Server.10.0.ProcessPercentProcessorTime.Alert" Target="Microsoft.Windows.Server.10.0.ProcessMonitoring.ProcessSeed" Enabled="false" Remotable="true" Priority="Normal" DiscardLevel="100" ConfirmDelivery="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.10.0.Process.PercentProcessorTimeAlerting.DataSource" RunAs="Microsoft.Windows.Server.10.0.RunAs.CollectionRules">
<MonitoringConfiguration>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.ProcessSeed"]/ThresholdsByProcess$</MonitoringConfiguration>
<IntervalSeconds>73</IntervalSeconds>
<SampleCount>6</SampleCount>
<PercentProcessorTimeThreshold>50</PercentProcessorTimeThreshold>
<LogLevel>4</LogLevel>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Microsoft.Windows.Server.10.0.GenerateAlertWriteAction">
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.10.0.ProcessPercentProcessorTime.Alert.AlertMessage"]$</AlertMessageId>
<Threshold>$Data/PercentProcessorTimeThreshold$</Threshold>
<Metric>IsPercentProcessorTimeTooHigh</Metric>
</WriteAction>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.10.0.CloseAlertWriteAction" Target="SCDW!Microsoft.SystemCenter.DataWarehouseConnectorServer">
<TimeoutSeconds>300</TimeoutSeconds>
<RuleId>$MPElement[Name="Microsoft.Windows.Server.10.0.ProcessPercentProcessorTime.Alert"]$</RuleId>
<Metric>IsPercentProcessorTimeTooHigh</Metric>
</WriteAction>
</WriteActions>
</Rule>