This monitor generates an alert if the sum of Kilobytes of memory used by the Apache HTTPD Server processes exceed the threshold.
The total memory used by the Apache HTTP Server processes is high. System performance may be adversely affected.
Total used memory is the sum of physical memory used by all Apache HTTP Server processes. This metric is the primary indicator of Apache HTTP Server memory consumption.
The monitor threshold is analyzed against an average of values returned in polls to the agent where the Number of Samples parameter controls the number of samples included in the calculation of the average.
To address high Apache HTTP Server memory usage choose one or more of the following options:
Identify files that the Apache process might be using by running the lsof –p [apache-process-id] command.
Add processors or physical memory to the computer.
Move applications to one or more additional servers.
Investigate the efficiency of the web applications
Default Configuration
Parameter | Default Value |
Warning Threshold | 262144 |
Error Threshold | 524288 |
Number of Samples | 2 |
Overrides can be used to change the parameter values defined above for all instances or for specific instances or groups.
Target | Microsoft.ApacheHTTPServer.ManagedServer.Unix | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSMan.Process.Performance.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ApacheHTTPServer.ManagedServer.Unix.TotalUsedMemoryKB.Monitor" Accessibility="Public" Target="Microsoft.ApacheHTTPServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSMan.Process.Performance.Average.Threshold.MonitorType" ParentMonitorID="Health!System.Health.PerformanceState" Enabled="onStandardMonitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.ApacheHTTPServer.ManagedServer.Unix.TotalUsedMemoryKB.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="OverWarningThreshold" ID="OverWarningThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverErrorThreshold" ID="OverErrorThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<ProcessName>$Target/Property[Type="Microsoft.ApacheHTTPServer.Installation"]/ProcessName$</ProcessName>
<ArgumentsFilterExpression/>
<Interval>300</Interval>
<ObjectName>Apache HTTP Server</ObjectName>
<CounterName>Used Memory Kbytes</CounterName>
<InstanceName>$Target/Property[Type="Microsoft.ApacheHTTPServer.Installation"]/ProcessName$</InstanceName>
<PropertyName>TotalUsedMemory</PropertyName>
<WarningThreshold>262144</WarningThreshold>
<ErrorThreshold>524288</ErrorThreshold>
<NumSamples>2</NumSamples>
</Configuration>
</UnitMonitor>