Condividi tramite


Risolvere i problemi relativi all'arresto o alla segnalazione di errori dell'app per le funzioni

Scenari comuni, messaggi di errore e sintomi

Gli errori dell'app per le funzioni di Microsoft Azure rientrano in genere in tre categorie principali: problemi di configurazione, problemi relativi al codice del cliente e problemi della piattaforma. Questo articolo illustra in dettaglio questi problemi e introduce gli strumenti di diagnostica appropriati per la risoluzione dei problemi.

Problemi di configurazione

Questi problemi sono i più comuni. Includono:

Problemi relativi al codice del cliente

Questi problemi presentano le cause seguenti:

  • Modelli di codice difettosi che causano un utilizzo elevato di CPU o memoria, esaurimento SNAT o eccezioni di runtime (ad esempio, divisione per zero o riferimento Null).
  • Funzioni a esecuzione prolungata o inefficienti particolarmente problematiche nei piani a consumo a causa di vincoli di timeout.

Per altre informazioni, vedere le risorse seguenti:

Problemi della piattaforma

Questi problemi sono meno comuni, ma in genere hanno un effetto maggiore:

Un tipico messaggio di errore è:

È possibile che si verifichino errori comuni, ad esempio i seguenti:

Sintomi da controllare

Strumenti di diagnostica

Per identificare e risolvere i problemi, è possibile usare gli strumenti seguenti nel portale di Azure.

Errore inattivo o segnalazione dell'app per le funzioni (anteprima)

Per accedere a questo strumento, seguire questa procedura:

  1. Accedi al portale di Azure.
  2. Aprire l'app per le funzioni.
  3. Selezionare Diagnostica e risoluzione dei problemi.
  4. Cercare l'app per le funzioni inattiva o segnalare errori (anteprima).

Funzionalità di questo strumento

  • Automatizza i controlli di risoluzione dei problemi principali usando i rilevatori esistenti.
  • Fornisce un rumore minimo e l'analisi della causa radice mirata.
  • Supporta la diagnostica conversazionale.

Categorie di problemi

Gli errori di tempo di inattività dell'app per le funzioni sono classificati come segue.

Problemi di configurazione comuni

  • Impostazioni dell'applicazione configurate in modo errato
  • Configurazione dell'account di archiviazione non corretta o non raggiungibile
  • Problemi di autorizzazione di accesso di Key Vault
  • Problemi di autenticazione dell'identità gestita
  • Configurazione errata dell'associazione o del trigger
  • Problemi relativi alla connettività di rete

Problemi relativi alle risorse di codice e di runtime

  • Utilizzo elevato di CPU o memoria
  • Esaurimento della porta SNAT
  • Esaurimento connessione TCP
  • Funzioni a esecuzione prolungata o bloccate
  • Eccezioni e errori di runtime
  • Gestione degli errori insufficiente o logica di ripetizione dei tentativi

Controlli di diagnostica eseguiti

Il flusso di lavoro di diagnostica valuta gli aspetti seguenti dello spp della funzione:

  • Informazioni generali
    • Tipo di piano di hosting (Consumo, Premium, Dedicato, Flex)
    • Versione di runtime
    • Piattaforma (Linux o Windows)
    • Tipi di trigger e associazioni
  • Problemi di avvio
    • Eventi di diagnostica durante l'avvio dell'app
    • Analisi della cronologia offline per tempi di inattività imprevisti
  • Distribuzioni recenti
    • Evidenzia le distribuzioni che potrebbero avere interessato l'app
  • Convalida della versione del runtime e del linguaggio
    • Conferma l'uso delle versioni supportate
  • Controlli di configurazione
    • Verifica le impostazioni obbligatorie dell'app
    • Verifica la configurazione dell'insieme di credenziali delle chiavi e dell'identità gestita
    • Verifica la presenza di problemi di SyncTrigger
    • Rileva conflitti di nomi host funzione
  • Versioni dell'estensione
    • Identifica le estensioni obsolete o non supportate
  • Configurazione del piano di hosting
    • Analizza il comportamento di configurazione e ridimensionamento
    • Verifica la presenza di problemi di esaurimento delle porte SNAT, cpu elevata e memoria
    • Include avvisi di rischio:
      • Per i piani dedicati: verifica che AlwaysOn sia abilitato
      • Per Elastic Premium: controlla il routing e il ridimensionamento della rete virtuale
  • Integrità esecuzione
    • Rileva:
      • Errori di esecuzione
      • Funzioni nontriggering
      • Esecuzioni bloccate o a esecuzione prolungata
  • Analisi basata sull'intelligenza artificiale
    • Usa OpenAI per rilevare i modelli di problema e fornire raccomandazioni contestuali

Query di Application Insights

Per la diagnostica, eseguire queste query in Application Insights:

  • Richieste per ruolo di lavoro (ultimi 30 minuti):

    requests
    | where timestamp > ago(30m)
    | summarize count() by cloud_RoleInstance, bin(timestamp, 1m)
    | render timechart
    
  • Tracce per gli errori (ultimi 30 minuti):

    traces 
    | where timestamp > ago(30m)
    | where customDimensions.LogLevel == "Error"
    
  • Eccezioni di runtime (ultimi 30 minuti):

    exceptions
    | where timestamp > ago(30m)
    

Annotazioni

Il campionamento è abilitato per impostazione predefinita. Se necessario, disabilitare temporaneamente questa funzionalità durante un'indagine.

Per altre informazioni, vedere Analizzare i dati di telemetria dell'app per le funzioni di Azure in Application Insights.

Strumento di convalida di rete

Annotazioni

Questo strumento si applica a tutti i piani di hosting, ad eccezione dei piani a consumo di Windows e Linux.

Se l'app mostra errori come FAILED TO INITIALIZE RUN FROM PACKAGE.txt o host.json not found, usare lo strumento di risoluzione dei problemi di rete per risolvere gli errori.

Per accedere allo strumento, seguire questa procedura:

  1. Accedi al portale di Azure.
  2. Passare a Diagnosticare e risolvere i problemi.
  3. Cercare Strumento di risoluzione dei problemi di connettività.

Questo strumento verifica la presenza di:

  • Risoluzione DNS
  • Accesso all'archiviazione e all'insieme di credenziali delle chiavi
  • Restrizioni in uscita (rete virtuale, gruppo di sicurezza di rete, firewall)

Quando si usa il validator di rete, assicurarsi che:

  • L'integrazione della rete virtuale è configurata correttamente.
  • Non sono presenti blocchi endpoint o firewall.

Per altre informazioni, vedere le risorse seguenti:

Log Kudu (SCM)

Annotazioni

Questo strumento si applica a tutti i piani di hosting, ad eccezione dei piani Linux Consumption e Flex Consumption.

Per informazioni su come accedere e usare i log Kudu (SCM), vedere Accedere a Kudu per l'app.

Altri log

  • Log host: %HOME%\LogFiles\Application\Functions\Host
  • Log delle funzioni: %HOME%\LogFiles\Application\Functions\Function\<your_triggername>
  • Log a livello di sistema: %HOME%\LogFiles\Eventlog.xml

Per altre informazioni, vedere Informazioni sul file system del servizio app di Azure.