Gravar no log de eventos do Windows quando um site do IIS é iniciado ou interrompido

5

Posso configurar o IIS 7.5 para gravar no log de eventos do Windows sempre que um dos sites no servidor da Web for iniciado ou interrompido? Por exemplo, quando alguém inicia / interrompe um site por meio da interface do usuário do Gerenciador do IIS.

Eu sei que posso configurar o Application_On {Start, End} para cada um dos sites para escrever uma mensagem personalizada no log de eventos do Windows, mas estou apenas imaginando se já existe algo embutido. Também sei como ativar o registro em log da reciclagem do Pool de aplicativos, mas isso não é o mesmo que iniciar / interromper um site, especialmente se mais de um site estiver compartilhando o mesmo pool de aplicativos.

Em particular, seria muito útil se listasse o nome do usuário que iniciou / parou o site.

Uma coisa que eu já tentei foi habilitar o log para os logs de eventos do IIS-Configuration > {Administrative, Operational}, mas infelizmente nada aparece quando iniciam / param.

    
por LWixson 27.04.2014 / 22:32

3 respostas

2

Algumas coisas. Quando eu habilito o log de eventos operacional do Microsoft-Windows-IIS-IIS, recebo eventos quando o site é iniciado ou interrompido. Eu recebo o evento "Verbose" 29 com este conteúdo:

Changes to '/system.applicationHost/sites/site[@name="Default Web Site" and @id="1"]/@state' at 'MACHINE/WEBROOT/APPHOST' have successfully been committed.

Isso está no Server 2008 R2. Agora, isso não indica se o site foi iniciado ou interrompido, mas apenas indica que ele alterou o status. Pode ser útil se você monitorar esse registro.

Há muito tempo eu escrevi isso: link . Era um VBScript que enumeraria os diretórios virtuais no IIS e informaria quando um deles estava parado. Isso funciona em 2003, mas infelizmente não em 2008. Pode ser um ponto de partida, vou revisitar isso em algum momento para que possamos atualizar o script.

Não é a resposta, mas pode aproximá-lo do que você está tentando alcançar. Você definitivamente precisará de algum script (que talvez seja acionado pelo evento acima) que irá enumerar os sites e seu status.

    
por 29.04.2014 / 16:13
3

Dê uma olhada na Visualização XML do log de evento ID 29. Lá você pode ver OldValue e NewValue mudar de um estado para outro

OldValue > Iniciando  NewValue > Parado

  \? \ C: \ Windows \ system32 \ inetsrv \ config \ applicationHost.config   MÁQUINA / WEBROOT / APPHOST       /system.applicationHost/sites/site[@name="Web site padrão "e @ id=" 1 "] / @ state   1   Iniciando   Parado   

    
por 06.03.2015 / 18:01
1

O que você deseja fazer não está integrado ao Windows / IIS.

A única coisa que posso pensar que chegaria perto é procurar quando os cabeçalhos de log são reescritos. Cabeçalhos de log são reescritos com o início e o fim, portanto, você pode ter uma boa idéia de quando, mas não tem idéia de quem.

Mais uma vez, lamento dizer que não.

    
por 27.04.2014 / 22:39