Qual o ponto de partida para descobrir problemas?
Muitas vezes nos deparamos com problemas que nos deixam em dúvida de qual caminho tomar para identificá-lo. Descobrir a origem de um problema nem sempre é fácil. A Tecnologia oferece várias ferramentas para auxiliar nessa investigação.
Entretanto, antes de começar qualquer investigação devemos ter três premissas para entender o problema:
- Identificar os sintomas do problema: mensagens de erro na tela são fáceis de diagnosticar, porém muitas vezes o sistema apresenta um comportamento anormal, neste caso, devemos buscar o máximo possível de informações que nos possibilitem chegar no ponto onde o problema acontece. Quais passos foram tomados? Quais dados foram imputados? Qual processo está sendo realizado? São exemplos de algumas perguntas que podem ser respondidas neste ponto.
- Analisar o contexto: entender em qual momento o problema começou a ocorrer. Foi uma ação do usuário? Foi uma atualização do sistema? Atualização ou configuração do sistema operacional? Esses são os questionamentos que ajudam a entender o contexto.
- Procurar informações: hoje temos muita documentação disponível na Wiki, no Access Violation, na Base de Conhecimento do SISCON e até mesmo histórico de SMS, essa documentação já dá um norte importante na descoberta do problema.
Quais ferramentas a Benner oferece?
A Benner oferece uma gama de ferramentas que podem auxiliar na investigação de um problema:
- Worker Sniffer: é a ferramenta de monitoramento do BTL, nele é possível visualizar informações publicadas pelo WMI (Windows Management Instrumentation) que contém informações sobre saúde, status e tarefas publicados pelos Workers.
- Provider Sniffer: é o utilitário que permite visualizar de forma mais clara os Providers em execução num servidor, ele mostra uma lista de Providers em execução com detalhes de cada um (identificador, tempo de CPU, versão da ferramenta, linha de comando, sistema, regra de negócio, etc.), incluindo o log de depuração (contém todas as mensagens registradas através do método WriteBDebugMessage do BSistema).
- Prvlog: gera os arquivos de log fisicamente no disco, mesmo depois do encerramento dos Providers. Armazena no arquivo o log de depuração, a carga de DLLs, informações de inicialização, macros carregadas e comandos SQL executados.
- Instrumentação do WES: mecanismo de log que nos fornece informações detalhadas de eventos executados pelo WES, seja de ações executadas por usuários ou por processos automatizados.
- Glimpse: é uma ferramenta Open Source para aplicações WEB, com ela conseguimos entender o que ocorre no servidor durante o processamento de uma requisição. Informações sobre a renderização da página, sessões e traces detalhados podem ser visualizados em tempo real o que ajuda a identificação de problemas.
- Monitoramento (Z_SYSTEMMONITOR): tem como objetivo identificar irregularidades na aplicação, sejam possíveis erros em processos, problemas de performance ou erros de configuração. Monitora: o tempo que um processo consumiu do provider, processos que estão com locks na aplicação, processos com transações longas, tempo que um processo aguardou na fila antes de ser processado, etc.
Somado a tudo isso, ainda temos disponível o Event Viewer que é uma ferramenta nativa do sistema operacional Windows que permite visualizar e analisar eventos e logs de sistema, segurança e aplicativos.
Para saber mais
Temos um vídeo na trilha do treinamento da Tecnologia dando uma dica sobre o Event Viewer:
Além disso, o Matheus gravou um BE.TECH falando de toda a instrumentação da tecnologia, dando dicas e exemplos de como usar:
Além disso, temos muito material sobre o assunto na Wiki:
- Monitoramento de Sistemas Benner
- Instrumentação (Documentação de Uso)
- Instrumentação utilizando Glimpse
- Log do Provider
Todas essas dicas vão te transformar numa fera na Instrumentação do WES.
Te vejo na próxima, um abraço,
Danton C. Franco Junior
#TimeTec