Laboratorio 11: Supervisión de los servicios que se implementan en Azure

Interfaz de usuario de Microsoft Azure

Dada la naturaleza dinámica de las herramientas en la nube de Microsoft, puede experimentar cambios en la interfaz de usuario de Azure que se producen después del desarrollo de este contenido de entrenamiento. Como resultado, es posible que las instrucciones y los pasos del laboratorio no se alineen correctamente.

Microsoft actualiza este curso de entrenamiento cuando la comunidad nos alerta de los cambios necesarios. Sin embargo, las actualizaciones en la nube se producen con frecuencia, por lo que es posible que se produzcan cambios en la interfaz de usuario antes de que se actualice este contenido de entrenamiento. Si esto ocurre, adáptese a los cambios y, a continuación, trabaje con ellos en los laboratorios según sea necesario.

Instructions

Antes de comenzar

Inicio de sesión al entorno de laboratorio

Inicie sesión en la máquina virtual (VM) de Windows 11 con las credenciales siguientes:

  • Nombre de usuario: Admin
  • Contraseña: Pa55w.rd

Nota: El instructor le proporcionará instrucciones para conectarse al entorno de laboratorio virtual.

Revisión de las aplicaciones instaladas

Busque la barra de tareas en el escritorio de Windows 11. La barra de tareas contiene los iconos de las aplicaciones que usará en este laboratorio, entre los que se incluyen:

  • Microsoft Edge
  • Explorador de archivos
  • Visual Studio Code
  • Azure PowerShell

Escenario de laboratorio

En este laboratorio, creará un recurso de Application Insights en Azure que se usará para supervisar y registrar los datos de Application Insights para su posterior revisión. La API se establecerá para escalar automáticamente si la demanda aumenta a un umbral determinado, y el registro de los datos ayudará a determinar cómo se está utilizando el servicio.

Diagrama de la arquitectura

Diagrama de arquitectura que muestra la supervisión de los servicios que se implementan en Azure

Ejercicio 1: Implementación y configuración de los recursos de Azure

Tarea 1: Abra Azure Portal

  1. En la barra de tareas, seleccione el icono de Microsoft Edge.

  2. En la ventana del explorador, vaya a Azure Portal en https://portal.azure.com y, a continuación, inicie sesión con la cuenta que va a usar para este laboratorio.

    Nota: Si es la primera vez que inicia sesión en Azure Portal, se le ofrecerá un paseo por el portal. Seleccione Introducción para omitir el paseo y empezar a usar el portal.

Tarea 2: Cree un recurso de Application Insights

  1. En Azure Portal, use el cuadro de texto Buscar recursos, servicios y documentos en la parte superior de la página para buscar Application Insights y, a continuación, en la lista de resultados, seleccione Application Insights.

  2. En la hoja Application Insights seleccione + Crear.

  3. En la hoja Application Insights, en la pestaña Aspectos básicos, realice las siguientes acciones y seleccione Revisar y crear:

    Configuración Acción
    Lista desplegable de Suscripción Conserve los valores predeterminados
    Sección Grupo de recursos Seleccione Crear nuevo, escriba MonitoredAssets y seleccione Aceptar.
    Cuadro de texto Nombre  instrm [sunombre]
    Lista desplegable de Región Seleccione cualquier región de Azure en la que pueda implementar un recurso de Application Insights
    Sección Modo de recursos Seleccionar la opción Basado en el área de trabajo
    Sección DETALLES DEL ÁREA DE TRABAJO Conservar los valores predeterminados de las listas desplegables Suscripción y Área de trabajo de Log Analytics

    En la captura de pantalla siguiente, se muestran los valores configurados en la hoja Application Insights.

    Creación de una hoja de una instancia de Azure Application Insights

  4. En la pestaña Revisar y crear, revise las opciones que seleccionó durante los pasos anteriores.

  5. Seleccione Crear para crear la instancia de Application Insights mediante la configuración especificada.

    Nota: Espere a que se complete la tarea de creación antes de continuar con este laboratorio.

  6. En la hoja Información general| de Microsoft.AppInsights, seleccione el botón Ir al recurso para ir a la hoja del recurso recién creado de Application Insights.

  7. En la hoja de Application Insights, en la sección Configurar, seleccione el vínculo Propiedades.

  8. En la hoja Propiedades, junto a la entrada Clave de instrumentación, seleccione el botón Copiar en el portapapeles y, a continuación, registre el valor copiado. Lo usará más adelante en este laboratorio.

    Nota: Las aplicaciones cliente usan la clave para conectarse a un recurso específico de Application Insights.

