应用程序池可用性

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

Knowledge Base article:

摘要

此监视器检查 IIS 应用程序池的状态。如果收到此监视器发出的警报,则需要执行操作将应用程序池恢复为操作状态。

操作状态:

IIS 应用程序池的操作状态可以是“已启动”或“已停止”。

配置

此监视器唯一可配置的参数是用于检查应用程序池状态的时间间隔。

原因

许多原因会导致 IIS 应用程序池停止,其中包括:

解决方法

如果 IIS 应用程序池状态为“已停止”,你可以通过执行下列操作来诊断问题或重新启动应用程序池:

启动应用程序池

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 应用程序池不可用
{1} 上名为 {0} 的 IIS 8 应用程序池已停止,因此不可用。
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>