Overvågning af hele løsningen

Fuldført

I dette undermodul kigger vi på overvågning af hele løsningen.

Indførelsen

Aktivering af overvågning på tværs af nutidens komplekse databehandlingsmiljøer kræver indsamling af driftsdata fra alle lag og komponenter i et distribueret system. Du har brug for dyb indsigt i disse data og for at kombinere dem med forskellige perspektiver for at understøtte de mange interessenter i din organisation.

Azure Monitor indsamler data fra forskellige typer kilder, hvor du kan bruge dem til analyse, visualisering og beskeder. Det giver dig dyb indsigt på tværs af alle dine overvågede ressourcer og endda med data fra andre tjenester, der gemmer deres data i Azure Monitor.

Loganalyse

Logfiler er hændelser, der opstod i systemet. Logge kan indeholde forskellige typer data og kan være struktureret eller frihåndstekst med et tidsstempel. Logge kan oprettes sporadisk, da hændelser i miljøet genererer logposter. Et system, der er under kraftig belastning, genererer typisk mere logvolumen.

Logge i Azure Monitor er værdifulde til at identificere de underliggende årsager til problemer. Data, som Azure Monitor Logs indsamler, gemmes i et eller flere Log Analytics-arbejdsområder. Data hentes fra et Log Analytics-arbejdsområde ved hjælp af en logforespørgsel, som er en skrivebeskyttet anmodning om at behandle data og returnere resultater. Logforespørgsler skrives i KQL (Kusto Query Language), som er det samme forespørgselssprog, som Azure Data Explorer bruger.

Seddel

Dit eksempelprogram til Azure Spring Apps er allerede konfigureret med et Log Analytics-arbejdsområde. Du kan finde flere oplysninger om KQL--syntaks i oversigtsenheden sidst i denne oplæring.

Brug Log Analytics

Der er faktisk tre måder at få adgang til dit programs logge på: Azure Storage, Azure Events Hub og Log Analytics. Vi fokuserer her på Log Analytics, fordi det er det mest almindelige og er integreret i Azure Spring Apps til overvågning af målepunkter.

Vigtig

Logdataindtagelsestiden i Azure Monitor kan tage op til 15 minutter. Hvis der ikke findes data i Log Analytics, kan det tage ekstra tid at indtage Azure Spring Apps-logdata.

  1. Åbn Azure Portal.

  2. Vælg Azure Spring Apps- på listen over Azure-tjenester.

  3. Vælg din Forekomst af Azure Spring Apps.

  4. Derefter skal du i afsnittet overvågning vælge Logge.

  5. I søgefeltet -forespørgsel:

    Skærmbillede, der viser forespørgsel til Azure Spring Apps-logge.

    • Hvis du vil have vist logge, skal du køre en forespørgsel, f.eks.:

      AppPlatformLogsforSpring
      | limit 50
      
    • Hvis du vil have vist målepunkter, skal du angive en forespørgsel, f.eks.:

      AzureMetrics
      | limit 50
      
    • Du kan søge i loggene for det specifikke program eller den specifikke forekomst ved at angive en filterbetingelse:

      AppPlatformLogsforSpring
      | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName"
      | limit 50
      

Analysér programlogfilerne

Programlogge indeholder vigtige oplysninger og detaljerede logge om programmets tilstand, ydeevne og meget mere. I næste afsnit leverer vi forespørgsler, der kan hjælpe dig med at forstå dit programs aktuelle og tidligere tilstande.

Vis programlogge fra Azure Spring Apps

  1. Åbn Azure Portal.

  2. Vælg Azure Spring Apps- på listen over Azure-tjenester.

  3. Vælg din Forekomst af Azure Spring Apps.

  4. Derefter skal du i afsnittet overvågning vælge Logge.

  5. I søgefeltet -forespørgsel:

    • Hvis du vil gennemse en liste over programlogge fra Azure Spring Apps sorteret efter tidspunkt med de nyeste logge, der vises først, skal du køre følgende forespørgsel:

      AppPlatformLogsforSpring
      | project TimeGenerated , ServiceName , AppName , InstanceName , Log
      | sort by TimeGenerated desc
      
    • Hvis du vil gennemse usorterede logposter, der nævner en fejl eller en undtagelse, skal du køre følgende forespørgsel:

      AppPlatformLogsforSpring
      | project TimeGenerated , ServiceName , AppName , InstanceName , Log
      | where Log contains "error" or Log contains "exception"
      
    • Hvis du vil oprette et cirkeldiagram, der viser antallet af fejl og undtagelser, der logføres af dit program, skal du køre følgende forespørgsel:

      AppPlatformLogsforSpring
      | where TimeGenerated > ago(1h)
      | where Log contains "error" or Log contains "exception"
      | summarize count_per_app = count() by AppName
      | sort by count_per_app desc
      | render piechart
      