Tarea 3: Creación de un recurso de API web de Azure

  1. En Azure Portal, use el cuadro de texto Buscar recursos, servicios y documentos en la parte superior de la página para buscar App Services y, a continuación, en la lista de resultados, seleccione App Services.

  2. En la hoja App Services, seleccione + Crear.

  3. En la hoja Crear aplicación web, en la pestaña Aspectos básicos, realice las acciones siguientes y, a continuación, seleccione la pestaña Supervisión:

    Configuración Acción
    Lista desplegable de Suscripción Conserve los valores predeterminados
    Lista desplegable del grupo de recursos Seleccionar MonitoredAssets
    Cuadro de texto Nombre  Escriba smpapi [sunombre]
    Sección Publicar Seleccione Código.
    Lista desplegable de la pila en tiempo de ejecución Seleccionar .NET 8 (LTS)
    Sección Sistema operativo Seleccione Windows
    Lista desplegable Región  Seleccione la misma región que eligió como ubicación del recurso de Application Insights
    Sección Plan de Windows (Este de EE. UU.) Seleccione Crear nuevo, escriba MonitoredPlan en el cuadro de texto Nombre y, a continuación, seleccione Aceptar.
    Sección Plan de precios Conserve los valores predeterminados
  4. En la pestaña Supervisión, realice las siguientes acciones y, a continuación, seleccione Revisar y crear:

    Configuración Acción
    Sección Habilitar Application Insights Asegurarse de que está seleccionada la opción
    Lista desplegable de Application Insights Seleccione el recurso de Application Insights instrm [sunombre] que creó anteriormente en este laboratorio.
  5. En la pestaña Revisar y crear, revise las opciones que seleccionó durante los pasos anteriores.

  6. Seleccione Crear para crear la API web mediante la configuración especificada.

    Nota: Espere a que se complete la tarea de creación antes de continuar con este laboratorio.

  7. En la hoja Información general, seleccione el botón Ir al recurso para ir a la hoja de la API web de Azure recién creada.

  8. En la hoja de App Service, en la sección Configuración, seleccione el vínculo Configuración.

  9. En la sección Configuración, realice los pasos siguientes:

    a. En la pestaña Configuración de la aplicación, seleccione Mostrar valores para mostrar los secretos asociados a la API web.

    b. Anota el valor que representa la clave APPLICATIONINSIGHTS_CONNECTION_STRING. Este valor se estableció automáticamente al crear el recurso de API web.

  10. En la hoja de App Service, en la sección Configuración, seleccione el vínculo Propiedades.

  11. En la sección Propiedades, registre el valor del vínculo de dirección URL. Usará este valor más adelante en el laboratorio para enviar solicitudes a la API web.

Tarea 4: Configuración de opciones de escalado automático de API web

  1. En la hoja de App Service, en la sección Configuración, seleccione el vínculo Escalar horizontalmente (plan de App Service) .

  2. Desplázate hacia abajo hasta que veas el Método de escalabilidad horizontal. Haz clic en la opción Basado en reglas y selecciona Administrar el escalado basado en reglas.

Selección de la opción correcta para el método de escalabilidad horizontal

  1. En la sección Escalar horizontalmente, realice las siguientes acciones y, a continuación, seleccione Guardar:

    Configuración Acción
    Sección de escalabilidad horizontal Seleccione Escalabilidad automática personalizada.
    Cuadro de texto del Nombre de la configuración de escalado automático Escribir ComputeScaler
    Lista desplegable Grupo de recursos Seleccionar MonitoredAssets
    Sección Modo de escalado Seleccionar Escalado basado en una métrica
    Cuadro de texto Mínimo de la sección Límites de instancia Escriba 1.
    Cuadro de texto Máximo de la sección Límites de instancia Escribir 8
    Cuadro de texto Predeterminado de la sección Límites de instancia Escribir 3

    En la captura de pantalla siguiente se muestran los valores configurados en la sección Escalabilidad horizontal de la hoja App Service.

    Condición de escalado predeterminada en la hoja de la API web de Azure

    Configuración Acción
    Sección Reglas Seleccione Agregar una regla.
    Hoja Regla de escalado Conservar los valores predeterminados para todos los valores y seleccionar Agregar

    En la captura de pantalla siguiente se muestran los valores configurados adicionales en la sección Escalabilidad horizontal de la hoja App Service.

    Hoja Regla de escalado de la condición de escalado predeterminada en la hoja de la API web de Azure

    Nota: Espere a que se complete la operación de guardado antes de continuar con este laboratorio.

Revisar

