Introdução à Monitorização do Serviço Cloud (clássico)

Importante

Serviços Cloud (clássico) é agora preterido para novos clientes e será descontinuado a 31 de agosto de 2024 para todos os clientes. As novas implementações devem utilizar o novo modelo de implementação baseado em Resource Manager do Azure Serviços Cloud (suporte alargado).

Pode monitorizar as principais métricas de desempenho de qualquer serviço cloud. Cada função do serviço cloud recolhe dados mínimos: utilização da CPU, utilização da rede e utilização do disco. Se o serviço cloud tiver a Microsoft.Azure.Diagnostics extensão aplicada a uma função, essa função pode recolher pontos de dados adicionais. Este artigo fornece uma introdução ao Diagnóstico do Azure para Serviços Cloud.

Com a monitorização básica, os dados do contador de desempenho das instâncias de função são amostrados e recolhidos em intervalos de 3 minutos. Estes dados básicos de monitorização não são armazenados na sua conta de armazenamento e não têm custos adicionais associados aos mesmos.

Com a monitorização avançada, as métricas adicionais são amostradas e recolhidas em intervalos de 5 minutos, 1 hora e 12 horas. Os dados agregados são armazenados numa conta de armazenamento, em tabelas, e são removidos após 10 dias. A conta de armazenamento utilizada é configurada por função; pode utilizar contas de armazenamento diferentes para diferentes funções. Esta ação é configurada com uma cadeia de ligação nos ficheiros .csdef e .cscfg .

Monitorização básica

Conforme indicado na introdução, um serviço cloud recolhe automaticamente dados de monitorização básicos da máquina virtual anfitriã. Estes dados incluem percentagem de CPU, entrada/saída da rede e leitura/escrita do disco. Os dados de monitorização recolhidos são apresentados automaticamente nas páginas de descrição geral e métricas do serviço cloud, no portal do Azure.

A monitorização básica não requer uma conta de armazenamento.

mosaicos básicos de monitorização do serviço cloud

Monitorização avançada

A monitorização avançada envolve a utilização da extensão Diagnóstico do Azure (e, opcionalmente, o SDK do Application Insights) na função que pretende monitorizar. A extensão de diagnóstico utiliza um ficheiro de configuração (por função) com o nome diagnostics.wadcfgx para configurar as métricas de diagnóstico monitorizadas. A extensão de Diagnóstico do Azure recolhe e armazena dados numa conta de Armazenamento do Azure. Estas definições estão configuradas nos ficheiros .wadcfgx, .csdef e .cscfg . Isto significa que existe um custo adicional associado à monitorização avançada.

À medida que cada função é criada, o Visual Studio adiciona a extensão Diagnóstico do Azure à mesma. Esta extensão de diagnóstico pode recolher os seguintes tipos de informações:

  • Contadores de desempenho personalizados
  • Registos de aplicações
  • Registos de eventos do Windows
  • Origem de eventos .NET
  • Registos do IIS
  • ETW com base em manifesto
  • Informações de falha de sistema
  • Registos de erros do cliente

Importante

Embora todos estes dados sejam agregados na conta de armazenamento, o portal não fornece uma forma nativa de traçar os dados. Recomenda-se vivamente que integre outro serviço, como o Application Insights, na sua aplicação.

Extensão de diagnóstico de configuração

Primeiro, se não tiver uma conta de armazenamento clássica , crie uma. Certifique-se de que a conta de armazenamento é criada com o modelo de implementação Clássica especificado.

Em seguida, navegue para o recurso Conta de armazenamento (clássica ). Selecione Definições>Chaves de acesso e copie o valor da cadeia de ligação primária . Precisa deste valor para o serviço cloud.

Existem dois ficheiros de configuração que tem de alterar para que os diagnósticos avançados sejam ativados, ServiceDefinition.csdef e ServiceConfiguration.cscfg.

ServiceDefinition.csdef

No ficheiro ServiceDefinition.csdef , adicione uma nova definição com o nome Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString para cada função que utilize diagnósticos avançados. O Visual Studio adiciona este valor ao ficheiro quando cria um novo projeto. Caso esteja em falta, pode adicioná-lo agora.

<ServiceDefinition name="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
  <WorkerRole name="WorkerRoleWithSBQueue1" vmsize="Small">
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />

Isto define uma nova definição que tem de ser adicionada a todos os ficheiros ServiceConfiguration.cscfg .

O mais provável é que tenha dois ficheiros .cscfg , um com o nome ServiceConfiguration.cloud.cscfg para implementação no Azure e outro com o nome ServiceConfiguration.local.cscfg que é utilizado para implementações locais no ambiente emulado. Abra e altere cada ficheiro .cscfg . Adicione uma definição com o nome Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString. Defina o valor para a cadeia de ligação Primária da conta de armazenamento clássica. Se quiser utilizar o armazenamento local no seu computador de desenvolvimento, utilize UseDevelopmentStorage=true.

<ServiceConfiguration serviceName="AnsurCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
  <Role name="WorkerRoleWithSBQueue1">
    <Instances count="1" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=KWwkdfmskOIS240jnBOeeXVGHT9QgKS4kIQ3wWVKzOYkfjdsjfkjdsaf+sddfwwfw+sdffsdafda/w==" />
      
      <!-- or use the local development machine for storage
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      -->

Utilizar o Application Insights

Quando publica o Serviço Cloud a partir do Visual Studio, é-lhe dada a opção de enviar os dados de diagnóstico para o Application Insights. Pode criar o recurso do Azure do Application Insights nessa altura ou enviar os dados para um recurso do Azure existente. O serviço cloud pode ser monitorizado pelo Application Insights para disponibilidade, desempenho, falhas e utilização. Os gráficos personalizados podem ser adicionados ao Application Insights para que possa ver os dados mais importantes. Os dados da instância de função podem ser recolhidos com o SDK do Application Insights no projeto do serviço cloud. Para obter mais informações sobre como integrar o Application Insights, veja Application Insights with Serviços Cloud (Application Insights with Serviços Cloud).

Tenha em atenção que, embora possa utilizar o Application Insights para apresentar os contadores de desempenho (e as outras definições) que especificou através da extensão do Windows Diagnóstico do Azure, só obtém uma experiência mais avançada ao integrar o SDK do Application Insights nas suas funções de trabalho e Web.

Passos seguintes