Exportar (0) Imprimir
Expandir Tudo

Inicializar ou alterar a configuração de diagnóstico do Windows Azure

Atualizado: dezembro de 2013

É possível coletar dados de diagnóstico importando o módulo Diagnóstico do Windows Azure no modelo de serviço e, em seguida, configurando as fontes de dados a partir das quais os dados de diagnóstico são coletados. O monitor de Diagnóstico é executado no Windows Azure e no Emulador de computação do Windows Azure para coletar os dados de diagnóstico para uma instância de função. Se o módulo Diagnóstico tiver sido importado no modelo de serviço para uma função, o monitor Diagnóstico será iniciado automaticamente quando uma instância de função iniciar. As fontes de dados devem ser adicionadas à configuração do monitor Diagnóstico para coletar dados de diagnóstico. Se você não configurar explicitamente o monitor Diagnóstico, a configuração padrão será usada quando a função for iniciada. Apenas algumas das fontes de dados disponíveis são adicionadas ao monitor Diagnóstico por padrão. Será necessário configurar a coleção de outras fontes de dados usando o arquivo diagnostics.wadcfg. Os dados de diagnóstico serão coletados e armazenados na instância de função, mas não serão persistidos para armazenamento a menos que você especifique uma conta de armazenamento no arquivo ServiceConfiguration.cscfg. Assim que seu aplicativo tiver sido implantado no Windows Azure, você também poderá alterar remotamente a configuração do monitor Diagnóstico de um aplicativo em execução fora do Windows Azure. Para obter etapas detalhadas sobre a habilitação de Diagnósticos em seu aplicativo, consulte Como habilitar diagnóstico em um serviço de nuvem.

Para coletar dados de diagnóstico, você deverá importar o módulo Diagnóstico no modelo de serviço para cada função a partir da qual você deseja coletar dados de diagnóstico. O módulo é importado adicionando um elemento de importação para o arquivo ServiceDefinition.csdef. O exemplo a seguir mostra o elemento de importação definido para uma função da Web:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1">
    <!--<Sites> ... </Sites> -->
    <!-- <Endpoints> ... </Endpoints> -->
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

Para obter mais informações sobre como estabelecer o arquivo de definição de serviço e o arquivo de configuração de serviço, consulte o Referência de esquema. Para obter mais informações sobre como definir o modelo de serviço para um serviço hospedado, consulte Configuração de um serviço de nuvem para o Windows Azure.

Os dados de diagnóstico não são persistidos para armazenamento por padrão. Para transferir os dados de diagnóstico para armazenamento, você deverá definir uma cadeia de conexão no arquivo ServiceConfiguration.cscfg. O exemplo a seguir mostra como definir uma cadeia de conexão para transferir dados para o Emulador de armazenamento do Windows Azure:

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="MyHostedService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
  <Role name="WebRole1">
    <Instances count="1" />
    <ConfigurationSettings>
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Se você quer usar uma conta de armazenamento no Windows Azure, deverá alterar a cadeia de conexão para incluir um nome de conta e uma chave de conta:


<ConfigurationSettings>
   <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"/>
</ConfigurationSettings>

Os valores AccountName e AccountKey estão localizados no Portal de Gerenciamento do Windows Azure no painel da conta de armazenamento, em Gerenciar Chaves de Acesso. O protocolo para a cadeia de conexão deve ser https.

Apenas algumas das fontes de dados disponíveis são adicionadas no monitor de diagnóstico por padrão, você deve adicionar outras para coletar tipos específicos de dados de diagnóstico. Para obter informações sobre os tipos de dados de diagnóstico que você pode configurar seu aplicativo para coletar, consulte Diagnostics Data Sources.

É possível coletar dados de diagnóstico importando o módulo Diagnóstico no modelo de serviço e, em seguida, configurando as fontes de dados a partir das quais os dados de diagnóstico são coletados. As fontes de dados devem ser adicionadas à configuração do monitor Diagnóstico para coletar dados de diagnóstico. Há vários mecanismos para configurar o Diagnóstico; usar o arquivo de configuração diagnostics.wadcfg na implantação é o mecanismo preferido para gerenciar a configuração em toda a função. Para obter mais informações, consulte Diagnostics Configuration Mechanisms and Order of Precedence.

Depois de ter implantado um serviço de nuvem, você também poderá alterar remotamente a configuração do monitor Diagnóstico em seu aplicativo de outro em execução fora do Windows Azure.

Você pode configurar o monitor de diagnóstico programaticamente, porém o SDK do Windows Azure oferece a você a capacidade de configurar o Diagnóstico usando um arquivo de configuração XML (diagnostics.wadcfg). Esse método tem muitas vantagens em relação a gravar código no método OnStart:

  1. O Diagnóstico inicia antes do método OnStart ser executado de modo que os erros nas tarefas de inicialização possam ser capturadas e registradas em log.

  2. Todas as alterações feitas na configuração em tempo de execução permanecerão após uma reinicialização.

  3. As alterações de configuração de diagnóstico não exigem que o código seja recriado.

  4. Você pode iniciar automaticamente o monitor de diagnóstico com uma configuração específica sem precisar de código adicional (o que pode causar uma exceção que impediria sua função de iniciar).

Para funções da Web, o arquivo de configuração diagnostics.wadcfg é colocado no diretório bin no diretório raiz da função. Para funções de trabalho, o arquivo de configuração diagnostics.wadcfg é colocado no diretório raiz da função. Se o arquivo de configuração existir em um desses locais quando o módulo Diagnóstico for importado, o monitor de diagnóstico definirá os parâmetros usando o arquivo de configuração em vez das configurações padrão. Quando a função Web ou de trabalho for implantada, as informações de configuração no arquivo diagnostics.wadcfg serão gravadas no contêiner wad-control-container em sua conta de armazenamento. Para obter mais informações sobre como usar o arquivo de configuração do Diagnóstico, consulte Use o arquivo de configuração de diagnóstico do Windows Azure.

O método Start com um DiagnosticMonitorConfiguration pode ser usado para definir a configuração do Diagnóstico no método OnStart de sua função. Essa abordagem é eficiente para uma nova implantação, mas não para uma implantação de atualização e, portanto, deve ser evitada.

Depois de ter implantado um serviço de nuvem, você poderá alterar remotamente a configuração do monitor de diagnóstico no código que está sendo executado em um aplicativo fora do Windows Azure usando a classe DeploymentDiagnosticManager. Nessa classe, você pode modificar os monitores de diagnóstico para uma ou mais instâncias de função. Você também pode alterar a configuração do monitor de diagnóstico para apenas para uma instância de função usando a classe RoleInstanceDiagnosticManager. Para obter mais informações, consulte Alterar remotamente a configuração do monitor de diagnóstico.

Consulte também

Mostrar:
© 2014 Microsoft