En este ejercicio, ha creado los recursos de Azure que usará para el resto del laboratorio.

Ejercicio 2: Supervisión de una API web local mediante Application Insights

Tarea 1: Compilación de un proyecto de API web de .NET

  1. En el equipo del laboratorio, inicie Visual Studio Code.

  2. En Visual Studio Code, en el menú Archivo, seleccione Abrir archivo.

  3. En la ventana Abrir carpeta vaya a Allfiles (F):\Allfiles\Labs\11\Inicio\API, y seleccione Seleccionar carpeta.

  4. En la ventana Visual Studio Code, en la barra de menús, selecciona Terminal y luego Nuevo terminal*.

  5. En el símbolo del sistema del terminal, ejecute el siguiente comando para crear una nueva aplicación de API web de .NET denominada SimpleApi en el directorio actual:

     dotnet new webapi --output . --name SimpleApi --framework net8.0
    
  6. Ejecute el comando siguiente para importar la versión 2.21.0 de Microsoft.ApplicationInsights desde NuGet al proyecto actual:

     dotnet add package Microsoft.ApplicationInsights --version 2.21.0
    

    Nota: El comando dotnet add package agregará el paquete Microsoft.ApplicationInsights desde NuGet. Para obtener más información, consulte este Microsoft.ApplicationInsights.

  7. Ejecute el comando siguiente para importar la versión 2.21.0 de Microsoft.ApplicationInsights.AspNetCore desde NuGet:

     dotnet add package Microsoft.ApplicationInsights.AspNetCore --version 2.21.0
    

    Nota: El comando dotnet add package agregará el paquete Microsoft.ApplicationInsights.AspNetCore desde NuGet. Para obtener más información, consulte este Microsoft.ApplicationInsights.AspNetCore.

  8. En el símbolo del sistema del terminal, ejecute el comando siguiente para importar la versión 2.21.0 de Microsoft.ApplicationInsights.PerfCounterCollector desde NuGet al proyecto actual:

     dotnet add package Microsoft.ApplicationInsights.PerfCounterCollector --version 2.21.0
    

    Nota: El comando dotnet add package agregará el paquete Microsoft.ApplicationInsights.PerfCounterCollector desde NuGet. Para obtener más información, consulte Microsoft.ApplicationInsights.PerfCounterCollector.

  9. En el símbolo del sistema del terminal, ejecute el comando siguiente para importar la versión 2.4.0 de Microsoft.ApplicationInsights.Profiler.AspNetCore desde NuGet al proyecto actual:

     dotnet add package Microsoft.ApplicationInsights.Profiler.AspNetCore --version 2.4.0
    

    Nota: El comando dotnet add package agregará el paquete Microsoft.ApplicationInsights.Profiler.AspNetCore desde NuGet. Para obtener más información, consulte Microsoft.ApplicationInsights.Profiler.AspNetCore.

  10. En el símbolo del sistema del terminal, ejecute el siguiente comando para compilar la API web de .NET:

     dotnet build
    

