ALM e Operações - Workshop - Como Diagnosticar um Incidente

726 visualizações

Publicada em

Workshop demonstrando como realizar diagnósticos de problemas em ambientes e aplicativos usando algumas técnicas e ferramentas de apoio.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
726
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

ALM e Operações - Workshop - Como Diagnosticar um Incidente

  1. 1. Como diagnosticar um incidente? Terças de ALM e Operações Workshops Alan do Nascimento Carlos, Blog Technet Wiki MCT, MCSE, MCSD ALM, MCSA, MCITP, MCS, MCP, MCPS, MCTS, MCDST, ICC-TS, PSM, ITIL, COBIT
  2. 2. Terças de ALM e Operações Workshops Para diagnosticar qualquer incidente é primordial possuir uma visão simplista, analítica e senso lógico.
  3. 3. Terças de ALM e Operações Workshops O analista precisa ter uma compreensão de funcionamento de aplicações como: -Web Applications/Web Sites -Web Services -Database Applications -Windows Forms -Windows Services -Windows Process
  4. 4. Sempre inicie pelo mais simples para resolver o incidente focando na solução, pois o reestabelecimento do serviço é primordial ao cliente ou à seu desenvolvimento e teste de aplicativo. Terças de ALM e Operações Workshops
  5. 5. Terças de ALM e Operações Workshops Após o reestabelecimento, deve-se focar na análise e descobrir a causa raiz para mitigar novos incidentes.
  6. 6. Terças de ALM e Operações Workshops Muito cuidado! Incidentes são similares, porém a causa raiz diferente. Obs.: Por isso o ITIL tem como compreensão distinta INCIDENTE e PROBLEMA.
  7. 7. Terças de ALM e Operações Workshops Principais Causas
  8. 8. Terças de ALM e Operações Workshops -Configuração incorreta -Falta de componentesou requisitos -Falhas de ambientes -Bugs
  9. 9. Configuração incorreta Terças de ALM e Operações Workshops
  10. 10. ALM e Operações -Workshops É comum haver erros de configuração em instalações, alterações não programadas, entre outros tipos de mudanças nas configurações. Para diagnosticar situações assim, valide o incidente e procure as configurações inerentes a esse incidente, por exemplo, falhas de acesso, não processamento de documentos ou dados, entre outros incidentes.
  11. 11. Revise todas as configurações Verifique se a versão está atualizada Verifique se todos os componentes estão instalados corretamente ALM e Operações -Workshops
  12. 12. Falta de Componentes ou Requisitos Terças de ALM e Operações Workshops
  13. 13. ALM e Operações -Workshops É comum um componente se corromper ou não estar registrado no sistema do Windows, ou até um componente mais antigo estar atrapalhando o funcionamento de um componente mais atual. Alguns exemplos: -Aplicações Web que usam .NET Framework 4.0 estarem rodando acidentalmente com o .NET Framework 2.0; -Processos ou serviços que dependem de Runtime de bibliotecas C++ 2008 rodando com bibliotecas C++ 2005, ou até outras; -DLL perderem o registro no sistema operacional; -API do Windows estar em uma versão anterior atrapalhando o funcionamento do sistema que foi projetado para usar uma API mais atual, mesmo que o sistema operacional seja a mesma versão; Lembrem-se que as aplicações dependem de componentes externos para seu funcionamento como: -Runtime Visual Studio C++, .NET ou JAVA; -Clientes de conexão como SQL Client, Oracle Client; -API do sistema operacional estar desatualizada ou com problemas;
  14. 14. ALM e Operações -Workshops Dependency Walkere Tasklist Com o Dependency Walter e Tasklist é possível identificar falta de componentes por visualização, alertas ou comparações entre aplicações em funcionamento e as com falhas. Visualizador de Eventos Irá ajudar a identificar se quando o processo inicia, gera um evento informando a falha ou falta de um componente específico como por exemplo DLL da aplicação, .NET Framework, componentes Runtime C++, componentes desatualizados. Logs das aplicações envolvidas Valide através dos logs das aplicações se há informações específicas de falhas por falta de componentes. Ferramentas de auxílio
  15. 15. Verifique se os componentes estão corretos Compare as versões de componentes com uma instalação em funcionamento ALM e Operações -Workshops Verifique se os logs da aplicação ou visualizador de eventos demonstra falhas por falta de componente
  16. 16. ALM e Operações -Workshops Exemplos de componentes que uma aplicação utiliza. DLL, API, .NET, etc.
  17. 17. ALM e Operações -Workshops Para corrigir problemas de dependências siga os passos: -Reinstale o componente necessário, como as bibliotecas de Runtime do C, .NET, ou Java; -Registre as DLL, se necessário com o comando REGSVR32 (nomedadll.dll); -Valide se o componente DCOM está em funcionamento e se há permissões devidamente configuradas em Ferramentas Administrativas Serviços de Componentes; -Compare com o Tasklist se o processo está carregando todas as DLL necessárias. Corrigindo Incidentes
  18. 18. ALM e Operações -Workshops http://support.microsoft.com/kb/970744/pt-br O Microsoft Windows Installer é um componente do sistema operacional Windows. O Windows Installer fornece uma “fundação” padrão para a instalação e a desinstalação de softwares. Os fabricantes de software podem criar a instalação de seus produtos para usar o Windows Installer tornando a instalação, a manutenção e a desinstalação de software mais direta e fácil. Em casos excepcionais, o Windows Installer poderá apresentar falhas em seu funcionamento, onde poderá ser necessário realizar uma manutenção nele. Windows Installer
  19. 19. Falhas de Ambientes Terças de ALM e Operações Workshops
  20. 20. Verifique se há falhas de comunicação Terças de ALM e Operações Workshops
  21. 21. ALM e Operações -Workshops É comum um ocorrer falhas de comunicação devido a mudanças no ambiente do cliente e até problemas dos componentes clientes que realizam a comunicação, como por exemplo: -Saturação de conexões TCP/UDP do cliente ou servidor; -Falhas de componentes como o cliente do SQL Server, bibliotecas C++ usadas para a comunicação; -Impedimento por regras de firewalls; -Proxy ou roteadores filtrando ou encaminhando pacotes entre origem destino; -Problemas de resolução de nomes (DNS ou NETBIOS);
  22. 22. Toda conexão inicia-se pelo cliente servidor Toda conexão deve encerrar do cliente servidor Toda conexão TCP usa “three-way handshake” tanto para estabelecer a conexão como para encerrar a conexão ALM e Operações -Workshops
  23. 23. ALM e Operações -Workshops O nível de protocolo de controle de transmissão (TCP) do protocolo de transporte TCP/IP é orientado por conexão. Orientado à conexão significa que, antes que os dados podem ser transmitidos, uma conexão confiável deve obtida e confirmada. As transmissões de dados em nível de TCP, estabelecimento da conexão e conexão mantém os parâmetros de controle específicas que regem o processo inteiro. Os bits de controle são listados da seguinte maneira: URG: Campo de ponteiro urgente ACK: Campo de confirmação significativo PSH: Função de Push RST: Redefinir a conexão SYN: Sincronizar números de seqüência FIN: Nenhum dado a mais do emissor Há dois cenários em que um handshake de três vias ocorrerá: • Estabelecer uma conexão (um ativo aberto) • Encerrar uma conexão (um fechamento ativo) Three-Way Handshake http://support.microsoft.com/kb/172983/pt-br
  24. 24. Toda conexão UDP é sem confirmação; Protocolos de conexão tem regras (IETF) como quantidade de conexões simultâneas, tipos de mensagens a serem trafegadas, cuidado!; Por padrão, todo o servidor (destino) deve ter um timeout de encerramento ou reciclagem de conexão/processo. ALM e Operações -Workshops
  25. 25. ALM e Operações -Workshops Ex. configurações de reciclagem ou timeout IIS -Reciclagem regular de um pool de aplicativo IIS -Finalização de um processo W3WP por ociosidade
  26. 26. Ex. configurações de reciclagem ou timeout MS-SQL –Encerramento de execução de uma query depois de um tempo esperado ALM e Operações -Workshops
  27. 27. Ferramentas de auxílio ALM e Operações -Workshops TCP Viewe PortQuery Validar os estados das conexões, se há intermediários interceptando as conexões; Se há falhas de conexões, empilhamento de conexões, conexões não encerradas corretamente. Porty Query ajuda a realizar testes de conexões e validar se há portas abertas e em funcionamento no servidor destino. Visualizador de Eventos Irá ajudar a identificar a cada nova tentativa de conexão, se há um evento correlacionado como por exemplo, um evento informando um erro de login ou senha, erro de permissão de acesso, ou até um erro genérico, mas que demonstre que há uma falha ocorrendo justamente no momento da tentativa de conexão. Logs das aplicações envolvidas Valide através dos logs das aplicações o que está acontecendo no momento da tentativa da conexão. Por exemplo os logs do Internet Information Services (Web Application e Web Services), SQL Server (Banco de Dados) e da própria aplicação envolvida.
  28. 28. Entendendo uma conexão: Exemplo ALM e Operações -Workshops Através do IE foi aberta uma aplicação Web no endereço (localhost) Veja que o Internet Explorer (iexplorer.exe) abriu uma conexão no endereço (IPV6) 0:0:0:0:0:0:0:1 (endereço do localhost na porta remota 80 que é a porta usada pelo Internet Information Services (Servidor Web) e seu estado é ESTABLISHED Observe que o processo SYSTEM Está com a porta local 80 em uso tanto no IPV4 0.0.0.0 Como no IPV6, ou seja, está OK, por isso a conexão ocorreu corretamente
  29. 29. ALM e Operações -Workshops Por ser tratar de uma aplicação Web, observe que na parte do servidor Web o processo W3WP.EXE está em funcionamento, inclusive conectado em um endereço remoto na porta 5724 enviando e recebendo pacotes. Procurando no servidor o processo que hospeda a porta 5724, vemos que se trata do processo “Microsoft.Mom.Sdk.ServiceHost.exe” que está com estado de LISTENING INTERNET EXPLORER SERVIDOR WEB OUTRA APLICAÇÃO BANCO DE DADOS
  30. 30. Ex. logs de aplicações IIS –Logs de acessos e conexões ALM e Operações -Workshops
  31. 31. Ex. logs de aplicações IIS –Logs de acessos e conexões ALM e Operações -Workshops
  32. 32. Ex. logs de aplicações IIS –Logs ETW –Microsoft Message Analyzer ALM e Operações -Workshops http://blogs.technet.com/b/messageanalyzer/ http://www.orcsweb.com/blog/terri/new-logging- capabilities-with-iis-8-5/
  33. 33. Ex. logs de aplicações IIS –Logs de acessos e conexões ALM e Operações -Workshops Tabela explicando cada campo: http://technet.microsoft.com/pt-br/library/cc786596(v=ws.10).aspx
  34. 34. Ex. logs de aplicações MS-SQL –Logs de acessos e conexões ALM e Operações -Workshops
  35. 35. ALM e Operações -Workshops Para corrigir problemas de comunicação siga os passos: -Verifique se as portas estão configuradas corretamente; -Verifique se não há acumulo/empilhamento de conexões TCP/UDP com falhas, usando o TCPVIEW; -Verifique se o serviço/processo que hospeda a porta está funcionando corretamente; -Valide se os componentes clientes de acesso como SQL Client estão instalados e funcionando corretamente; -Verifique com o TPCVIEW ou TRACERT se não há proxys/roteadores/firewalls que podem estar filtrando pacotes e impedindo a conexão correta com o destino; -Verifique se o IP/Classe do cliente e destino estão na mesma rede ou se há roteadores que garantam a entrega correta dos pacotes; -Valide se no servidor destino não há configurações limitadoras como timeout com tempo limite muito baixo, controle de conexões simultâneas, controle do tamanho de envio de pacotes. Corrigindo Incidentes
  36. 36. ALM e Operações -Workshops http://msdn.microsoft.com/pt-br/library/e1f13641%28v=vs.85%29.aspx
  37. 37. Verifique se há problemas de permissão Terças de ALM e Operações Workshops
  38. 38. ALM e Operações -Workshops Todo processo é executado em uma instância de conta, sejam as contas de computadores, como as contas de usuários e as contas configuradas pelos próprios aplicativos. Essas contas precisam ter acessos a determinados locais, e esses acessos são definidos por NTFS e ACL. É comum que haja mudanças nos ambientes de clientes para atender demandas de segurança, e algumas vezes essas mudanças afetam os acessos, gerando então, uma negação a determinado componentes ou diretório para a conta usada pelo processo da aplicação.
  39. 39. ALM e Operações -Workshops Exemplo de mudanças em Group Policy que altera o comportamento do sistema operacional. Para identificar alterações nesse nível, execute o comando gpresult/h gpreport.html e depois abra o arquivo gpreport.html.
  40. 40. Permissões NTFS e ACL User Access Control e Group Policy ALM e Operações -Workshops
  41. 41. ALM e Operações -Workshops Performance Monitor Auxilia na coleta de contadores de desempenho do sistema operacional para análise de desempenho e recursos da aplicação. Task Manager Monitora em tempo real os processos que estão em execução, demonstrando de forma resumida ou detalhada (Windows 2008/2012) o funcionamento dos processos e recursos utilizados. Process Explorer Ferramenta do Microsoft Sysinternals que trás informações detalhadas dos processos em execução, conexões, DLL usadas, diretórios acessados, picos de consumo de recursos. Ferramentas de auxílio
  42. 42. ALM e Operações -Workshops Para corrigir problemas de permissão siga os passos: -Verifique nos eventos se há informações referentes a problemas de logon ou acesso; -Verifique no log da aplicação se há informações referentes a problemas de acesso; -Acompanhe os processos e respectivas contas com o Process Monitor para identificar possíveis erros de acesso; -Verifique as permissões efetivas nos diretórios e chaves de registro que a aplicação necessita de acesso; -Execute testes como alteração das contas de acesso nos serviços, contas de execução, nos pools de aplicativos, conta de acesso no banco de dados; Corrigindo Incidentes
  43. 43. ALM e Operações -Workshops
  44. 44. Verifique se há falta de recursos Terças de ALM e Operações Workshops
  45. 45. ALM e Operações -Workshops É comum ocorrem incidentes devido a falta de recursos no ambiente, ocasionando falhas na aplicação. Essa falta de recursos pode estar associada à: -Subutilização de recursos pela aplicação; -Dimensionamento incorreto de recursos pelo time de operações;
  46. 46. ALM e Operações -Workshops Podemos dividir os recursos em três categorias: -Processador -Memória -Disco Exemplo Contadores
  47. 47. Processor: % Processor Time Média deve ser inferior à 75% (ideal 50%) ALM e Operações -Workshops System: Processor Queue Length Máximo duas filas por processador lógico Exemplo Contadores
  48. 48. Memory: % Committed Bytes in Use Deve ser inferior à 80% ALM e Operações -Workshops Memory: AvaliableMbytes Deve ser maiorque5% disponível Exemplo Contadores
  49. 49. ALM e Operações -Workshops Performance Monitor Auxilia na coleta de contadores, sendo possível agendar quais os contadores, acompanhar por dias e gerar relatórios a partir dos mesmos. Task Manager Auxilia demonstrando uma visão geral dos recursos utilizados, PID (identificadores), e informações adicionais. Process Explorer Auxilia no gerenciamento de determinados processos, picos de consumo, uso de disco, memória, transferência de dados dando um visão mais ampla do processo em tempo real. Ferramentas de auxílio
  50. 50. ALM e Operações -Workshops Tudo sobre contadores: http://technet.microsoft.com/pt-br/magazine/2008.08.pulse.aspx
  51. 51. Terças de ALM e Operações Workshops Obrigado! blogs.technet.com/b/wikininjasbr/ blogs.technet.com/b/wikininjas/ fb.com/alancarlosmct fb.com/qualidadeeti qualidadeeti.wordpress.com @alancarlosmct

×