Delen via


Zelfdiagnoselogboeken verzamelen voor Application Insights SDK's

Wanneer u een toepassing instrumenteren via automatische instrumentatie of handmatige instrumentatie van Application Insights met een Application Insights SDK, kunnen er problemen optreden met de Application Insights SDK zelf. In dit scenario zijn diagnostische logboeken van de Application Insights SDK nodig om problemen met Application Insights te detecteren en diagnosticeren.

In dit artikel wordt uitgelegd hoe u zelfdiagnoselogboeken verzamelt voor de volgende Application Insights SDK's:

Application Insights .NET/.NET Core Framework SDK

Vanaf versie 2.18.0-beta2 van de Application Insights .NET/.NET Core Framework SDK wordt de functie 'zelfdiagnose' verzonden om logboeken van de SDK zelf vast te leggen en naar een logboekbestand in een opgegeven map te schrijven.

Configuratie van zelfdiagnose

Configureer zelfdiagnose met behulp van een bestand met de naam ApplicationInsightsDiagnostics.json met de volgende inhoud:

{
    "LogDirectory": "<LogDirectory>",
    "FileSize": <FileSize>,
    "LogLevel": "<LogLevel>"
}

Notitie

  • Het configuratiebestand voor zelfdiagnose moet geldige parameters hebben voor de Application Insights .NET/.NET Core Framework SDK om te parseren. Als het bestand ongeldig of ongeldig is, negeert de SDK het en wordt zelfdiagnose niet ingeschakeld. Dit heeft echter geen invloed op de normale werking van de bewaakte toepassing.
  • Dit configuratiebestand mag niet meer dan 4 kilobytes (KB) zijn. Anders wordt alleen de eerste 4 kB inhoud gelezen.
  • De Application Insights .NET/.NET Core Framework SDK probeert het configuratiebestand elke 10 seconden te lezen en het logboekbestand te maken of omcirkeld te overschrijven.

Hier volgen enkele verklaringen voor de configuratieparameters:

Configuratieparameters Beschrijving
LogDirectory De map waarin het logboekbestand is opgeslagen. Dit kan een absoluut pad of een relatief pad naar de huidige werkmap van de webtoepassing zijn. Dit logboekbestand heeft de naam YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, bijvoorbeeld 20220307-193542.w3wp.exe.7692.log. De bestandsnaam begint met de tijdstempel die wordt gegenereerd wanneer het bestand wordt gemaakt.
FileSize Een positief geheel getal dat de grootte van het logboekbestand in KB aangeeft. Deze waarde moet tussen 1 mb (MB) en 128 MB (inclusief) liggen of worden afgerond op de dichtstbijzijnde boven- of ondergrens. Het logboekbestand overschrijdt deze geconfigureerde maximale grootte niet.
LogLevel Het niveau van de gebeurtenissen die moeten worden vastgelegd. Deze waarde moet overeenkomen met een van de velden van de EventLevel. Lagere ernstniveaus omvatten niveaus met een hogere ernst (bijvoorbeeld Warning de Error en Critical niveaus).

Zelfdiagnose voor een webtoepassing

Als u zelfdiagnose wilt inschakelen, gaat u naar de huidige werkmap van de webtoepassing en maakt u het ApplicationInsightsDiagnostics.json configuratiebestand.

Als u zelfdiagnose wilt uitschakelen, verwijdert u het configuratiebestand. Zelfs wanneer de webtoepassing wordt uitgevoerd, kunt u zelfdiagnose in- of uitschakelen zonder dat u de toepassing opnieuw hoeft te starten.

In de meeste gevallen kunt u het bestand samen met uw toepassing verwijderen. Hier volgen twee manieren om de huidige werkmap te vinden:

  • In Windows gebruikt u Process Explorer.

    Open Process Explorer, selecteer het proces en open het dialoogvenster Eigenschappen . Zoek de huidige map onder Afbeeldingsbestand.

  • Roep de GetCurrentDirectory en AppContext.BaseDirectory methoden aan om de huidige werkmap op te halen.