Tarea 2: Actualización del código de la aplicación para deshabilitar HTTPS y uso de Application Insights

  1. En la ventana de Visual Studio Code, en el panel Explorador, seleccione el archivo Program.cs para abrir el archivo en el panel del editor.

  2. En el panel del editor, busque y elimine el código siguiente en la línea 17:

     app.UseHttpsRedirection();
    

    Nota: Esta línea de código obliga a la API web a usar HTTPS. Para este laboratorio, esto no es necesario.

  3. En el archivo Program.cs, agregue las dos líneas siguientes a partir de la línea 7 para habilitar Profiler mediante su registro junto con Application Insights en la colección Service:

     builder.Services.AddApplicationInsightsTelemetry();
     builder.Services.AddServiceProfiler();
    
  4. Guarde los cambios y cierre el archivo Program.cs.

  5. En la ventana de Visual Studio Code, en el panel Explorador, seleccione el archivo appsettings.json para abrir el archivo en el panel del editor.

  6. Agregue al archivo appsettings.json el elemento siguiente justo después del elemento Logging; para ello, reemplace el marcador de posición instrumentation-key por el valor de la clave de instrumentación de recurso de Application Insights que registró anteriormente en este laboratorio:

        "ApplicationInsights":
        {
           "InstrumentationKey": "instrumentation-key"
        },
    

    Nota: Si la sección que va a agregar es el último elemento del archivo, quite la coma final.

  7. El archivo appsettings.json debería tener ahora un aspecto similar a la estructura siguiente:

    ```json { “Logging”:{ “LogLevel”: { “Default”: “Information”, “Microsoft.AspNetCore”: “Warning” } }, “ApplicationInsights”: { “InstrumentationKey”: “instrumentation-key” }, “AllowedHosts”: “*” }

    Note” Ensure you have replaced the placeholder with your own instrumentation key that you recorded earlier.

  8. Save the changes to the appsettings.json file and close it.

  9. At the terminal prompt, run the following command to build the .NET Web API.

     dotnet publish -c Release -r win-x86 --self-contained -p:PublishReadyToRun=true .\SimpleApi.csproj
    

Task 3: Test an API application locally

  1. At the terminal prompt, run the following command to launch the .NET Web API.

     dotnet run
    
  2. Review the output of the command and note the HTTP URL that the site is listening on.

  3. From the taskbar, open the context menu for the Microsoft Edge icon, and then open a new browser window.

  4. In the browser window that opens, navigate to the http://localhost URL and add the /weatherforecast relative path of your web API.

    Note: The full URL is http://localhost:[port-number]/weatherforecast, where the [port-number] placeholder identifies the port number at which the web app is accessible via the HTTP protocol.

    Note: The page should contain an output in the following format. The actual values will be different.

     [
         {
             "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
         }
     ]
    
  5. Actualice la página del explorador varias veces para simular algunas respuestas.

  6. Cierre la ventana del explorador que muestra la página generada mediante http://localhost:[port-number]/weatherforecast.

  7. En Visual Studio Code, seleccione Cerrar el terminal (el icono de la papelera de reciclaje) para cerrar el panel del terminal y los procesos asociados.

Tarea 4: Revisión de métricas en Application Insights

  1. En el equipo de laboratorio, vaya a la ventana del explorador Microsoft Edge que muestra Azure Portal.

  2. En Azure Portal, vuelva a la hoja del recurso de Application Insights instrm [su nombre] que creó anteriormente en este laboratorio.

  3. En la hoja Application Insights, en los iconos del centro de la hoja, busque las métricas que se muestran. En concreto, busque el número de solicitudes de servidor que se han producido y el tiempo medio de respuesta del servidor.

    En la captura de pantalla siguiente se muestran las métricas de Application Insights de la aplicación web local.

    Métricas de Application Insights de la aplicación web local en Azure Portal

    Nota: Puede tardar hasta cinco minutos en observar las solicitudes en los gráficos de métricas de Application Insights.

Revisar

En este ejercicio, ha creado una aplicación de API mediante ASP.NET y la ha configurado para transmitir métricas de aplicación a Application Insights. A continuación, usó el panel de Application Insights para revisar los detalles de rendimiento sobre la API.

Ejercicio 3: Supervisión de una API web mediante Application Insights

Tarea 1: Implementación de una aplicación en la API web

  1. En el equipo de laboratorio, cambie a Visual Studio Code.

  2. En la ventana Visual Studio Code, en la barra de menús, seleccione Terminal y, a continuación, Nuevo terminal.

  3. En el símbolo del sistema del terminal, ejecute el comando siguiente para asegurarse de que el directorio actual está establecido en Allfiles (F):\Allfiles\Labs\11\Starter\Api\bin\Release\net8.0\net8.0\win-x86\publish, donde residen los archivos de implementación:

     cd F:\Allfiles\Labs\11\Starter\Api\bin\Release\net8.0\win-x86\publish\
    
  4. Ejecute el siguiente comando para crear un archivo ZIP que contenga el proyecto de inicio que implementará junto a la API web de Azure:

     Compress-Archive -Path * -DestinationPath api.zip
    
  5. En el símbolo de sistema del terminal, ejecute el siguiente comando para iniciar sesión en la suscripción de Azure mediante Azure PowerShell:

     Connect-AzAccount
    
  6. Cuando se le solicite, autentíquese proporcionando las credenciales para acceder a la suscripción de Azure que usa para este laboratorio.

    Nota: Espere a que termine el proceso de inicio de sesión.

  7. Ejecute el siguiente comando para mostrar la lista de todas las aplicaciones web en el grupo de recursos MonitoredAssets:

     Get-AzWebApp -ResourceGroupName MonitoredAssets
    
  8. Ejecute el siguiente comando para mostrar la lista de todas las aplicaciones web en el grupo de recursos MonitoredAssets cuyo nombre comienza por smpapi* :

     Get-AzWebApp -ResourceGroupName MonitoredAssets | Where-Object {$_.Name -like 'smpapi*'}
    
  9. Ejecute los siguientes comandos para mostrar el nombre de la primera de las aplicaciones web identificadas en el paso anterior y almacenarlo en una variable denominada $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
    
  10. Ejecute el siguiente comando para implementar el archivo api.zip que creó anteriormente en esta tarea en la API web cuyo nombre identificó en el paso anterior:

     Publish-AzWebApp -ResourceGroupName MonitoredAssets -Name $webAppName -ArchivePath "F:\Allfiles\Labs\11\Starter\Api\bin\Release\net8.0\win-x86\publish\api.zip" -force
    

    Nota: Espere a que se complete la operación de implementación antes de continuar con este laboratorio.

  11. En el equipo del laboratorio, inicie otra ventana del explorador Microsoft Edge.

  12. En la ventana del explorador, vaya a la aplicación de API web de Azure en la que implementó la aplicación de API anteriormente en esta tarea anexando a su dirección URL (que registró anteriormente en este laboratorio) el sufijo /weatherforecast.

    Nota: Por ejemplo, si la dirección URL es https://smpapianu.azurewebsites.net, la nueva dirección URL será https://smpapianu.azurewebsites.net/weatherforecast.

  13. Compruebe que la salida es similar a la generada al ejecutar la aplicación de API localmente.

    Nota: La salida incluirá valores diferentes, pero debe tener el mismo formato.

Tarea 2: Configuración de la recopilación de métricas detallada para Web Apps

  1. En el equipo de laboratorio, vaya a la ventana del explorador Microsoft Edge que muestra Azure Portal.

  2. En Azure Portal, vuelva a la hoja del recurso de aplicación web smpapi [su nombre] que creó anteriormente en este laboratorio.

  3. En la hoja App Service, seleccione Application Insights.

  4. En la hoja Application Insights, realice las siguientes acciones, seleccione Aplicar y, a continuación, en el cuadro de diálogo de confirmación y seleccione :

    Configuración Acción
    Control deslizante de Application Insights Asegurarse de que esté establecido en Habilitar
    Sección de la Instrumentación de la aplicación Seleccionar la pestaña .NET
    Sección del nivel de colección Seleccionar Recomendado
    Sección Profiler Seleccionar Activado
    Sección del depurador de instantáneas Seleccione Desactivado.
    Sección de comandos SQL Seleccione Desactivado.

    En la captura de pantalla siguiente, se muestra la configuración de Application Insights de la API web de Azure.

    Configuración Application Insights de la API web de Azure

  5. Cambie a la pestaña del explorador que abrió en la tarea anterior para mostrar los resultados de la implementación de la aplicación de API en la aplicación de API de destino de Azure (incluida la ruta de acceso relativa /weatherforecast en la dirección URL de destino) y actualice la página del explorador varias veces.

  6. Revise la salida con formato JSON que haya generado la API.

  7. Registre la dirección URL que usó para acceder a la salida con formato JSON.

    Nota: La dirección URL debe tener el formato https://smpapianu.azurewebsites.net/weatherforecast si el nombre del sitio que creó anteriormente era smpapianu.

Tarea 3: Obtención de métricas actualizadas en Application Insights

  1. Vuelva a la ventana del explorador que muestra la aplicación web de Azure en Azure Portal.

  2. En la hoja Application Insights de la aplicación web, seleccione el vínculo Ver los datos de Application Insights.

  3. En la hoja Application Insights, revise las métricas recopiladas en los iconos del centro de la hoja, incluido el número de solicitudes de servidor que se han producido y el tiempo medio de respuesta del servidor.

    En la captura de pantalla siguiente se muestran las métricas de Application Insights de la aplicación web de Azure en Azure Portal.

    Métricas de Application Insights de la aplicación web de Azure en Azure Portal

    Nota: Las métricas actualizadas pueden tardar hasta cinco minutos en aparecer en los gráficos de métricas de Application Insights.

Tarea 4: Visualización de métricas en tiempo real en Application Insights

  1. En la hoja Application Insights, en la sección Investigar, haga clic en Métricas en directo.

  2. Vuelva a la ventana del explorador que muestra la aplicación de API de destino que se ejecuta en la aplicación web de Azure de destino (que tiene como destino la ruta de acceso relativa /weatherforecast en la dirección URL de destino) y, a continuación, actualice la página del explorador varias veces.

  3. Cambie a la ventana del explorador que muestra la hoja Métricas en directo y revise su contenido.

    Nota: La sección Solicitudes entrantes debe actualizarse en cuestión de segundos y mostrar las solicitudes realizadas a la API web.

Revisar

En este ejercicio, ha configurado y probado el registro de Application Insights de la aplicación de API web y ha visto información activa sobre las solicitudes que se realizan.