网站和 Web 应用程序都依赖于 Internet Information Services (IIS) 应用程序池的可用性。 IIS 应用程序池反过来又依赖于 Windows Process Activation Service (WAS)。 如果在启动或关闭应用程序池过程中 WAS 没有运行或者出现错误,则网站和 Web 应用程序可能无法使用。
可能的解决方法有:
使用调试诊断工具确定崩溃原因。
检查事件日志消息详细信息以查找可以提供有关错误原因的更多信息的错误号。 该错误号不同于事件 ID。
使用调试诊断工具
若要使用调试诊断工具,请参阅文章 如何使用调试诊断工具解决意外停止的 IIS 进程的问题(可能为英文页面)。
检查事件日志消息详细信息以查找错误号
若要检查事件日志消息详细信息以查找可以提供更多信息的错误号,请执行以下操作:
在事件查看器中,选择收到的事件。
单击“详细信息”选项卡,然后单击“友好视图”。
如果有特定错误号,则应该会出现“二进制数据:”字样。
在“以字为单位”下,记下冒号后面的数字。
了解有关特定错误号的详细信息
若要了解有关特定错误号的详细信息,请执行以下操作:
从 Microsoft Exchange Server 错误代码查找(可能为英文页面)页下载 Err.exe 实用工具。
打开权限提升的命令提示符窗口。 单击“开始”,指向“所有程序”,单击“附件”,右键单击“命令提示符”,然后单击“以管理员身份运行”。
在命令提示符处,导航到下载的 Err.exe 所在的目录。例如,如果您将 Err.exe 下载到 C:\Err,则键入 cd C:\Err。
键入错误号以获取有关该错误的详细信息。 例如,如果特定的错误号是 80070005,则键入 err 80070005。
在步骤 4 的示例中,错误将解析为 ERROR_ACCESS_DENIED,因此下一步应该是检查权限问题。
Target | Microsoft.Windows.InternetInformationServices.2008.ApplicationPool | ||
Category | Alert | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.Server.IIS.2008.WarningAndErrorEventProvider | Default |
Filter | ConditionDetection | Microsoft.Windows.InternetInformationServices.2008.ApplicationPool.EventFilter | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.2008.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.2008.Worker.process.serving.an.application.pool.reported.a.failure" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.InternetInformationServices.2008.ApplicationPool" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.2008.WarningAndErrorEventProvider">
<LogName>System</LogName>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="Microsoft.Windows.InternetInformationServices.2008.ApplicationPool.EventFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>5039</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-WAS</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.2008.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.2008.Worker.process.serving.an.application.pool.reported.a.failure.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>