Quando um programa fecha ou um serviço deixa de funcionar, o arquivo do sistema da loja pode mostrar só a consequência. O Visualizador de Eventos mostra o que o Windows e os componentes registraram sobre o programa, o serviço e o computador naquele período.
O Windows não consegue registrar todos os detalhes de uma interrupção. Uma perda repentina de energia, por exemplo, pode impedir qualquer gravação naquele momento, e a inicialização seguinte registra que o encerramento anterior foi incorreto. Essa diferença importa na reconstrução da sequência.
Os canais
O Visualizador abre pelo comando eventvwr.msc, e os Logs do Windows têm três canais principais:
- Aplicativo: os registros dos programas e dos serviços que usam esse canal, inclusive possíveis eventos do MySQL, que também tem o próprio log de erros;
- Sistema: os eventos dos componentes do Windows, dos dispositivos e do controle dos serviços, como a inicialização e a parada;
- Segurança: os eventos de auditoria, como as autenticações e o acesso a recursos, conforme as políticas ligadas e as permissões de leitura.
Cada evento tem o nível, a data e a hora, a fonte e o ID do Evento. O ID é lido junto com a fonte, o canal e a descrição, porque o mesmo número pode ter outro significado quando vem de outro componente. A opção Filtrar log atual delimita o nível, a fonte, o ID e o período.
Os eventos que ajudam no suporte
- Kernel-Power, ID 41, no Sistema: na inicialização, o Windows detectou que o encerramento anterior não terminou corretamente, depois de uma falta de energia, de um travamento, de um erro de parada ou de um desligamento forçado, e o ID, sozinho, não separa essas causas;
- EventLog, ID 6008, no Sistema: informa que o desligamento anterior foi inesperado, com a data e o horário desse desligamento na mensagem;
- Service Control Manager, IDs 7000 e 7009, no Sistema: indicam a falha na inicialização de um serviço ou o prazo esgotado à espera dele, com o serviço e a condição na mensagem;
- Service Control Manager, ID 7034, no Sistema: registra o término inesperado de um serviço, e o log do próprio serviço pode explicar a razão;
- Application Error, ID 1000, no Aplicativo: registra a falha de um programa, com o executável, o módulo e o código da exceção, e o módulo citado não é, automaticamente, a causa original;
- Disk, ID 7, no Sistema: relata um bloco defeituoso no dispositivo indicado, o que leva à verificação do armazenamento, sem indicar quais arquivos foram afetados.
O ID 41 é gravado na inicialização seguinte, e o horário dele não marca o instante em que a interrupção começou. Os detalhes do evento, os registros anteriores e o período sem funcionamento completam a leitura, e o fuso da máquina que exibe os eventos entra na comparação com outros logs.
A consulta pelo PowerShell
Duas consultas de leitura mostram os filtros disponíveis:
Get-WinEvent -LogName System -MaxEvents 50: obtém os 50 eventos mais recentes do canal Sistema;Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,6008}: procura os IDs indicados no canal Sistema.
A fonte de cada resultado é conferida, e o período é delimitado, porque a leitura só dos eventos mais recentes pode deixar uma falha antiga fora da consulta. No FilterHashtable, as chaves ProviderName, StartTime e EndTime limitam a origem e a janela, além do ID.
A preservação dos eventos
Os eventos relevantes vão para um arquivo .evtx, com a máquina, o canal, o período e os filtros usados anotados:
wevtutil epl System .\sistema_servidor_loja.evtx: exporta o canal Sistema para um arquivo, sem apagar nada do canal.
Uma imagem da lista pode omitir a descrição ou os detalhes necessários. Os eventos próximos de outros níveis também ficam preservados, porque um filtro só pelo nível Crítico pode esconder a parada de um serviço ou o início de uma manutenção.
O arquivo exportado cobre o que entrou naquela coleta e não recebe os eventos posteriores. No acompanhamento de uma nova ocorrência, outra janela é definida, ou o canal ativo é observado. Um filtro sem resultados pede a conferência da cobertura, da fonte e do período antes de qualquer conclusão, e a retenção e a auditoria ligada influenciam o material disponível. O ID classifica o tipo de evento e não identifica cada ocorrência, e por isso o registro do atendimento guarda o detalhe do evento encontrado.
O cruzamento com os outros registros
Quando o caixa 01 perde a conexão e o servidor da loja registra um encerramento inesperado seguido da inicialização do MySQL, existe uma sequência relevante para investigar. O Windows confirma o reinício, e o log do MySQL mostra o que aconteceu com o serviço. Um registro de recuperação ou de tabela danificada é analisado por si, e a presença dele depois do reinício não prova uma queda de energia nem resolve toda a relação de causa.
No suporte
O período, a máquina, a fonte e a descrição interpretam cada evento. Diante de um ID 41, o registro do atendimento anota o encerramento incorreto detectado no reinício, e a investigação segue para a interrupção anterior, com o cruzamento com os logs do programa e do serviço antes de qualquer causa.
Para guardar
- Os canais Aplicativo, Sistema e Segurança têm origens e funções diferentes.
- O ID, a fonte, o canal e a mensagem são lidos juntos.
- Os IDs 41 e 6008 ajudam a identificar um encerramento inesperado, sem provar a falta de energia.
- O horário do ID 41 é o do registro na inicialização seguinte.
- Os registros dos serviços e dos programas completam a sequência observada no Windows.
O servidor da loja tem um Kernel-Power ID 41 às 03:10. Isso confirma uma falta de energia às 03:10?
Não. O evento informa que, na inicialização seguinte, o Windows detectou um encerramento anterior incorreto. A causa pode ser a falta de energia, um travamento ou outra interrupção, e a falha pode ter começado antes das 03:10, o que pede a leitura dos detalhes e dos registros do período anterior.
Há um Service Control Manager ID 7034 para o serviço do MySQL. Qual é o próximo registro útil?
O log de erros do próprio MySQL no mesmo período, junto com os outros eventos do servidor. O ID 7034 mostra que o serviço terminou de forma inesperada, e o registro do serviço pode trazer a condição que antecedeu a parada.