Monitorização de Processos: Percentagem de Memória Elevada

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

Esta regra gera um alerta quando a percentagem da memória é demasiado elevada.

Knowledge Base article:

Resumo

Esta regra gera um alerta quando o consumo da memória pelo processo específico é demasiado elevado.

Nota: Tenha em atenção que se o limiar desta regra for diferente do limiar correspondente para a regra "Monitorização de Processos: Recolha do Estado de Funcionamento", poderá resultar numa inconsistência entre os alertas e os estados de funcionamento dos processos.

Para evitar gerar demasiados alertas, foi implementado um limiar mínimo para a regra. O valor predefinido para o limiar mínimo é 7%. O limiar pode ser alterado para qualquer valor através da substituição da regra na consola Operations Manager, mas se for alterado para um valor inferior a 7%, o limiar efetivo será 7% por predefinição.

Um utilizador pode alterar o limiar mínimo ao criar o valor DWORD (32 bits) de registo MinimalMemoryPercentageThreshold no agente adequado e na chave certa. O limiar efetivo será igual a um máximo de dois valores: o limiar predefinido/substituído da consola Operations Manager e o limar mínimo definido no registo.

A chave de registo seguinte é utilizada como limiar mínimo:

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.MemoryPercentageAlerting.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.ProcessMemoryPercentage.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.MemoryPercentageAlerting.DataSource" RunAs="Microsoft.Windows.Server.10.0.RunAs.CollectionRules">
<MonitoringConfiguration>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.ProcessSeed"]/ThresholdsByProcess$</MonitoringConfiguration>
<IntervalSeconds>67</IntervalSeconds>
<SampleCount>6</SampleCount>
<MemoryPercentageThreshold>50</MemoryPercentageThreshold>
<LogLevel>4</LogLevel>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Microsoft.Windows.Server.10.0.GenerateAlertWriteAction">
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.10.0.ProcessMemoryPercentage.Alert.AlertMessage"]$</AlertMessageId>
<Threshold>$Data/MemoryPercentageThreshold$</Threshold>
<Metric>IsMemoryPercentageTooHigh</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.ProcessMemoryPercentage.Alert"]$</RuleId>
<Metric>IsMemoryPercentageTooHigh</Metric>
</WriteAction>
</WriteActions>
</Rule>