Delen via


Application Insights-logboeken ontbreken of zijn onjuist voor Azure Functions-apps

U kunt de functie-app nauwlettend bewaken via de integratie tussen Azure Functions en Application Insights. En u kunt Application Insights gebruiken zonder aangepaste configuratie.

Als de Application Insights-logboeken ontbreken of als de gegevens gedeeltelijk of onjuist lijken te zijn, gebruikt u de volgende stappen om het probleem op te lossen.

Configuratie van functie-app controleren

  1. Navigeer naar uw functie-app in de Azure Portal.

  2. Selecteer Problemen vaststellen en oplossen om Azure Functions diagnostische gegevens te openen.

  3. Typ functieconfiguratiecontroles in de zoekbalk en open deze.

  4. U ziet een diagnostisch rapport van alle configuratiecontroles voor functie-apps. Met name voor Application Insights worden de volgende controles uitgevoerd:

    • Er bestaat slechts een van de volgende verbindingsinstellingen:

      • APPINSIGHTS_INSTRUMENTATIONKEY Application Insights-instrumentatiesleutel

      • APPLICATIONINSIGHTS_CONNECTION_STRING Verbinding

        U wordt aangeraden de APPLICATIONINSIGHTS_CONNECTION_STRING te gebruiken voor stabieler gedrag. De mogelijkheid om te gebruiken APPINSIGHTS_INSTRUMENTATIONKEY is in 2025 afgeschaft.

    • De AzureWebJobsDashboard ingebouwde logboekregistratie is uitgeschakeld, zoals aanbevolen.

    • Steekproeven zijn ingeschakeld voor de Azure Functions telemetrie (standaard ingeschakeld).

Aanbeveling: De functie-app moet versie 4 hebben en de runtimeversie moet ten minste 4.15.2xx zijn. Dit komt doordat u vanaf deze versie de logboekstromen van Azure Functions naar de Application Insights-service kunt bijhouden. Door de logboekstromen te bewaken, kunt u controleren op ontbrekende logboeken.

Logboeken ontbreken of zijn gedeeltelijk

Application Insights verzamelt logboek-, prestatie- en foutgegevens. Steekproefconfiguratie wordt gebruikt om het volume van telemetrie te verminderen. De functie Sampling is standaard ingeschakeld met de instellingen die worden weergegeven in het volgende host.json voorbeeld. Uitgesloten typen worden niet bemonsterd.

{
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "maxTelemetryItemsPerSecond" : 20,
        "excludedTypes": "Request;Exception"
      }
    }
  }
}

Als u een gedeeltelijk ontbrekende logboek ziet, kan dit optreden vanwege steekproeven. Als u de werkelijke steekproeffrequentie wilt bepalen, gebruikt u een Analysequery die gebruikmaakt van het vereiste tijdsinterval dat wordt weergegeven in het volgende codefragment. Als u ziet dat de TelemetrySavedPercentage voor een steekproeftype kleiner is dan 100, wordt dat type telemetrie bemonsterd.

union requests,dependencies,pageViews,browserTimings,exceptions,traces
| where timestamp > todatetime("mm/dd/yyyy hh:mm:ss") and timestamp < todatetime("mm/dd/yyyy hh:mm:ss")
| summarize TelemetrySavedPercentage = 100/avg(itemCount), TelemetryDroppedPercentage = 100-100/avg(itemCount) by bin(timestamp, 1d), itemType
| sort by timestamp asc

Zie Gegevens verzamelen, bewaren en opslaan in Application Insights voor meer informatie.

Volume en uitgebreidheid van logboeken beheren

U kunt de geschreven logboeken vergroten of onderdrukken. Hiervoor kunt u een combinatie van logboekniveau en categorieën gebruiken zoals geconfigureerd in host.json.

De Azure Functions-logboekregistratie bevat een categorie voor elk logboek. De categorie geeft aan welk deel van de runtimecode of uw functiecode het logboek heeft gegenereerd. Bijvoorbeeld:

  • De Host.Results en Function.<YOUR_FUNCTION_NAME> zijn enkele van de beschikbare categorieën.
  • Aan elk logboek wordt een logboekniveau toegewezen. De waarde geeft de relatieve urgentie aan, zoals Warning of Information.

Zie de andere beschikbare categorieën en logboekniveaus voor meer informatie.

U kunt configureren hoe uw toepassing de logboeken moet schrijven door het voorbeeldcodefragment te volgen:

{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "default": "Information", // catch all default, with modifications below for individual categories.
      "Function": "Warning", // Warning level from all Functions (except the ones configured below).
      "Host.Aggregator": "Trace", // Log all traces in the 'customMetrics' table of (and shown on Metrics/Alerts blade in AI) - use either this or Host.Results
      "Host.Results": "Error", // Error and Critical requests are only logged in the 'requests' table of the AI (and shown on Monitor Functions blade in Functions App) - use either this or Host.Aggregator
      "Function.Function1": "Information", //Information level logs from Function 1, logged in 'traces', 'dependencies' and 'customMetrics' tables of AI
      "Function.Function2.User": "Information" //user code logs from Function2, logged in 'traces' table of AI
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "maxTelemetryItemsPerSecond": 1,
        "excludedTypes": "Exception"
      }
    }
  }
}

Als u deze waarden wilt configureren op het niveau van app-instellingen (om opnieuw implementeren bij host.json wijzigingen te voorkomen), overschrijft u specifieke host.json waarden door een equivalente waarde te maken als een toepassingsinstelling. Zie Host.json-waarden overschrijven voor meer informatie.

Zie functions-log-suppression voor meer voorbeelden over het onderdrukken van logboeken.

De geïntegreerde functie-app van het virtuele netwerk genereert geen logboeken

Als een functie-app is geïntegreerd met een virtueel netwerk, moet u poort 443 openen voor uitgaand verkeer in uw serverfirewall, zodat de Application Insights SDK of Application Insights-agent gegevens naar de portal kan verzenden voor de volgende URL's:

  • dc.applicationinsights.azure.com
  • dc.applicationinsights.microsoft.com
  • dc.services.visualstudio.com
  • * .in.applicationinsights.azure.com

Zie IP-adressen die worden gebruikt door Azure Monitor voor meer informatie.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.