The percent of the Apache processes that are currently servicing incoming HTTP requests is high. Apache HTTP performance may be adversely affected, and incoming HTTP requests may have to wait for current requests to complete to be serviced.
An unhealthy state indicates that the percentage of busy workers is currently high. This is likely caused by an excessive number of HTTP requests made on the Apache HTTP Server.
Apache workers handle incoming HTTP requests. Workers that are currently servicing HTTP requests are considered ‘busy’ while workers that are waiting are considered ‘idle’. The Apache process will continue to fork or kill processes until they meet requirements set for the following directives. Consider adjustments to the process configuration with the settings:
ServerLimit
StartServers
MaxClients
MinSpareThreads
MaxSpareThreads
ThreadsPerChild
Default Configuration
Parameter | Default Value |
Threshold | 80 |
Number of Samples | 3 |
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 | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSMan.Performance.Average.Filtered.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ApacheHTTPServer.ManagedServer.Unix.PctBusyWorkers.Monitor" Accessibility="Public" Target="Microsoft.ApacheHTTPServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSMan.Performance.Average.Filtered.Threshold.MonitorType" ParentMonitorID="Health!System.Health.PerformanceState" Enabled="onStandardMonitoring">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.ApacheHTTPServer.ManagedServer.Unix.PctBusyWorkers.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/Apache_HTTPDServerStatistics?__cimnamespace=root/apache</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Apache Server</ObjectName>
<CounterName>Percent Busy Workers</CounterName>
<InstanceName>$Target/Property[Type="Microsoft.ApacheHTTPServer.Installation"]/ConfFile$</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='Apache_HTTPDServerStatistics']/*[local-name(.)='ConfigurationFile']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='Apache_HTTPDServerStatistics']/*[local-name(.)='PctBusyWorkers']$</Value>
<Threshold>80</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>