Os sites e aplicativos Web dependem da disponibilidade dos pools de aplicativos do IIS (Serviços de Informações da Internet). Os pools de aplicativos do IIS, por sua vez, dependem do WAS (Serviço de Ativação de Processos do Windows). Se o WAS não estiver em execução ou ocorrerem erros durante a inicialização ou o desligamento de um pool de aplicativos, os sites e aplicativos Web podem não estar disponíveis.
Verifique o executável de desligamento automático
Um arquivo executável especificado pelo usuário pode ser configurado para ser executado automaticamente quando um pool de aplicativos estiver sendo desligado pelo W3SVC (Serviço de Publicação na World Wide Web). O arquivo executável pode, por exemplo, redirecionar o tráfego do pool de aplicativos para outro servidor. O arquivo pode ser especificado no Gerenciador do IIS e é representado pelo atributo autoShutdownExe, da seção system.applicationHost/applicationPools/failure, no arquivo ApplicationHost.config.
Se ocorrer falha na execução do processo autoShutdownExe, possíveis resoluções incluem:
Verifique se o caminho e o nome do arquivo do programa autoShutdownExe estão especificados corretamente.
Verifique se a conta do sistema possui permissões para acessar e executar o arquivo.
Verifique se o programa pode executar independentemente do desligamento de um pool de aplicativos.
Verifique se o caminho e o nome do arquivo estão especificados corretamente
Clique em Iniciar, em Painel de Controle e em Ferramentas Administrativas.
Clique com o botão direito do mouse no Gerenciador do IIS (Serviços de Informações da Internet) e selecione Executar como administrador.
No painel Conexões, expanda o nome de servidor.
Clique em Pools de Aplicativos Uma lista de pools de aplicativos no servidor é exibida no painel do meio.
No painel do meio, clique uma vez no pool de aplicativos cujo executável de desligamento você deseja verificar.
No painel Ações, clique em Configurações Avançadas. A janela Configurações Avançadas é exibida.
Role para baixo até a seção Proteção de Falha Rápida.
Encontre a entrada do executável de desligamento e analise o caminho e o nome do arquivo à direita. Verifique se o nome e o caminho estão corretos.
Clique em OK.
Verifique a Lista de Controle de Acesso do executável de desligamento
Abra uma janela elevada de Prompt de Comando. Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como administrador.
Digite start explorer.
Usando o Windows Explorer, navegue até o arquivo executável de desligamento.
Clique com o botão direito do mouse no arquivo e selecione Propriedades. A caixa de diálogo Propriedades do arquivo executável é exibida.
Clique na guia Segurança.
Na janela Nomes de grupo ou de usuário:, verifique se SISTEMA é exibido. Se não for exibido, clique em Editar para adicionar a conta do sistema.
Na janela Permissões para SISTEMA, verifique se a conta do sistema possui, pelo menos, a permissão para ler e executar o executável de desligamento.
Verifique se o programa pode executar de forma independente
Faça um teste de execução no programa do executável separadamente do evento de desligamento do pool de aplicativos. Se o processo conseguir executar independentemente do desligamento de um pool de aplicativos, ele deve ser executado normalmente quando o pool de aplicativos for desabilitado automaticamente pelo WAS.
Target | Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool |
Category | Alert |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider | Default |
Filter | ConditionDetection | Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.WAS.did.not.run.the.automatic.shutdown.executable.for.application.pool" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.6.2.WarningAndErrorEventProvider">
<LogName>System</LogName>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="Microsoft.Windows.InternetInformationServices.6.2.ApplicationPool.EventFilter">
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(5054|5091)$</Pattern>
</RegExExpression>
</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.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.WAS.did.not.run.the.automatic.shutdown.executable.for.application.pool.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>