Monitoração e Troubleshooting com Windows Server AppFabric
Olá pessoal, tudo certo?
Imagine o seguinte cenário: você tem um conjunto de 3 máquinas no Web Farm para as aplicações ASP.NET e mais um conjunto NLB para hospedar serviços WCF e Web Services ASMX. Algumas aplicações ainda estão usando processos pequenos em WF 3.5 e uma equipe já sinaliza com o uso de WF 4, após o Tech-Ed Brasil 2010… :)
O ambiente entrou em produção e de repente, algumas coisas não funcionam muito bem! Os usuários de negócio começam a ligar para a INFRA e o diálogo abaixo acontece :)
IT PRO: esse telefone não pára mais, todos os usuários estão ligando para reclamar e nada funciona! Vou ligar para o DEV da aplicação.
DEV: então, aqui na minha máquina tudo funciona! :)
IT PRO: como assim? aqui tá tudo parado e você precisa me ajudar! Parece que tem uns 30 Web Services encadeados e não tenho a mínima idéia do que está acontecendo…
DEV: na verdade são 8 serviços encadeados e já disse, aqui na minha máquina funciona. Você mexeu na configuração do Web.Config sem me falar?
IT PRO: @$@#!#@!@#%^#$^$#@!!@@@
DEV: tuuuuu tuuuuu tuuuuu tuuuuu
Você se sente assim sozinho, na frente de um monstro de fios e válvulas, apenas olhando luzinhas sem a mínima ideia sobre o que está acontecendo com seus serviços e processos?
Não fique desesperado! :) Agora você tem um novo amigo: o WINDOWS SERVER APPFABRIC ! :)
Já falamos aqui que para ações de hosting, monitoring, caching e persistence de serviços e workflows podemos usar o APPFABRIC em nossa infraestrutura.
O que faltou dizer é que podemos controlar o nível da monitoração desejada, ajudando e muito no processo de análise e troubleshooting em situações de pânico.
Para uma dada aplicação, acesse a configuração de monitoração:
Veja as opções abaixo na aba para Monitoração (Monitoring):
Os níveis disponíveis são:
Level: Troubleshooting
- Appropriate for application-level diagnostics.
- Includes events emitted at the End-to-End Monitoring level.
- Highly verbose and may impact the performance of your application or server.
Level: End-to-End Monitoring
- Appropriate for monitoring health and capturing the flow of events between services (message flow).
- Exposes relationship between WCF and WF events in the Tracked Events page.
- Includes events emitted at the Health Monitoring level.
Level: Health Monitoring
- Appropriate for monitoring health.
- Populates application metrics in the AppFabric Dashboard.
- Includes events emitted at the Errors Only level.
Level: Error Only
- Appropriate for error reporting and critical warning events.
- Application metrics will not be populated in the AppFabric Dashboard.
Level: OFF
- Instrumentation events are not emitted.
- Application metrics will not be populated in the AppFabric Dashboard.
Ainda nessa mesma janela de configuração, podemos controlar o nível de tracing para serviços WCF e workflows WF, na sessão “Diagnostic Tracing and Message Logging (file-based)”:
Com o botão “Configure:” temos:
Configurando o tracking entre OFF, CRITICAL, ERROR, WARNING, INFORMATION, VERBOSE, de acordo com o nível de troubleshooting desejado.
O que permite rastrear as várias atividades executadas, por exemplo, de um workflow WF:
Para saber mais, confira os links abaixo:
Windows Server AppFabric Wiki
Ref.: https://social.technet.microsoft.com/wiki/contents/articles/windows-server-appfabric.aspx
Troubleshooting the Monitoring Store Configuration
Ref.: https://social.technet.microsoft.com/wiki/contents/articles/troubleshooting-the-monitoring-store-configuration.aspx
Então? Seja para DEV ou ITPRO, AppFabric é Show! :) Agora ficou fácil troubleshooting de serviços e DEVs e ITPROs poderão até achar um tempo para um chopinho ou uma pescaria juntos :)
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
Anonymous
October 15, 2010
Olá Waldemir. Gostei disto. :-) Abraços.Anonymous
October 15, 2010
Super Hugo, como está você? :) Obrigado pela mensagem! Aquele Solution Center com um AppFabric não seria o mesmo! heheh! Também estou vendo alguns projetos com essa infraestrutura e o pessoal tem gostado bastante! Um abraço! Waldemir.