Samla in självdiagnostikloggar för Application Insights-SDK:er
När du instrumenterade ett program via automatisk instrumentering i Application Insights eller manuell instrumentering med en Application Insights SDK kan det uppstå problem med själva Application Insights SDK. I det här scenariot behövs diagnostikloggar för Application Insights SDK för att upptäcka och diagnostisera problem med Application Insights.
Den här artikeln beskriver hur du samlar in självdiagnostikloggar för följande Application Insights-SDK:er:
- Application Insights .NET/.NET Core Framework SDK
- Application Insights Java 2.x
- Application Insights Java 3.x
Application Insights .NET/.NET Core Framework SDK
Från version 2.18.0-beta2 av Application Insights .NET/.NET Core Framework SDK levereras funktionen "självdiagnostik" för att samla in loggar från själva SDK:et och skriva dem till en loggfil i en angiven katalog.
Konfiguration av självdiagnostik
Konfigurera självdiagnostik med hjälp av en fil med namnet ApplicationInsightsDiagnostics.json som har följande innehåll:
{
"LogDirectory": "<LogDirectory>",
"FileSize": <FileSize>,
"LogLevel": "<LogLevel>"
}
Kommentar
- Konfigurationsfilen för självdiagnostik måste ha giltiga parametrar för att Application Insights .NET/.NET Core Framework SDK ska parsas. Om filen är ogiltig eller felaktigt formaterad ignorerar SDK:t den och självdiagnostik aktiveras inte. Detta påverkar dock inte det övervakade programmets normala funktion.
- Den här konfigurationsfilen får inte vara längre än 4 kilobyte (KB). I annat fall kommer endast de första 4 KB-innehållet att läsas.
- Application Insights .NET/.NET Core Framework SDK försöker läsa konfigurationsfilen var 10:e sekund och skapa eller skriva över loggfilen cirkulärt.
Här följer några förklaringar till konfigurationsparametrarna:
Konfigurationsparametrar | Beskrivning |
---|---|
LogDirectory |
Katalogen där loggfilen lagras. Det kan vara en absolut sökväg eller en relativ sökväg till webbprogrammets aktuella arbetskatalog. Loggfilen namnges som YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, till exempel 20220307-193542.w3wp.exe.7692.log. Filnamnet börjar med tidsstämpeln som genereras när filen skapas. |
FileSize |
Ett positivt heltal som anger loggfilens storlek i KB. Det här värdet måste vara mellan 1 mb (MB) och 128 MB (inklusive), annars avrundas det till närmaste övre eller nedre gräns. Loggfilen överskrider inte den här konfigurerade maxstorleken. |
LogLevel |
Nivån på de händelser som ska registreras. Det här värdet måste matcha ett av fälten i EventLevel . Lägre allvarlighetsnivåer inkluderar högre allvarlighetsnivåer (till exempel Warning inkluderar Error nivåerna och Critical ). |
Självdiagnostik för ett webbprogram
Om du vill aktivera självdiagnostik går du till webbprogrammets aktuella arbetskatalog och skapar konfigurationsfilen ApplicationInsightsDiagnostics.json .
Om du vill inaktivera självdiagnostik tar du bort konfigurationsfilen. Även när webbprogrammet körs kan du aktivera eller inaktivera självdiagnostik utan att behöva starta om programmet.
I de flesta fall kan du släppa filen tillsammans med ditt program. Här är två sätt att hitta den aktuella arbetskatalogen:
I Windows använder du Process Explorer.
Öppna Process Explorer, välj processen och öppna dialogrutan Egenskaper . Sök efter aktuell katalog under Bildfil.
GetCurrentDirectory
Anropa metoderna ochAppContext.BaseDirectory
för att hämta den aktuella arbetskatalogen.
Självdiagnostik för App Service Web App i Windows
Gå till App Service-webbappen från Azure Portal.
Gå till Kudu-sidan genom att välja Avancerade verktyg>Gå.
På Kudu-instrumentpanelen väljer du Felsökningskonsolens>CMD.
Navigera till katalogen där App Service-webbappen finns, till exempel D:\home\site\wwwroot.
Använd symbolen "+" överst på Kudu-instrumentpanelen för att skapa en ny fil i mappen wwwroot och ge den namnet ApplicationInsightsDiagnostics.json.
Filen ApplicationInsightsDiagnostics.json måste placeras i <mappen drive>:\home\site\wwwroot. Alla App Service Web Apps finns inte på samma enhet. Vissa kan finnas på C:-enheten, och vissa kan finnas på D:-enheten. Om du vill hitta den kontrollerar du fälten Webbplatsmapp och Temp-mapp från kudu-standardsidan.
Redigera och lägg till följande konfiguration i filen ApplicationInsightsDiagnostics.json :
{ "LogDirectory": "<drive>:\home\site\wwwroot", "FileSize": 5120, "LogLevel": "Verbose" }
Kommentar
Parametern
LogDirectory
ska anges till en plats under <enhet>:\home för enkel åtkomst, men andra platser är giltiga om det finns tillräckligt med åtkomst.Spara filen.
Efter 10 sekunder visas en ny loggfil, till exempel 20220307-193542.w3wp.exe.7692.log, i mappen wwwroot.
Ta bort konfigurationsfilen eller byt namn på den till ApplicationInsightsDiagnostics.bak.
Efter 10 sekunder stoppas loggningen.
Självdiagnostik för App Service Web App i Linux
Skapa en fil på den lokala datorn och ge den namnet ApplicationInsightsDiagnostics.json.
Redigera filen och lägg till följande innehåll:
{ "LogDirectory": ".", "FileSize": 5120, "LogLevel": "Verbose" }
Spara filen.
Gå till App Service-webbappen från Azure Portal.
Gå till Kudu-sidan genom att välja Avancerade verktyg>Gå.
När webbläsarsessionen startar lägger du till
/newui
i slutet av URL:en. URL:en i webbläsaren bör se ut somhttps://<appname>.scm.azurewebsites.net/newui
.Tryck på Retur. Kudu-sidan med det nya användargränssnittet öppnas.
I den vänstra menyn väljer du Filhanteraren.
Välj mappen Webbplats och välj sedan mappen wwwroot .
Dra och släpp filen ApplicationInsightsDiagnostics.json i mappen wwwroot .
Efter 10 sekunder visas en ny loggfil i mappen wwwroot , till exempel 20220307-193542.w3wp.exe.7692.log.
Ta bort konfigurationsfilen eller byt namn på den till ApplicationInsightsDiagnostics.bak.
Efter 10 sekunder stoppas loggningen.
Application Insights Java 2.x
Du kan samla in diagnostikloggar för Application Insights Java 2.6 eller en tidigare version. Det gör du genom att lägga till ett <SDKLogger>
element under rotnoden i ApplicationInsights.xml-konfigurationsfilen (i resursmappen i projektet). I elementet <SDKLogger>
kan du instruera loggaren att mata ut till en fil.
Här är ett exempel på filen ApplicationInsights.xml :
<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
<Level>TRACE</Level>
<UniquePrefix>AI</UniquePrefix>
<BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>
Mer information finns i Felsöka Azure Application Insights i ett Java-webbprojekt.
Application Insights Java 3.x
Du kan samla in diagnostikloggar för Application Insights Java 3.x med hjälp av funktionen "självdiagnostik". Det gör du genom att läsa Självdiagnostik.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.