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.

image

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:

image

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:

image

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.

image

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.