Introdução ao Cloud Service (clássico) Monitoramento
Importante
Os Serviços na Nuvem (clássicos) foram preteridos para todos os clientes a partir de 1º de setembro de 2024. Todas as implantações em execução existentes serão interrompidas e encerradas pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. Novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido).
Você pode monitorar as principais métricas de desempenho para qualquer serviço de nuvem. Cada função de serviço de nuvem coleta dados mínimos: uso da CPU, uso da rede e utilização do disco. Se o serviço de nuvem tiver a Microsoft.Azure.Diagnostics
extensão aplicada a uma função, essa função poderá coletar mais pontos de dados. Este artigo fornece uma introdução ao Diagnóstico do Azure para Serviços de Nuvem.
Com o monitoramento básico, os dados do contador de desempenho das instâncias de função são amostrados e coletados em intervalos de 3 minutos. Esses dados básicos de monitoramento não são armazenados em sua conta de armazenamento e não têm custo adicional associado a eles.
Com o monitoramento avançado, mais métricas são amostradas e coletadas em intervalos de 5 minutos, 1 hora e 12 horas. Os dados agregados são armazenados em uma conta de armazenamento, em tabelas, e são limpos após 10 dias. A conta de armazenamento usada é configurada por função; Você pode usar diferentes contas de armazenamento para diferentes funções. Você usa uma cadeia de conexão nos arquivos .csdef e .cscfg para configuração.
Monitorização básica
Como dito na introdução, um serviço de nuvem coleta automaticamente dados básicos de monitoramento da máquina virtual do host. Esses dados incluem porcentagem de CPU, entrada/saída de rede e leitura/gravação de disco. Os dados de monitoramento coletados são exibidos automaticamente nas páginas de visão geral e métricas do serviço de nuvem, no portal do Azure.
O monitoramento básico não requer uma conta de armazenamento.
Monitorização avançada
O monitoramento avançado envolve o uso da extensão do Diagnóstico do Azure (e, opcionalmente, do SDK do Application Insights ) na função que você deseja monitorar. A extensão de diagnóstico usa um arquivo de configuração (por função) chamado diagnostics.wadcfgx para configurar as métricas de diagnóstico monitoradas. A extensão de Diagnóstico do Azure coleta e armazena dados em uma conta de Armazenamento do Azure. Essas configurações são definidas nos arquivos .wadcfgx, .csdef e .cscfg . Isso significa que há um custo extra associado ao monitoramento avançado.
À medida que cada função é criada, o Visual Studio adiciona a extensão de Diagnóstico do Azure a ela. Essa extensão de diagnóstico pode coletar os seguintes tipos de informações:
- Contadores de desempenho personalizados
- Registos de aplicações
- Registos de eventos do Windows
- Origem do evento .NET
- Logs do IIS (Serviços de Informações da Internet)
- Rastreamento de eventos baseado em manifesto para Windows (ETW)
- Registos de erros de clientes
Importante
Embora todos esses dados sejam agregados à conta de armazenamento, o portal não fornece uma maneira nativa de mapear os dados. É altamente recomendável que você integre outro serviço, como o Application Insights, em seu aplicativo.
Extensão de diagnóstico de configuração
Primeiro, se você não tiver uma conta de armazenamento clássica , crie uma. Verifique se a conta de armazenamento foi criada com o modelo de implantação Classic especificado.
Em seguida, navegue até o recurso Conta de armazenamento (clássico). Selecione Configurações>Teclas de acesso e copie o valor da cadeia de conexão principal. Você precisa desse valor para o serviço de nuvem.
Há dois arquivos de configuração que você deve alterar para que o diagnóstico avançado seja habilitado, ServiceDefinition.csdef e ServiceConfiguration.cscfg.
ServiceDefinition.csdef
No arquivo ServiceDefinition.csdef, adicione uma nova configuração nomeada Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
para cada função que usa diagnósticos avançados. Visual Studio adiciona esse valor ao arquivo quando você cria um novo projeto. Caso esteja faltando, você 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" />
Esse trecho define uma nova configuração que deve ser adicionada a cada arquivo ServiceConfiguration.cscfg .
Muito provavelmente você tem dois arquivos .cscfg , um chamado ServiceConfiguration.cloud.cscfg para implantação no Azure e um chamado ServiceConfiguration.local.cscfg que é usado para implantações locais no ambiente emulado. Abra e altere cada arquivo .cscfg . Adicione uma configuração chamada Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString
. Defina o valor como a cadeia de conexão primária da conta de armazenamento clássica. Se você quiser usar o armazenamento local em sua máquina de desenvolvimento, use 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" />
-->
Usar o Application Insights
Ao publicar o Serviço de Nuvem do Visual Studio, você tem a opção de enviar os dados de diagnóstico para o Application Insights. Você pode criar o recurso do Azure do Application Insights nesse momento ou enviar os dados para um recurso existente do Azure. O Application Insights pode monitorar seu serviço de nuvem quanto à disponibilidade, desempenho, falhas e uso. Gráficos personalizados podem ser adicionados ao Application Insights para que você possa ver os dados mais importantes. Os dados da instância de função podem ser coletados usando o SDK do Application Insights em seu projeto de serviço de nuvem. Para obter mais informações sobre como integrar o Application Insights, consulte Application Insights with Cloud Services.
Embora você possa usar o Application Insights para exibir os contadores de desempenho (e as outras configurações) especificados por meio da extensão de Diagnóstico do Microsoft Azure, você só obtém uma experiência mais rica integrando o SDK do Application Insights em suas funções de trabalho e Web.