Come raccogliere log di auto-diagnostica per gli SDK di Application Insights
Quando si instrumenta un'applicazione tramite la strumentazione automatica di Application Insights o la strumentazione manuale con Application Insights SDK, è possibile che si verifichino problemi con Application Insights SDK stesso. In questo scenario, i log di diagnostica di Application Insights SDK sono necessari per individuare e diagnosticare i problemi con Application Insights.
Questo articolo illustra come raccogliere i log di auto-diagnostica per gli SDK di Application Insights seguenti:
- Application Insights .NET/.NET Core Framework SDK
- Application Insights Java 2.x
- Application Insights Java 3.x
Application Insights .NET/.NET Core Framework SDK
Dalla versione 2.18.0-beta2 di Application Insights .NET/.NET Core Framework SDK, la funzionalità "auto-diagnostica" viene fornita per acquisire i log dall'SDK stesso e scriverli in un file di log in una directory specificata.
Configurazione self-diagnostics
Configurare la diagnostica automatica usando un file denominato ApplicationInsightsDiagnostics.json con il contenuto seguente:
{
"LogDirectory": "<LogDirectory>",
"FileSize": <FileSize>,
"LogLevel": "<LogLevel>"
}
Note
- Il file di configurazione per la diagnostica automatica deve avere parametri validi per Application Insights .NET/.NET Core Framework SDK da analizzare. Se il file non è valido o non è valido, l'SDK lo ignorerà e la diagnostica automatica non verrà abilitata. Tuttavia, questo non influirà sul normale funzionamento dell'applicazione monitorata.
- Questo file di configurazione non deve superare i 4 kilobyte (KB). In caso contrario, verranno letti solo i primi 4 KB di contenuto.
- Application Insights .NET/.NET Core Framework SDK tenterà di leggere il file di configurazione ogni 10 secondi e di creare o sovrascrivere in modo circolare il file di log.
Ecco alcune spiegazioni per i parametri di configurazione:
Parametri di configurazione | Descrizione |
---|---|
LogDirectory |
Directory in cui è archiviato il file di log. Può essere un percorso assoluto o un percorso relativo alla directory di lavoro corrente dell'applicazione Web. Questo file di log viene denominato YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log, ad esempio 20220307-193542.w3wp.exe.7692.log. Il nome del file inizia con il timestamp generato al momento della creazione del file. |
FileSize |
Intero positivo che specifica le dimensioni del file di log in KB. Questo valore deve essere compreso tra 1 megabyte (MB) e 128 MB (inclusi) oppure verrà arrotondato al limite superiore o inferiore più vicino. Il file di log non supererà questa dimensione massima configurata. |
LogLevel |
Livello degli eventi da acquisire. Questo valore deve corrispondere a uno dei campi dell'oggetto EventLevel . I livelli di gravità inferiori includono livelli di gravità più elevati, Warning ad esempio include i Error livelli e Critical . |
Diagnostica automatica per un'applicazione Web
Per abilitare la diagnostica automatica, passare alla directory di lavoro corrente dell'applicazione Web e creare il file di configurazione ApplicationInsightsDiagnostics.json .
Per disabilitare la diagnostica automatica, eliminare il file di configurazione. Anche se l'applicazione Web è in esecuzione, è possibile abilitare o disabilitare la diagnostica automatica senza dover riavviare l'applicazione.
Nella maggior parte dei casi, è possibile eliminare il file insieme all'applicazione. Ecco due modi per trovare la directory di lavoro corrente:
In Windows usare Esplora processi.
Aprire Esplora processi, selezionare il processo e aprire la finestra di dialogo Proprietà . Trovare la directory corrente in File di immagine.
Chiamare i
GetCurrentDirectory
metodi eAppContext.BaseDirectory
per ottenere la directory di lavoro corrente.
Diagnostica automatica per servizio app'app Web in Windows
Passare all'app Web servizio app dal portale di Azure.
Passare alla pagina Kudu selezionando Strumenti>avanzati Go.
Nel dashboard Kudu selezionare Console di debug>CMD.
Passare alla directory in cui si trova l'app Web servizio app, ad esempio D:\home\site\wwwroot.
Usare il simbolo "+" nella parte superiore del dashboard Kudu per creare un nuovo file nella cartella wwwroot e denominarlo per ApplicationInsightsDiagnostics.json.
Il file ApplicationInsightsDiagnostics.json deve essere inserito nella <cartella drive>:\home\site\wwwroot . Non tutte le servizio app App Web risiedono nella stessa unità. Alcuni possono trovarsi nell'unità C: e alcuni potrebbero trovarsi nell'unità D: . Per trovarla, controllare i campi Cartella sito e Cartella temporanea dalla pagina Kudu predefinita.
Modificare e aggiungere la configurazione seguente al file ApplicationInsightsDiagnostics.json :
{ "LogDirectory": "<drive>:\home\site\wwwroot", "FileSize": 5120, "LogLevel": "Verbose" }
Note
Il
LogDirectory
parametro deve essere impostato su una posizione in <drive>:\home per facilitare l'accesso, ma altre posizioni sono valide se è disponibile un accesso sufficiente.Salvare il file.
Dopo 10 secondi, un nuovo file di log, ad esempio 20220307-193542.w3wp.exe.7692.log, verrà visualizzato nella cartella wwwroot .
Eliminare il file di configurazione o rinominarlo in ApplicationInsightsDiagnostics.bak.
Dopo 10 secondi, la registrazione verrà interrotta.
Diagnostica automatica per servizio app'app Web in Linux
Nel computer locale creare un file e denominarlo per ApplicationInsightsDiagnostics.json.
Modificare il file e aggiungere il contenuto seguente:
{ "LogDirectory": ".", "FileSize": 5120, "LogLevel": "Verbose" }
Salvare il file.
Passare all'app Web servizio app dal portale di Azure.
Passare alla pagina Kudu selezionando Strumenti>avanzati Go.
All'avvio della sessione del browser, aggiungere
/newui
alla fine dell'URL. L'URL nel browser dovrebbe essere similehttps://<appname>.scm.azurewebsites.net/newui
a .Premere Invio. Verrà aperta la pagina Kudu con la nuova interfaccia utente.
Nel menu a sinistra selezionare Gestione file.
Selezionare la cartella Sito e quindi selezionare la cartella wwwroot .
Trascinare e rilasciare il file ApplicationInsightsDiagnostics.json nella cartella wwwroot .
Dopo 10 secondi, nella cartella wwwroot verrà visualizzato un nuovo file di log, ad esempio 20220307-193542.w3wp.exe.7692.log.
Eliminare il file di configurazione o rinominarlo in ApplicationInsightsDiagnostics.bak.
Dopo 10 secondi, la registrazione verrà interrotta.
Application Insights Java 2.x
È possibile raccogliere i log di diagnostica per Application Insights Java 2.6 o una versione precedente. A tale scopo, aggiungere un <SDKLogger>
elemento sotto il nodo radice del file di configurazione ApplicationInsights.xml (nella cartella resources del progetto). Nell'elemento <SDKLogger>
è possibile indicare al logger di restituire un file.
Di seguito è riportato un esempio del file ApplicationInsights.xml :
<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
<Level>TRACE</Level>
<UniquePrefix>AI</UniquePrefix>
<BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>
Per altre informazioni, vedere Risolvere i problemi di app Azure lication Insights in un progetto Web Java.
Application Insights Java 3.x
È possibile raccogliere i log di diagnostica per Application Insights Java 3.x usando la funzionalità "auto-diagnostica". A tale scopo, vedere Auto-diagnostica.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.