Databaseovervågning

Overvågning af data om dine servere hjælper dig med at foretage fejlfinding og optimere til din arbejdsbelastning. Azure Database til MySQL indeholder forskellige målepunkter, der giver indsigt i serverens funktionsmåde.

I Azure Database til MySQL er den langsomme forespørgselslog tilgængelig for brugerne. Adgang til transaktionsloggen understøttes ikke. Du kan bruge den langsomme forespørgselslog til at identificere flaskehalse i ydeevnen i forbindelse med fejlfinding.

I vores eksempelprogram er dine langsomme forespørgselslogge konfigureret til at blive føjet til Azure Monitor Logs via diagnosticeringslogge, og du kan foretage yderligere analyse af dine langsomme forespørgsler. Følgende er eksempelforespørgsler, der kan hjælpe dig med at komme i gang/

Vigtig

Dataindtagelsestiden for MySQL-logdata i Azure Monitor kan tage op til 30 minutter. Hvis der ikke findes data i Log Analytics, kan det tage ekstra tid at indtage MySQL-logdata.

  1. Log på Azure Portal.

  2. Vælg din Azure Database til MySQL-server, du bruger til dine Azure Spring Apps.

  3. Derefter skal du i afsnittet overvågning vælge Logge.

    Skærmbillede, der viser forespørgslen for forespørgsler, der er længere end ét sekund.

  4. I søgefeltet -forespørgsel:

    • Hvis du vil hente alle forespørgsler, der er længere end ét sekund, skal du køre følgende forespørgsel:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      
    • Kør følgende forespørgsel for at få vist de fem længste forespørgsler:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | order by query_time_d desc
      | take 5
      
    • Kør følgende forespørgsel for at opsummere langsomme forespørgsler efter minimum, maksimum, gennemsnit og standardafvigelse:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_s
      
    • Kør følgende forespørgsel for at oprette graf over den langsomme forespørgselsdistribution på en bestemt server:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m)
      | render timechart
      
  5. Du kan også bruge overvågningsloggen til at spore aktivitet på databaseniveau. Det bruges ofte til overholdelse af angivne standarder. Overvågningslogge er integreret med Azure Monitor Diagnostic Logs. I dit eksempel har vi aktiveret overvågningslogge på din MySQL-server, så du kan foretage yderligere analyse af dine overvågede hændelser.

    • Her er et eksempel på en forespørgsel, der henter den generelle MySQL-log:

      AzureDiagnostics
      | where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
      | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
      | order by TimeGenerated desc
      

Overvågning af brugergrænseflade

Hvis du føjer Application Insights til dit sidescript, får du tidsindstillinger for sideindlæsninger og AJAX-kald, antal og oplysninger om browserundtagelser og AJAX-fejl, også brugere og sessionsantal. Du kan segmentere alle disse målepunkter efter side, klientversion af operativsystem og browser, geoplacering og andre dimensioner. Du kan angive beskeder om antal fejl eller langsom sideindlæsning, og ved at indsætte sporingskald i din JavaScript-kode kan du spore, hvordan de forskellige funktioner i dit websideprogram bruges.

Du kan bruge Application Insights med en hvilken som helst webside. du skal blot tilføje et kort stykke JavaScript. Hvis din webtjeneste er Java, kan du bruge sdk'erne på serversiden med JavaScript SDK på klientsiden til at få en forståelse af appens ydeevne.

Seddel

Du kan finde flere oplysninger om overvågning af brugergrænsefladen i oversigtsenheden i slutningen af denne oplæring.