Dela via


Lösa problem med "Funktionsappen är nere eller rapporterar fel"

Vanliga scenarier, felmeddelanden och symtom

Microsoft Azure-funktionsappfel passar vanligtvis in i tre huvudkategorier: konfigurationsproblem, problem med kundkod och plattformsproblem. Den här artikeln utforskar dessa problem i detalj och introducerar lämpliga diagnostikverktyg för felsökning.

Konfigurationsproblem

De här problemen är de vanligaste. De omfattar:

Problem med kundkod

Dessa problem har följande orsaker:

  • Felaktiga kodmönster som orsakar hög cpu- eller minnesanvändning, SNAT-överbelastning eller körningsundantag (till exempel division med noll- eller null-referens).
  • Tidskrävande eller ineffektiva funktioner som är särskilt problematiska för förbrukningsplaner på grund av tidsgränsbegränsningar.

Mer information finns i följande resurser:

Plattformsproblem

Dessa problem är mindre vanliga men har vanligtvis en större effekt:

Vanliga felmeddelanden

Du kan få vanliga fel, till exempel följande:

Symtom att hålla utkik efter

  • Funktionen utlöses eller körs inte. Se Analysera telemetri för Azure-funktionsappen i Application Insights.

  • Anropshistorik saknas eller oväntade luckor.

  • Hög resursförbrukning (cpu- eller minnestoppar som flaggas av detektorer).

  • Tidsgränser eller långa svarstider, särskilt i förbrukningsplaner (högst 230 sekunder).

  • Funktioner visas inte på översiktssidan.

Diagnosverktyg

För att identifiera och lösa problem kan du använda följande verktyg i Azure-portalen.

Funktionsappen är nere eller rapporterar fel (förhandsversion)

Följ dessa steg för att komma åt det här verktyget:

  1. Logga in på Azure-portalen.
  2. Öppna funktionsapp.
  3. Välj Diagnostisera och lösa problem.
  4. Sök efter funktionsappens ned- eller rapporteringsfel (förhandsversion).

Funktioner i det här verktyget

  • Automatiserar nyckelfelsökningskontroller med hjälp av befintliga detektorer.
  • Ger minimalt brus och fokuserad rotorsaksanalys.
  • Stöder konversationsdiagnostik.

Problemkategorier

Funktionsappens avbrottsfel kategoriseras på följande sätt.

Vanliga konfigurationsproblem

  • Felkonfigurerade programinställningar
  • Felaktig eller oåtkomlig konfiguration av lagringskonto
  • Problem med åtkomstbehörighet för Key Vault
  • Problem med autentisering av hanterad identitet
  • Felkonfiguration av bindning eller utlösare
  • Problem med nätverksanslutning

Problem med kod- och körningsresurser

  • Hög processor- eller minnesförbrukning
  • SNAT-portöverbelastning
  • TCP-anslutningsöverbelastning
  • Tidskrävande eller fastnade funktioner
  • Körningsundundentag och fel
  • Dålig felhantering eller omprövningslogik

Diagnostikkontroller som utförts

Diagnostikarbetsflödet utvärderar följande aspekter av din funktions-spp:

  • Allmän information
    • Typ av värdplan (Förbrukning, Premium, Dedikerad, Flex)
    • Körningsversion
    • Plattform (Linux eller Windows)
    • Utlösartyper och bindningar
  • Startproblem
    • Diagnostikhändelser under appstart
    • Analys av offlinehistorik för oväntade driftstopp
  • Senaste distributioner
    • Markerar distributioner som kan ha påverkat appen
  • Validering av körnings- och språkversion
    • Bekräftar användningen av versioner som stöds
  • Konfigurationskontroller
    • Verifierar obligatoriska appinställningar
    • Verifierar Konfiguration av Nyckelvalv och Hanterad identitet
    • Söker efter Problem med SyncTrigger
    • Identifierar kollisioner med funktionsvärdens namn
  • Tilläggsversioner
    • Identifierar inaktuella eller tillägg som inte stöds
  • Konfiguration av värdplan
    • Analyserar konfigurations- och skalningsbeteende
    • Söker efter problem med SNAT-portöverbelastning, hög CPU och minne
    • Innehåller riskaviseringar:
      • För dedikerade planer: verifierar att AlwaysOn är aktiverat
      • För Elastic Premium: kontrollerar VNet-routning och skalning
  • Körningshälsa
    • Upptäcker:
      • Körningsfel
      • Icke-utlösande funktioner
      • Fastnade eller långvariga körningar
  • AI-baserad analys
    • Använder OpenAI för att identifiera problemmönster och ge kontextuella rekommendationer

Application Insights-frågor

För diagnostik kör du dessa frågor i Application Insights:

  • Begäranden per arbetare (senaste 30 minuterna):

    requests
    | where timestamp > ago(30m)
    | summarize count() by cloud_RoleInstance, bin(timestamp, 1m)
    | render timechart
    
  • Spårning av fel (senaste 30 minuterna):

    traces 
    | where timestamp > ago(30m)
    | where customDimensions.LogLevel == "Error"
    
  • Körningsundundentag (senaste 30 minuterna):

    exceptions
    | where timestamp > ago(30m)
    

Anmärkning

Sampling är aktiverat som standard. Om det är nödvändigt inaktiverar du den här funktionen tillfälligt under en undersökning.

Mer information finns i Analysera telemetri för Azure-funktionsappar i Application Insights.

Verktyg för nätverksverifierare

Anmärkning

Det här verktyget gäller för alla värdplaner, förutom förbrukningsplanerna för Windows och Linux.

Om din app visar fel som FAILED TO INITIALIZE RUN FROM PACKAGE.txt eller host.json not foundanvänder du nätverksfelsökaren för att lösa felen.

Följ dessa steg för att komma åt verktyget:

  1. Logga in på Azure-portalen.
  2. Gå till Diagnostisera och lösa problem.
  3. Sök efter felsökare för anslutning.

Det här verktyget söker efter:

  • DNS-upplösning
  • Åtkomst till lagring och Key Vault
  • Utgående begränsningar (VNet, NSG, brandväggar)

När du använder nätverksverifieraren kontrollerar du att:

  • VNet-integreringen är korrekt konfigurerad.
  • Inga slutpunkter eller brandväggsblock finns på plats.

Mer information finns i följande resurser:

Kudu-loggar (SCM)

Anmärkning

Det här verktyget gäller för alla värdplaner, förutom Linux-förbruknings- och Flex Consumption-abonnemangen.

Information om hur du kommer åt och använder Kudu-loggar (SCM) finns i Access Kudu för din app.

Andra loggar

  • Värdloggar: %HOME%\LogFiles\Application\Functions\Host
  • Funktionslogg: %HOME%\LogFiles\Application\Functions\Function\<your_triggername>
  • Logg på systemnivå: %HOME%\LogFiles\Eventlog.xml

Mer information finns i Förstå Azure App Service-filsystemet.