Introducció

Azure Application Insights és un servei de monitoratge que permet als desenvolupadors detectar problemes de rendiment i errors en les seves aplicacions. Proporciona una visió detallada del comportament de l'aplicació, permetent una anàlisi profunda i la resolució de problemes de manera proactiva.

Objectius del tema:

  1. Comprendre què és Azure Application Insights.
  2. Aprendre a configurar Application Insights en una aplicació.
  3. Explorar les funcionalitats clau d'Application Insights.
  4. Analitzar dades i mètriques recollides per Application Insights.

Què és Azure Application Insights?

Azure Application Insights és una extensió de l'Azure Monitor que proporciona eines per monitoritzar el rendiment, la disponibilitat i l'ús de les aplicacions. És compatible amb una àmplia gamma de plataformes, incloent .NET, Java, Node.js, i més.

Funcionalitats clau:

  • Monitoratge de rendiment: Mesura el temps de resposta i la càrrega de les sol·licituds.
  • Detecció d'errors: Identifica excepcions i errors en l'aplicació.
  • Anàlisi d'ús: Proporciona informació sobre com els usuaris interactuen amb l'aplicació.
  • Alertes: Configura alertes per a esdeveniments específics o llindars de rendiment.

Configuració d'Application Insights

Pas 1: Crear un recurs d'Application Insights a Azure

  1. Inicia sessió al portal d'Azure.
  2. Selecciona "Crea un recurs" i cerca "Application Insights".
  3. Fes clic a "Crea" i completa els detalls necessaris (nom, grup de recursos, regió).
  4. Fes clic a "Revisa i crea" i després a "Crea".

Pas 2: Integrar Application Insights en una aplicació

Exemple en una aplicació .NET

  1. Afegeix el paquet NuGet Microsoft.ApplicationInsights.AspNetCore al teu projecte.

    dotnet add package Microsoft.ApplicationInsights.AspNetCore
    
  2. Configura Application Insights al fitxer Startup.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddApplicationInsightsTelemetry(Configuration["ApplicationInsights:InstrumentationKey"]);
        // Altres serveis
    }
    
  3. Afegeix la clau d'instrumentació al fitxer appsettings.json:

    {
        "ApplicationInsights": {
            "InstrumentationKey": "la_teva_clau_d'instrumentació"
        }
    }
    

Pas 3: Verificar la integració

Després de desplegar l'aplicació, pots verificar que Application Insights està recollint dades accedint al portal d'Azure i navegant al recurs d'Application Insights. Aquí podràs veure mètriques en temps real, sol·licituds, errors i altres dades rellevants.

Funcionalitats clau d'Application Insights

  1. Monitoratge de sol·licituds

Application Insights recull dades sobre cada sol·licitud HTTP que rep l'aplicació, incloent el temps de resposta, l'URL, i l'estat de la resposta.

Exemple de codi:

public async Task<IActionResult> Index()
{
    var telemetryClient = new TelemetryClient();
    var operation = telemetryClient.StartOperation<RequestTelemetry>("IndexOperation");

    try
    {
        // Lògica de l'aplicació
        return View();
    }
    catch (Exception ex)
    {
        telemetryClient.TrackException(ex);
        throw;
    }
    finally
    {
        telemetryClient.StopOperation(operation);
    }
}

  1. Detecció d'excepcions

Application Insights pot detectar i registrar excepcions no gestionades, proporcionant informació detallada sobre l'error.

Exemple de codi:

try
{
    // Lògica de l'aplicació
}
catch (Exception ex)
{
    var telemetryClient = new TelemetryClient();
    telemetryClient.TrackException(ex);
    throw;
}

  1. Anàlisi d'ús

Application Insights proporciona informació sobre com els usuaris interactuen amb l'aplicació, incloent quines pàgines visiten i quant de temps passen en cada pàgina.

  1. Alertes

Pots configurar alertes per a esdeveniments específics o llindars de rendiment. Per exemple, pots configurar una alerta per rebre una notificació si el temps de resposta mitjà supera un cert llindar.

Exercici pràctic

Exercici 1: Configurar Application Insights en una aplicació .NET

  1. Crea un recurs d'Application Insights al portal d'Azure.
  2. Afegeix el paquet NuGet Microsoft.ApplicationInsights.AspNetCore al teu projecte .NET.
  3. Configura Application Insights al fitxer Startup.cs i appsettings.json.
  4. Desplega l'aplicació i verifica que Application Insights està recollint dades.

Solució de l'exercici 1

  1. Crear el recurs d'Application Insights:

    • Segueix els passos descrits anteriorment per crear un recurs d'Application Insights al portal d'Azure.
  2. Afegeix el paquet NuGet:

    dotnet add package Microsoft.ApplicationInsights.AspNetCore
    
  3. Configura Application Insights:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddApplicationInsightsTelemetry(Configuration["ApplicationInsights:InstrumentationKey"]);
        // Altres serveis
    }
    
    {
        "ApplicationInsights": {
            "InstrumentationKey": "la_teva_clau_d'instrumentació"
        }
    }
    
  4. Desplega l'aplicació i verifica les dades al portal d'Azure.

Resum

En aquesta secció, hem après què és Azure Application Insights i com configurar-lo en una aplicació. Hem explorat les funcionalitats clau, com el monitoratge de sol·licituds, la detecció d'excepcions, l'anàlisi d'ús i les alertes. També hem realitzat un exercici pràctic per reforçar els conceptes apresos. Amb Application Insights, pots obtenir una visió detallada del rendiment i l'ús de la teva aplicació, permetent-te millorar la seva qualitat i fiabilitat.

© Copyright 2024. Tots els drets reservats