Worker process for application pool encountered an error while trying to read global module configuration

Microsoft.Windows.InternetInformationServices.2008.Worker.process.for.application.pool.encountered.an.error.while.trying.to.read.global.module.configuration (Rule)

Knowledge Base article:

Summary

Web sites and Web applications depend on the availability of Internet Information Services (IIS) application pools. IIS application pools in turn depend on the Windows Process Activation Service (WAS). If WAS is not running or errors occur during the startup or shutdown of an application pool, Web sites and Web applications may not be available.

Resolutions

To resolve this issue, you need to fix the problems in the globalModules section of ApplicationHost.Config file.

To configure the globalModules section in ApplicationHost.config:

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.2008.ApplicationPool
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Worker process for application pool encountered an error while trying to read global module configuration
{0}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.2008.Worker.process.for.application.pool.encountered.an.error.while.trying.to.read.global.module.configuration" 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>Application</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>2297</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</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.for.application.pool.encountered.an.error.while.trying.to.read.global.module.configuration.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>