Modulo 5 http://blogs.msdn.com/wcamb/ Aspectos gerais sobre − Debugging & Troubleshooting sobre desenvolvimento − Designing & Configuring para disponibilidade − Usar o Visual Studio Debugging com o AppFabric para Monitoring, Persistence & Configuration − Monitorar serviços em execução na produção − Configurar serviços para troubleshooting otimizado em ambiente de produção − Gerenciar a resiliência de serviços em produção − Usar as funcionalidades do AppFabric Monitoring, Persistence & Configuration − Passo-a-Passo gráfico − Definição de Breakpoints − Examinar variáveis locais, por meio das janelas Watch & Immediate − Monitoração sobre o histórico de chamadas para serviços WCF − Monitoração sobre o histórico de eventos executadas em workflows WF − Monitoração sobre o histórico de workflows WF persistidos pela aplicação 6 − Administrative Tools / Performance Monitor 7 − AppFabric Caching:Secondary Host − AppFabric Caching:Cache − AppFabric Caching:Host 8 − Administrative Tools / Event Viewer 9 − Application Server-Applications − Application Server-System Services Admin 10 11 − WCF trace events e WF tracking events. − Health monitoring − Troubleshooting − Maior visibilidade sobre as operações de serviços. Workflow Service Monitoring Tools WCF Trace Tracking Participant ETW Tracking Profile Event Collector Service Monitoring Database Windows Server AppFabric > Event Collector Service > > − ETW − − − − Próposito geral Alta velocidade Tracing com buffers Disponibilizado pelo sistema operacional − Observação através do Event Viewer − Enable Diagnostic & Debug logs − Possui algumas limitações para maior throughput − 64 KB Payload Size − Pode perder alguns registro sobre carga intensa de eventos Cliente AppFabric Server AppFabric Server 15 16 17 − Recebe eventos ETW & escreve em tabelas de apoio na base SQL (por default) − SQL agent job processa esses evento, resultados visíveis no IIS − Interface Dashboard − Tracked Events (Tracked Events Query Editor) − Volume e fontes (Source) de eventos − Track variable & argument values − Ainda escreve em arquivos svclog − Workflow Instance − Activity State (track variable) − Custom Tracking, Activity Scheduled, Cancel Requested, Fault Propagation, Bookmark Resumption machine.config − Web.config no projeto de WCF Services ou WCF Workflow Services − Troubleshooting, End to End, Health Monitoring, Errors Only, Off 20 21 Controla o tracking profile usado para eventos WF e registro de eventos WCF Health Monitoring é o único nível onde eventos WCF agregados são logados 22 23 24 Opções de configuração para tracing de serviços WCF e workflows WF Configura o arquivo para loggin de eventos WCF 25 Aspectos de monitoração para WorkflowServiceHost Workflow Service Extensions AppFabric oferece o SqlWorkflowInstanceStore que usa o SQL Server Scheduler Persistence Provider Tracking Participant Custom Extension Podemos construir um PersistenceProvider próprio para outras bases de dados Host: IIS | AppFabric EtwTrackingParticipant Runtime Config TrackingProfile Workflow Event Collector Service Extensions Persistence Provider Events logados: • Workflow status • Activity status • Custom user data • Exceptions ETW Tracking Participant Controle o tamanho da base para persisência, através da compressão de instâncias e descarte de instâncias completadas Habilita o Host AppFabric para controlar instâncias (Abandon, Cancel, Run, Resume, Suspend, Terminate) Controla quanto agressivamente o AppFabric tenta persistir e descarregar instâncias da memória Capturando eventos do workflow 32 − Armazenado dentro da base de monitoração − Para instâncias persistidas por default − Atualizando valores de propriedades resulta em novos registros na base − Escrita quando o evento é gerado − Suporte via interface AppFabric UI − Simples para configuração (a partir das atividades de workflow e serviços). − Armazenadas dentro da base de monitoração − Configurado com tracking profiles − Os valores somente estão disponíveis quando o evento relacionado é capturado − Suporte para consultas via interface AppFabric − Armazenados dentro da base de persistência − Removido quando a instância persistida é completada (pode default) − Atualização de valores não resulta em novos registros − Escrita quando a instância é persistida − Sem suporte via UI AppFabric − Configuração complexa (comportamento controlado por serviço) 35 − Clear -ASMonitoringSqlDatabase − Set-ASMonitoringSqlDatabaseArchiveConfiguration − Inicializar o Worker Process antes da primeira mensagem ser recebida pelo serviço ou workflow. Initializes the worker process before the first message is received Define o pattern para o intervalo de tempo (exponencial ou linear) entre tentativas antes da falha para lock de instâncias Por quanto tempo o host mantem o lock Controla o intervalo entre sucessivas tentativas Monitoração e Administração via − Administrative Tools / Windows PowerShell 41 42 43 Limpando as bases do AppFabric import-module applicationserver $ConfirmPreference = "None" Remove-ASPersistenceSqlDatabase -Force -Database "AppFabricPersistenceDB“ -Server ".\SQLEXPRES" Initialize-ASPersistenceSqlDatabase -Admins $env:computername\AS_Administrators -Readers $env:computername\AS_Observers -Users "BUILTIN\IIS_IUSRS" -Database "AppFabricPersistenceDB" -Server ".\SQLEXPRES " Clear-ASMonitoringSqlDatabase -Database "AppFabricMonitoringDB" -Server ".\SQLEXPRES “ Exemplos de comandos para monitoração da saúde do AppFabric Caching Services Health Monitoring Tools (Windows Server AppFabric Caching) http://msdn.microsoft.com/en-us/library/ff921010.aspx 45 WebFarm é um cenário suportado, mas não possui tooling ou interface gráfica Configuração por script para Aplicar configuração em todas as máquinas do farm Aplicar configuração para todo novo nó Obter o conteúdo através do WebDeploy Package para todo o servidor Aplicações IIS individuais Script deployment 46 Monitoração integrada através do − http://www.microsoft.com/downloads/en/details.aspx?Fa milyID=7E870C9A-0B5B-4CCA-8D8C42A66B8C9741&%3Bdisplaylang=en 48 Hands-On Lab