Application Pool availability

Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.ApplicationPoolStatusCheck.Monitor (UnitMonitor)

Knowledge Base article:

Summary

This monitor checks the status of the IIS Application Pool. If you receive an alert from this monitor, action is required in order to bring the Application Pool back to an operational state.

Operational States:

An IIS Application Pool site can be either in a "Started" or "Stopped" operational state.

Configuration

The only configurable parameter of this monitor is the time interval used to check the status of the Application Pool.

Causes

An IIS Application Pool can stop for many reasons, including:

Resolutions

If an IIS Application Pool is stopped you can diagnose the issue or restart the Application Pool by taking the following actions:

Start Application Pool

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.6.2.ApplicationPool
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.IIS.IISApplicationPoolStateMonitor.8
RemotableFalse
AccessibilityPublic
Alert Message
IIS 8 Application Pool is unavailable
The IIS 8 Application Pool named {0} on {1} is unavailable as the Application Pool has been stopped.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.ApplicationPoolStatusCheck.Monitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.Server.IIS.IISApplicationPoolStateMonitor.8" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.ApplicationPoolStatusCheck.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="IISCommon!Microsoft.Windows.InternetInformationServices.ApplicationPool"]/PoolID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Started" MonitorTypeStateID="Started" HealthState="Success"/>
<OperationalState ID="Stopped" MonitorTypeStateID="Stopped" HealthState="Error"/>
</OperationalStates>
<Configuration>
<PeriodInSeconds>60</PeriodInSeconds>
<PoolID>$Target/Property[Type="IISCommon!Microsoft.Windows.InternetInformationServices.ApplicationPool"]/PoolID$</PoolID>
</Configuration>
</UnitMonitor>