Windows Server AppFabric: tracking profile e monitoração de serviços – parte 1
Olá pessoal, tudo certo?
Um assunto de destaque sobre o Windows Server AppFabric é sua capacidade de monitoração e tracking de informações sobre o que acontece com nossos serviços. Vamos aproveitar esse post para falar mais sobre isso. Esta é a primeira parte de uma série de 3 posts.
Nota: encontre um IT Pro amigo seu e convide-o para ler esse post com você, caro arquiteto. Creio que ele vai gostar de ouvir sobre monitoração, tracking de eventos, Performance Monitor e Event Tracing for Windows (ETW) :)
Quando falamos sobre Monitoração de serviços e workflows na plataforma Windows, temos diversas ferramentas disponíveis:
- Performance Monitor
- Event Viewer
- Cmdlets do PowerShell
- Event Tracing for Windows
- Tracking Profile no Windows Server AppFabric
Qual dessas ferramentas você mais utiliza? Para responder, você pode perguntar: mas para que situação você quer ativar a monitoração?Correto! Temos mesmo duas situações de monitoração importantes, as mais comuns:
- a monitoração para saber como anda a saúde da aplicação (health monitoring, por exemplo)
- a monitoração para descobrir o que aconteceu com a aplicação, em caso de problemas (troubleshooting e debugging).
Podemos ainda logar eventos para cenários de negócio, mapeamento de baseline, auditoria de mensagens, etc.
Temos então duas demandas e profissionais com necessidades muito diferentes:
O desenvolvedor, que espera do ambiente algumas informações sobre o comportamento de serviços e workflows, em tempo de desenvolvimento. Seria interessante obter, por exemplo, o histórico de chamadas sobre um serviço WCF Service, ou ainda, o histórico de eventos e atividades executadas por um conjunto de workflows executados em ambiente de testes. Claro, podemos sempre utilizar o ambiente de testes do Visual Studio 2010 para essas ações, mas algumas situações, especialmente cenários de persitência, colaboração de workflows, correlação de mensagens, etc, exigem a depuração em ambiente servidor. Um ambiente de testes e homologação torna-se uma ferramenta quase obrigatória para esses cenários.
O profissional de TI, administrador de rede ou IT Pro, que espera informações detalhadas sobre o comportamento da aplicação em produção. Uma demanda constante é obter o mínimo de valores sobre o comportamento geral e a saúde da aplicação em execução. Em caso de problemas, a ferramenta de monitoração precisa permitir uma inspeção rápida sobre a configuração ativa, assim como informações sobre onde o problema está ocorrendo e qual sua gravidade.
Duas personas diferentes, envolvidas com o mesmo cenário: hospedagem e execução de serviços e workflows na plataforma Windows.
Nesse contexto, o Windows Server AppFabric está integrado com o Event Tracing for Windows para a monitoração de serviços WCF e workflows WF. De fato, o Windows Server AppFabric instala em sua máquina o serviço Event Collector Service, que consolida em base de dados os eventos capturados pelo ETW. Isso garante uma base de dados de monitoração histórica, sobre a qual podemos realizar nossas análises e observações.
A figura a seguir ilustra os componentes integrados do ETW com o Windows Server AppFabric.
Podemos ainda configurar diferentes níveis de monitoração, que são opções disponíveis na configuração do AppFabric. Assim, podemos usar os chamados tracking profiles pré-configurados para nossa aplicação, como vemos a seguir:
- Troubleshooting
- End-to-End Monitoring
- Health Monitoring (default)
- Erros Only
- Off
Para essa configuração, abra o IIS Manager e selecione a pasta de seu Web Site. Por exemplo, para Default Web site, escolha o menu Manage WCF and WF Services | Configure. Veja a figura a seguir:
A janela de configuração do AppFabric para o WebSite será aberta e nela, podemos escolhe o nível de detalhamento da monitoração desejada, veja:
Na figura acima, vemos a opção de Health Moniroting selecionada para o nível de monitoração do Default Web Site. Podemos fazer a mesma configuração personalizada para nossa aplicação.
De fato, estamos aplicando aqui um tracking profile para captura de eventos. Quando falamos sobre tracking profile, o Windows Server AppFabric permite configurar um profile a partir de uma vasta lista de opções.
Para descorbir qual é o tracking profile ativo, abra a janela do IIS Manager, clique sobre a pasta de sua aplicação e selecione a opção Services do AppFabric. Você verá as informações de serviços configurados para a aplicação, assim como o TrackingProfileName usado.
Esse post deu uma rápida visão sobre monitoração integrada no ambiente Windows Server AppFabric. No próximo post veremos mais detalhes sobre configuração de tracking profiles personalizados para serviços e workflows.Fique ligado!
Por enquanto é só! Até o próximo post :)
Waldemir.