Laboratório 11: Monitorar serviços implantados no Azure
Interface de usuário do Microsoft Azure
Dada a natureza dinâmica das ferramentas de nuvem da Microsoft, você pode se deparar com alterações na IU do Azure que ocorram após o desenvolvimento deste conteúdo do treinamento. Como resultado, as instruções do laboratório e as etapas do laboratório podem não estar alinhadas corretamente.
A Microsoft atualiza este curso de treinamento quando a comunidade nos alerta sobre as alterações necessárias. No entanto, as atualizações na nuvem ocorrem com frequência, portanto você pode encontrar alterações na interface de usuário antes que esse conteúdo de treinamento seja atualizado. Se isso ocorrer, adapte-se às alterações e trabalhe com elas nos laboratórios, conforme necessário.
Instruções
Antes de começar
Entrar no ambiente de laboratório
Entre na máquina virtual (VM) do Windows 11 usando as seguintes credenciais:
- Nome de usuário:
Admin
- Senha:
Pa55w.rd
Observação: Seu instrutor fornecerá instruções para se conectar ao ambiente de laboratório virtual.
Examinar os aplicativos instalados
Localize a barra de tarefas na área de trabalho do Windows 11. A barra de tarefas contém os ícones dos aplicativos que você usará neste laboratório, incluindo:
- Microsoft Edge
- Explorador de Arquivos
- Visual Studio Code
- PowerShell do Azure
Cenário do laboratório
Neste laboratório, você criará um recurso do Application Insights no Azure que será usado para monitorar e registrar dados de ideias de aplicativo para análise posterior. A API será configurada para ajustar escala de forma automática caso a demanda aumente para um determinado limite e registrar os dados ajudará a verificar como o serviço está sendo utilizado.
Diagrama de arquitetura
Exercício 1: Criar e configurar recursos do Azure
Tarefa 1: Abrir o portal do Azure
-
Na barra de tarefas, selecione o ícone Microsoft Edge.
-
Na janela do navegador, navegue até o portal do Azure em
https://portal.azure.com
e entre com a conta que você usará neste laboratório.Observação: Se esta for a primeira vez que entra no portal do Azure, você receberá um tour pelo portal. Selecione Introdução para ignorar o tour e começar a usar o portal.
Tarefa 2: Criar um recurso do Application Insights
-
No portal do Azure, use a caixa de texto Pesquisar recursos, serviços e documentos no topo da página para pesquisar o Application Insights e, na lista de resultados, selecione Application Insights.
-
Na folha Application Insights, selecione + Criar.
-
Na folha Application Insights, na guia Informações básicas, execute as seguintes ações e selecione Examinar + criar:
Configuração Ação Lista suspensa Assinatura Manter o valor padrão Seção Grupo de recursos Selecionar Criar novo, inserir MonitoredAssets e selecionar OK Caixa de textoNome instrm[yourname] Lista suspensa Região Selecione qualquer região do Azure na qual você possa implantar um recurso do Application Insights Seção Modo de recursos Selecione a opção Baseado no Workspace Seção DETALHES DO WORKSPACE Manter os valores padrão das listas suspensas Assinatura e Workspace do Log Analytics A captura de tela a seguir exibe as configurações definidas na folha Application Insights.
-
Na guia Revisar + criar, revise as opções selecionadas nas etapas anteriores.
-
Selecione Criar para criar a instância do Application Insights usando a configuração especificada.
Observação: Aguarde a conclusão da tarefa de criação antes de prosseguir neste laboratório.
-
Na folha Visão Geral do | Microsoft.AppInsights, selecione o botão Ir para o recurso para navegar até a folha do recurso do Application Insights recém-criado.
-
Na folha Application Insights, na seção Configurar, selecione o link Propriedades.
-
Na folhaPropriedades, ao lado da entrada Chave de Instrumentação, selecione o botão Copiar para a área de transferência e registre o valor copiado. Você o usará posteriormente neste laboratório.
Observação: A chave é usada por aplicativos cliente para se conectar a um recurso específico do Application Insights.
Tarefa 3: Criar um recurso API Web do Azure
-
No portal do Azure, use a caixa de texto Pesquisar recursos, serviços e documentos no topo da página para pesquisar os Serviços de Aplicativos e, na lista de resultados, selecione Serviços de Aplicativos.
-
Na folha Serviços de Aplicativos, selecione + Criar e depois + Aplicativo Web.
-
Na folha Criar Aplicativo Web, na guia Básico, execute as seguintes ações e clique na guia Monitorar + proteger:
Configuração Ação Lista suspensa Assinatura Manter o valor padrão Lista suspensa Grupo de recursos Selecionar MonitoredAssets Caixa de textoNome Inserir smpapi[yourname] Seção Publicar Selecione Código Lista suspensaPilha de runtime Selecione .NET 8 (LTS) Seção Sistema operacional Selecione Windows Lista suspensaRegião Selecione a mesma região que você escolheu como o local do recurso Application Insights SeçãoPlano do Windows (Leste dos EUA) Selecione Criar novo e, na caixa de texto Nome, insira MonitoredPlan e selecione OK Seção Plano de preços Manter o valor padrão -
Na guia Monitorar + proteger, execute as seguintes ações e selecione Revisar + criar:
Configuração Ação SeçãoHabilitar o Application Insights Verificar se Sim está selecionado Lista suspensaApplication Insights Selecionar o recurso instrm[yourname] do Application Insights que você criou anteriormente neste laboratório -
Na guia Criar Aplicativo Web, revise as opções selecionadas nas etapas anteriores.
-
Selecione Criar para criar a API Web usando a configuração especificada.
Observação: Aguarde a conclusão da tarefa de criação antes de prosseguir neste laboratório.
-
Na folha Visão Geral de implantação, selecione o botão Ir para o recurso para navegar até a folha da API Web do Azure recém-criada.
-
Na folha Serviço de Aplicativo, na seção Configurações, clique no link Variáveis de ambiente.
-
Na seção Variáveis de ambiente, execute as seguintes ações:
a. Na guia Configurações do aplicativo, selecione Mostrar valores para exibir segredos associados à sua API Web.
b. Observe o valor que representa a chave APPLICATIONINSIGHTS_CONNECTION_STRING. Esse valor foi configurado automaticamente quando você criou o recurso de API Web.
-
Na folha Serviço de Aplicativo, selecione Visão geral na parte superior do menu de serviço.
-
Na folha Serviço de Aplicativo, na seção Essentials, registre o valor do link do Domínio padrão. Você usará esse valor posteriormente no laboratório para enviar solicitações à API Web.
Tarefa 4: Configurar opções de dimensionamento automático da API Web
-
Na folha Serviço de Aplicativo, na seção Configurações, selecione o link Escalar horizontalmente (Plano do Serviço de Aplicativo).
-
Role para baixo até ver o Método de escalar horizontalmente. Selecione a opção Baseado em regras e, em seguida, selecione Configurar.
-
Na seção Escalar horizontalmente, execute as seguintes ações e selecione Salvar:
Configuração Ação SeçãoEscalar horizontalmente Selecione Dimensionamento automático personalizado. Caixa de textoNome da configuração de dimensionamento automático Inserir ComputeScaler Lista suspensa Grupo de recursos Selecionar MonitoredAssets SeçãoModo de escala Selecionar Escala baseada em métrica Caixa de texto** Mínimo** na seção Limites de instância Insira 1 Caixa de texto** Máximo** na seção Limites de instância Insira 8 Caixa de texto** Padrão** na seção Limites de instância Insira 3 A captura de tela a seguir exibe as configurações definidas na seção Escalar horizontalmente na folha Serviço de Aplicativo.
Configuração Ação Seção deRegras Selecione Adicionar uma regra FolhaRegra de escala Manter os valores padrão de todas as configurações e selecionar Adicionar A captura de tela a seguir exibe configurações adicionais na seção Escalar horizontalmente na folha Serviço de Aplicativo.
Observação: Aguarde a conclusão da operação de salvamento antes de continuar com este laboratório.
Revisão
Neste exercício, você criou os recursos do Azure que usará no restante do laboratório.
Exercício 2: Monitorar uma API Web local usando o Application Insights
Tarefa 1: Criar um projeto API Web do .NET
-
No computador do laboratório, inicie o Visual Studio Code.
-
No Visual Studio Code, no menu Arquivo, selecione Abrir Pasta.
-
Na janela Abrir Pasta, navegue até Allfiles (F):\Allfiles\Labs\11\Starter\Api e selecione Selecionar Pasta.
-
Na janela Visual Studio Code, na Barra de menus, selecione Terminal e, em seguida, selecione Novo Terminal*.
-
No prompt do terminal, execute o seguinte comando para criar um novo aplicativo de API Web do .NET chamado SimpleApi no diretório atual:
dotnet new webapi --output . --name SimpleApi --framework net8.0
-
Execute o seguinte comando para importar a versão 2.21.0 do Microsoft.ApplicationInsights do NuGet para o projeto atual:
dotnet add package Microsoft.ApplicationInsights --version 2.21.0
Observação: O comando dotnet add package adicionará o pacote Microsoft.ApplicationInsights do NuGet. Para obter mais informações, consulte Microsoft.ApplicationInsights.
-
Execute o seguinte comando para importar a versão 2.21.0 do Microsoft.ApplicationInsights.AspNetCore do NuGet:
dotnet add package Microsoft.ApplicationInsights.AspNetCore --version 2.21.0
Observação: O comando dotnet add package adicionará o pacote Microsoft.ApplicationInsights.AspNetCore do NuGet. Para obter mais informações, consulte Microsoft.ApplicationInsights.AspNetCore.
-
No prompt do terminal, execute o seguinte comando para importar a versão 2.21.0 do Microsoft.ApplicationInsights.PerfCounterCollector do NuGet para o projeto atual:
dotnet add package Microsoft.ApplicationInsights.PerfCounterCollector --version 2.21.0
Observação: O comando dotnet add package adicionará o pacote Microsoft.ApplicationInsights.PerfCounterCollector do NuGet. Para obter mais informações, consulte Microsoft.ApplicationInsights.PerfCounterCollector.
-
No prompt do terminal, execute o seguinte comando para importar a versão 2.4.0 do Microsoft.ApplicationInsights.Profiler.AspNetCore do NuGet para o projeto atual:
dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore --version 2.4.0
Observação: O comando dotnet add package adicionará o pacote Microsoft.ApplicationInsights.Profiler.AspNetCore do NuGet. Para obter mais informações, consulte Microsoft.ApplicationInsights.Profiler.AspNetCore.
-
No prompt do terminal, execute o comando a seguir para criar a API Web do .NET:
dotnet build
Tarefa 2: Atualizar o código do aplicativo para desabilitar o HTTPS e usar o Application Insights
-
Na janela Visual Studio Code, no painel Explorer, selecione o arquivo Program.cs para abrir o arquivo no painel do editor.
-
No painel editor, localize e exclua o seguinte código na linha 17:
app.UseHttpsRedirection();
Observação: Esta linha de código força a API Web a usar HTTPS. Para este laboratório, isso é desnecessário.
-
No arquivo Program.cs, adicione as duas linhas a seguir começando com a linha 7 para habilitar o Profiler registrando-o junto com o Application Insights na coleção de serviços:
builder.Services.AddApplicationInsightsTelemetry(); builder.Services.AddServiceProfiler();
-
Salve as alterações e feche o arquivo Program.cs.
-
Na janela Visual Studio Code, no painel Explorer, selecione o arquivo appsettings.json para abrir o arquivo no painel do editor.
-
Adicione o seguinte elemento ao arquivo appsettings.json logo após o elemento ** Registrar em log**, substituindo o espaço reservado
instrumentation-key
pelo valor da chave de instrumentação de recurso do Application Insights que você registrou anteriormente neste laboratório:"ApplicationInsights": { "InstrumentationKey": "instrumentation-key" },
Observação: Se a seção que você está adicionando for o último elemento do arquivo, remova a vírgula à direita.
-
O arquivo appsettings.json agora deve estar semelhante à seguinte estrutura:
{ "Logging":{ "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, "ApplicationInsights": { "InstrumentationKey": "instrumentation-key" }, "AllowedHosts": "*" }
Observação Certifique-se de ter substituído o espaço reservado por sua própria chave de instrumentação gravada anteriormente.
-
Salve as alterações no arquivo appsettings.json e feche-o.
-
No prompt do terminal, execute o comando a seguir para criar a API Web do .NET.
dotnet publish -c Release -r win-x86 --self-contained -p:PublishReadyToRun=true .\SimpleApi.csproj
Tarefa 3: Testar um aplicativo de API no local
-
No prompt do terminal, execute o comando a seguir para iniciar a API Web do .NET.
dotnet run
-
Revise a saída do comando e anote a URL HTTPS em que o site está ouvindo.
-
Na barra de tarefas, abra o menu de contexto do ícone do Microsoft Edge e abra uma nova janela do navegador.
-
Na janela do navegador que é aberta, navegue até a URL
http://localhost
e adicione o caminho relativo /weatherforecast da API Web.Observação: A URL completa é
http://localhost:[port-number]/weatherforecast
, em que o espaço reservado[port-number]
identifica o número da porta na qual o aplicativo Web é acessível por meio do protocolo HTTP.Observação: a página terá uma saída no seguinte formato. Os valores reais serão diferentes.
[ { "date": "2023-10-29", "temperatureC": -8, "summary": "Sweltering", "temperatureF": 18 }, { "date": "2023-10-30", "temperatureC": -12, "summary": "Hot", "temperatureF": 11 }, { "date": "2023-10-31", "temperatureC": 50, "summary": "Chilly", "temperatureF": 121 }, { "date": "2023-11-01", "temperatureC": 51, "summary": "Chilly", "temperatureF": 123 }, { "date": "2023-11-02", "temperatureC": 29, "summary": "Balmy", "temperatureF": 84 } ]
-
Atualize a página do navegador várias vezes para simular algumas respostas.
-
Feche a janela do navegador que está exibindo a página gerada pelo
http://localhost:[port-number]/weatherforecast
. -
No Visual Studio Code, selecione Encerrar Terminal (o ícone da Lixeira)para fechar o painel do terminal e eventuais processos associados.
Tarefa 4: Examinar métricas no Application Insights
-
No computador do laboratório, alterne para a janela do navegador do Microsoft Edge que está exibindo o portal do Azure.
-
No portal do Azure, navegue de volta para a folha do recurso recurso instrm[yourname] do Application Insights que você criou anteriormente neste laboratório.
-
Na folha Application Insights, nos blocos no centro da folha, localize as métricas exibidas. Especificamente, localize o número de solicitações de servidor e a média do tempo de resposta do servidor.
A captura de tela a seguir exibe as métricas do Application Insights do aplicativo Web local.
Observação: pode levar até cinco minutos para observar solicitações nos gráficos de métricas do Application Insights.
Revisão
Neste exercício, você criou um aplicativo de API usando ASP.NET e o configurou para transmitir métricas de aplicativo para o Application Insights. Em seguida, você usou o painel do Application Insights para examinar detalhes de desempenho sobre sua API.
Exercício 3: Monitorar uma API Web usando o Application Insights
Tarefa 1: Implantar um aplicativo para a API Web
-
No computador do laboratório, alterne para o Visual Studio Code.
-
Na janela Visual Studio Code, na Barra de menus, selecione Terminal e, em seguida, selecione Novo Terminal.
-
No prompt do terminal, execute o seguinte comando para garantir que o diretório atual esteja definido como o Allfiles (F):\Allfiles\Labs\11\Starter\Api\bin\Versão\net8.0\net8.0\win-x86\publicar, em que residem os arquivos de implantação:
cd F:\Allfiles\Labs\11\Starter\Api\bin\Release\net8.0\win-x86\publish\
-
Execute o seguinte comando para criar um arquivo zip contendo o projeto inicial que você implantará ao lado da API Web do Azure:
Compress-Archive -Path * -DestinationPath api.zip
-
No prompt do terminal, execute o seguinte comando para entrar em sua assinatura do Azure usando o Azure PowerShell:
Connect-AzAccount
-
Quando solicitado, autentique-se fornecendo as credenciais para acessar a assinatura do Azure que você está usando para este laboratório.
Observação: Aguarde a conclusão do processo de entrada.
-
Execute o seguinte comando para exibir a listagem de todos os aplicativos Web no grupo de recursos MonitoredAssets:
Get-AzWebApp -ResourceGroupName MonitoredAssets
-
Execute o seguinte comando para exibir a lista de todos os aplicativos Web no grupo de recursos MonitoredAssets, cujos nomes iniciam com smpapi*:
Get-AzWebApp -ResourceGroupName MonitoredAssets | Where-Object {$_.Name -like 'smpapi*'}
-
Execute os seguintes comandos para exibir o nome do primeiro dos aplicativos Web identificados na etapa anterior e armazená-lo em uma variável chamada $webAppName:
Get-AzWebApp -ResourceGroupName MonitoredAssets | Where-Object {$_.Name -like 'smpapi*'} | Select-Object -ExpandProperty Name $webAppName = (Get-AzWebApp -ResourceGroupName MonitoredAssets | Where-Object {$_.Name -like 'smpapi*'})[0] | Select-Object -ExpandProperty Name
-
Execute o seguinte comando para implantar o arquivo api.zip criado anteriormente nesta tarefa na API Web cujo nome você identificou na etapa anterior:
Publish-AzWebApp -ResourceGroupName MonitoredAssets -Name $webAppName -ArchivePath "F:\Allfiles\Labs\11\Starter\Api\bin\Release\net8.0\win-x86\publish\api.zip" -force
Observação: Aguarde a conclusão da implantação antes de continuar com este laboratório.
-
No computador do laboratório, inicie outra janela do navegador do Microsoft Edge.
-
Na janela do navegador, navegue até o aplicativo de API Web do Azure no qual você implantou o aplicativo de API anteriormente nesta tarefa, acrescentando à URL (que você registrou anteriormente neste laboratório) o sufixo /weatherforecast.
Observação: Por exemplo, se a sua URL for
https://smpapianu.azurewebsites.net
, a nova URL seráhttps://smpapianu.azurewebsites.net/weatherforecast
. -
Verifique se a saída é semelhante à gerada ao executar o aplicativo de API localmente.
Observação: A saída incluirá valores diferentes, mas deve ter o mesmo formato.
Tarefa 2: Configurar uma coleção de métricas detalhada para Aplicativos Web
-
No computador do laboratório, alterne para a janela do navegador do Microsoft Edge que está exibindo o portal do Azure.
-
No portal do Azure, navegue de volta para a folha do recurso do aplicativo Web smpapi[yourname] que você criou anteriormente neste laboratório.
-
Na folha Serviço de Aplicativo, selecione Application Insights.
-
Na folha Application Insights, execute as seguintes ações, selecione Aplicar e, na caixa de diálogo de confirmação, selecione Sim:
Configuração Ação Controle deslizante Application Insights Verifique se ele está definido como ** Habilitar** Seção Instrumentar seu aplicativo Selecionar a guia .NET Seção Nível de coleção Selecionar Recomendado Seção Profiler Selecionar Ativado. Seção Depurador de instantâneo Selecione Desativado Seção Comandos SQL Selecione Desativado A captura de tela a seguir exibe as configurações do Application Insights da API Web do Azure.
-
Alterne para a guia do navegador aberta na tarefa anterior para exibir os resultados da implantação do seu aplicativo de API no aplicativo de API do Azure de destino (incluindo o caminho relativo /weatherforecast na URL de destino) e atualize a página do navegador várias vezes.
-
Examine a saída formatada em JSON gerada pela API.
-
Registre a URL usada para acessar a saída formatada em JSON.
Observação: A URL deve estar no formato
https://smpapianu.azurewebsites.net/weatherforecast
se o nome do site que você criou anteriormente foi smpapianu.
Tarefa 3: Obter métricas atualizadas no Application Insights
-
Volte para a janela do navegador que está exibindo o aplicativo Web do Azure no portal do Azure.
-
Na folha Application Insights do aplicativo Web, selecione o link Exibir dados do Application Insights.
-
Na folha Application Insights, examine as métricas coletadas nos blocos no centro da folha, incluindo o número de solicitações de servidor e a média do tempo de resposta do servidor.
A captura de tela a seguir exibe as métricas do Application Insights do aplicativo Web do Azure no portal do Azure.
Observação: Pode levar até cinco minutos para que as métricas atualizadas apareçam nos gráficos de métricas do Application Insights.
Tarefa 4: Exibir métricas em tempo real no Application Insights
-
Na folha Application Insights, na seção Investigar, selecione Métricas ao vivo.
-
Volte para a janela do navegador que exibe o aplicativo de API de destino em execução no aplicativo Web do Azure de destino (que tem como alvo o caminho relativo /weatherforecast na URL de destino) e atualize a página do navegador várias vezes.
-
Alterne para a janela do navegador que exibe a folha Métricas ao vivo e examine seu conteúdo.
Observação: A seção Solicitações recebidas deve ser atualizada em segundos, mostrando as solicitações feitas à API Web.
Revisão
Neste exercício, você configurou e testou o registro em log do Application Insights de seu aplicativo de API Web e visualizou informações em tempo real sobre as solicitações que estão sendo feitas.