Zelfdiagnose voor App Service-web-app in Windows

  1. Ga vanuit Azure Portal naar de App Service-web-app.

  2. Ga naar de Kudu-pagina door Advanced Tools>Go te selecteren.

  3. Selecteer in het Kudu-dashboard CMD voor foutopsporingsconsole>.

  4. Navigeer naar de map waar de App Service-web-app zich bevindt, zoals D:\home\site\wwwroot.

  5. Gebruik het symbool '+' bovenaan het Kudu-dashboard om een nieuw bestand te maken in de wwwroot-map en geef het een naam op ApplicationInsightsDiagnostics.json.

    Het ApplicationInsightsDiagnostics.json bestand moet in de< map drive>:\home\site\wwwroot worden geplaatst. Niet alle App Service Web Apps bevinden zich op hetzelfde station. Sommige bevinden zich op het station C: en sommige bevinden zich mogelijk op het station D: . Als u deze wilt vinden, controleert u de velden Sitemap en Temp-map op de standaard-Kudu-pagina.

    Schermopname van de velden Sitemap en Tijdelijke map.

  6. Bewerk en voeg de volgende configuratie toe aan het ApplicationInsightsDiagnostics.json-bestand :

    {
        "LogDirectory": "<drive>:\home\site\wwwroot",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    }
    

    Notitie

    De LogDirectory parameter moet worden ingesteld op een locatie onder <station>:\home voor eenvoudige toegang, maar andere locaties zijn geldig als er voldoende toegang is.

  7. Sla het bestand op.

    Na 10 seconden wordt een nieuw logboekbestand, zoals 20220307-193542.w3wp.exe.7692.log, weergegeven in de map wwwroot .

  8. Verwijder het configuratiebestand of wijzig de naam ervan in ApplicationInsightsDiagnostics.bak.

    Na 10 seconden wordt de logboekregistratie gestopt.

Zelfdiagnose voor App Service-web-app in Linux

  1. Maak op uw lokale computer een bestand en geef het een naam om ApplicationInsightsDiagnostics.json.

  2. Bewerk het bestand en voeg de volgende inhoud toe:

    {
        "LogDirectory": ".",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    } 
    
  3. Sla het bestand op.

  4. Ga vanuit Azure Portal naar de App Service-web-app.

  5. Ga naar de Kudu-pagina door Advanced Tools>Go te selecteren.

  6. Wanneer de browsersessie wordt gestart, voegt u deze toe /newui aan het einde van de URL. De URL in de browser moet er als https://<appname>.scm.azurewebsites.net/newuivolgt uitzien.

  7. Druk op Enter. De Kudu-pagina met de nieuwe gebruikersinterface wordt geopend.

  8. Selecteer Bestandsbeheer in het linkermenu.

  9. Selecteer de sitemap en selecteer vervolgens de map wwwroot .

  10. Sleep het ApplicationInsightsDiagnostics.json bestand naar de map wwwroot .

    Na 10 seconden wordt een nieuw logboekbestand weergegeven in de map wwwroot , bijvoorbeeld 20220307-193542.w3wp.exe.7692.log.

  11. Verwijder het configuratiebestand of wijzig de naam ervan in ApplicationInsightsDiagnostics.bak.

    Na 10 seconden wordt de logboekregistratie gestopt.

Application Insights Java 2.x

U kunt diagnostische logboeken verzamelen voor Application Insights Java 2.6 of een eerdere versie. U doet dit door een <SDKLogger> element toe te voegen onder het hoofdknooppunt van het ApplicationInsights.xml configuratiebestand (in de map resources in uw project). In het <SDKLogger> element kunt u de logboekregistratie instrueren om naar een bestand uit te voeren.

Hier volgt een voorbeeld van het bestand ApplicationInsights.xml :

<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Zie Problemen met Azure-toepassing Insights in een Java-webproject oplossen voor meer informatie.

Application Insights Java 3.x

U kunt diagnostische logboeken verzamelen voor Application Insights Java 3.x met behulp van de functionaliteit zelfdiagnose. Zie Zelfdiagnose om dit te doen.

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 Azure-feedbackcommunity.