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:
- Comprendre què és Azure Application Insights.
- Aprendre a configurar Application Insights en una aplicació.
- Explorar les funcionalitats clau d'Application Insights.
- 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
- Inicia sessió al portal d'Azure.
- Selecciona "Crea un recurs" i cerca "Application Insights".
- Fes clic a "Crea" i completa els detalls necessaris (nom, grup de recursos, regió).
- Fes clic a "Revisa i crea" i després a "Crea".
Pas 2: Integrar Application Insights en una aplicació
Exemple en una aplicació .NET
-
Afegeix el paquet NuGet
Microsoft.ApplicationInsights.AspNetCore
al teu projecte.dotnet add package Microsoft.ApplicationInsights.AspNetCore
-
Configura Application Insights al fitxer
Startup.cs
:public void ConfigureServices(IServiceCollection services) { services.AddApplicationInsightsTelemetry(Configuration["ApplicationInsights:InstrumentationKey"]); // Altres serveis }
-
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
- 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); } }
- 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; }
- 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.
- 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
- Crea un recurs d'Application Insights al portal d'Azure.
- Afegeix el paquet NuGet
Microsoft.ApplicationInsights.AspNetCore
al teu projecte .NET. - Configura Application Insights al fitxer
Startup.cs
iappsettings.json
. - Desplega l'aplicació i verifica que Application Insights està recollint dades.
Solució de l'exercici 1
-
Crear el recurs d'Application Insights:
- Segueix els passos descrits anteriorment per crear un recurs d'Application Insights al portal d'Azure.
-
Afegeix el paquet NuGet:
dotnet add package Microsoft.ApplicationInsights.AspNetCore
-
Configura Application Insights:
public void ConfigureServices(IServiceCollection services) { services.AddApplicationInsightsTelemetry(Configuration["ApplicationInsights:InstrumentationKey"]); // Altres serveis }
{ "ApplicationInsights": { "InstrumentationKey": "la_teva_clau_d'instrumentació" } }
-
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.
Curs d'Azure
Mòdul 1: Introducció a Azure
- Què és Azure?
- Configuració del compte d'Azure
- Visió general del portal d'Azure
- Gestor de recursos d'Azure
Mòdul 2: Serveis bàsics d'Azure
Mòdul 3: Bases de dades d'Azure
- Base de dades SQL d'Azure
- Azure Cosmos DB
- Base de dades d'Azure per a MySQL
- Base de dades d'Azure per a PostgreSQL
Mòdul 4: Seguretat d'Azure
- Gestió d'identitat i accés d'Azure
- Centre de seguretat d'Azure
- Azure Key Vault
- Protecció DDoS d'Azure
Mòdul 5: Azure DevOps
Mòdul 6: Serveis avançats d'Azure
- Servei de Kubernetes d'Azure (AKS)
- Funcions d'Azure
- Aplicacions lògiques d'Azure
- Serveis cognitius d'Azure
Mòdul 7: Monitoratge i gestió
- Monitor d'Azure
- Anàlisi de registres d'Azure
- Informació d'aplicacions d'Azure
- Automatització d'Azure