Raccogliere log di testo con l'agente di Log Analytics in Monitoraggio di Azure

L'origine dati Log personalizzati per l'agente di Log Analytics in Monitoraggio di Azure consente di raccogliere eventi da file di testo in computer Windows e Linux. Molte applicazioni registrano le informazioni nei file di testo invece di usare servizi di registrazione standard come il registro eventi di Windows o Syslog. Dopo aver raccolto i dati, è possibile analizzarli in singoli campi nelle query o estrarli durante la raccolta in singoli campi.

Importante

Questo articolo descrive come raccogliere un log di testo con l'agente di Log Analytics. Se si usa l'agente di Monitoraggio di Azure, vedere Raccogliere log di testo con l'agente di Monitoraggio di Azure.

Importante

L'agentedi Log Analytics legacy sarà deprecato entro agosto 2024. Dopo questa data, Microsoft non fornirà più supporto per l'agente di Log Analytics. Eseguire la migrazione all'agente di Monitoraggio di Azure prima di agosto 2024 per continuare l'inserimento dei dati.

Diagram that shows custom log collection.

I file di log da raccogliere devono corrispondere ai criteri seguenti:

  • Il log deve avere una singola voce per riga o usare un timestamp corrispondente a uno dei formati seguenti all'inizio di ogni voce:

    AAAA-MM-GG HH:MM:SS
    M/G/AAAA HH:MM:SS AM/PM
    Lun GG,AAAA HH:MM:SS
    aaMMgg hh: mm:ss
    ggMMaa HH:mm:ss
    MMM g hh:mm:ss
    gg/MMM/aaaa:HH:mm:ss zzz
    aaaa-MM-ggTHH:mm:ssK

  • Il file di log non deve consentire la registrazione circolare. Questo comportamento è la rotazione dei log in cui il file viene sovrascritto con nuove voci o il file viene rinominato e lo stesso nome file viene riutilizzato per la registrazione continua.

  • Il file di log deve usare la codifica ASCII o UTF-8. Altri formati, ad esempio UTF-16, non sono supportati.

  • Per Linux, la conversione del fuso orario non è supportata per i timestamp nei log.

  • Come procedura consigliata, il file di log deve includere la data e l'ora di creazione per impedire la sovrascrittura o la ridenominazione della rotazione dei log.

Nota

Se sono presenti voci duplicate nel file di log, Monitoraggio di Azure le raccoglierà. I risultati della query generati saranno incoerenti. I risultati del filtro mostreranno più eventi rispetto al conteggio dei risultati. È necessario convalidare il log per determinare se l'applicazione che lo crea causa questo comportamento. Risolvere il problema, se possibile, prima di creare la definizione della raccolta di log personalizzata.

Un'area di lavoro di Log Analytics supporta i limiti seguenti:

  • È possibile creare solo 500 log personalizzati.
  • Una tabella supporta al massimo 500 colonne.
  • Il numero massimo di caratteri per il nome della colonna è 500.

Importante

La raccolta di log personalizzata richiede che l'applicazione che scrive il file di log scarichi periodicamente il contenuto del log sul disco. Ciò avviene perché la raccolta di log personalizzata si basa sulle notifiche di modifica del file system per il file di log monitorato.

Definire una tabella di log personalizzata

Utilizzare la procedura seguente per definire una tabella di log personalizzata. Scorrere fino alla fine dell'articolo per la procedura dettagliata di un esempio che spiega come aggiungere un log personalizzato.

Aprire la procedura guidata Log personalizzato

La procedura guidata Log personalizzato viene eseguita nel portale di Azure e consente di definire un nuovo log personalizzato da raccogliere.

  1. Nella portale di Azure selezionare Aree di lavoro Log Analytics nelle> tabelle dell'area di lavoro>.

  2. Selezionare Crea e quindi Nuovo log personalizzato (basato su MMA).

    Per impostazione predefinita, viene eseguito automaticamente il push di tutte le modifiche di configurazione in tutti gli agenti. Per gli agenti Linux, viene inviato un file di configurazione all'agente di raccolta dati Fluentd.

Caricare e analizzare un log di esempio

Per iniziare, caricare un esempio del log personalizzato. La procedura guidata analizza e visualizza le voci nel file da convalidare. Monitoraggio di Azure usa il delimitatore specificato per identificare ciascun record.

Nuova riga è il delimitatore predefinito e viene usato per i file di log con una sola voce per riga. Se la riga inizia con una data e un'ora in uno dei formati disponibili, è possibile specificare un delimitatore Timestamp , che supporta voci che si estendono su più righe.

Se viene usato un delimitatore timestamp, la proprietà TimeGenerated di ogni record archiviato in Monitoraggio di Azure verrà popolata con la data e l'ora specificate per tale voce nel file di log. Se viene usato un nuovo delimitatore di riga, TimeGenerated viene popolato con la data e l'ora in cui Monitoraggio di Azure ha raccolto la voce.

  1. Selezionare Sfoglia e passare a un file di esempio. Questo pulsante potrebbe essere etichettato Scegli file in alcuni browser.

  2. Selezionare Avanti.

    La procedura guidata Log personalizzato carica il file ed elenca i record identificati.

  3. Modificare il delimitatore usato per identificare un nuovo record. Selezionare il delimitatore che identifica meglio i record nel file di log.

  4. Selezionare Avanti.

Aggiungere percorsi di raccolta di log

È necessario definire uno o più percorsi nell'agente in cui è possibile individuare il log personalizzato. È possibile specificare un percorso e un nome specifici per il file di log oppure specificare un percorso con un carattere jolly per il nome. Questo passaggio supporta le applicazioni che creano un nuovo file ogni giorno o quando un file raggiunge una determinata dimensione. È anche possibile fornire più percorsi per un singolo file di log.

Ad esempio, un'applicazione potrebbe creare un file di log ogni giorno con la data inclusa nel nome, come in log20100316.txt. Un modello per tale log potrebbe essere log*.txt, che verrebbe applicato a qualsiasi file di log seguendo lo schema di denominazione dell'applicazione.

La tabella seguente fornisce esempi di percorsi validi per specificare file di log diversi.

Descrizione Percorso
Tutti i file in C:\Logs con estensione txt nell'agente di Windows C:\Logs\*.txt
Tutti i file in C:\Logs con un nome che inizia con il log e un'estensione txt nell'agente di Windows C:\Logs\log*.txt
Tutti i file in /var/log/audit con estensione txt nell'agente Linux /var/log/audit/*.txt
Tutti i file in /var/log/audit con un nome che inizia con il log e un'estensione txt nell'agente Linux /var/log/audit/log*.txt
  1. Selezionare Windows o Linux per specificare il formato di percorso da aggiungere.
  2. Immettere il percorso e selezionare il + pulsante .
  3. Ripetere il processo per altri percorsi.

Specificare un nome e una descrizione per il log

Il nome specificato verrà usato per il tipo di log, come descritto. Termina sempre con _CL per definirlo come log personalizzato.

  1. Immettere un nome per il log. Il suffisso _CL viene fornito automaticamente.
  2. Aggiungere una Descrizionefacoltativa.
  3. Selezionare Avanti per salvare la definizione del log personalizzata.

Verificare che i log personalizzati vengano raccolti

La visualizzazione dei dati iniziali da un nuovo log personalizzato in Monitoraggio di Azure potrebbe richiedere fino a un'ora. Monitoraggio di Azure inizierà a raccogliere voci dai log trovati nel percorso specificato dal punto in cui è stato definito il log personalizzato. Non manterrà le voci caricate durante la creazione del log personalizzato. Raccoglierà voci già esistenti nei file di log individuati.

Dopo l'avvio della raccolta da Monitoraggio di Azure dal log personalizzato, i relativi record saranno disponibili con una query di log. Usare il nome assegnato al log personalizzato come Tipo nella query.

Nota

Se la proprietà RawData non è presente nella query, potrebbe essere necessario chiudere e riaprire il browser.

Analizzare le voci del log personalizzato

L'intera voce di log viene archiviata in una singola proprietà denominata RawData. È probabile che si voglia separare le diverse informazioni in ogni voce in singole proprietà per ogni record. Per le opzioni sull'analisi di RawData in più proprietà, vedere Analizzare i dati di testo in Monitoraggio di Azure.

Eliminare una tabella di log personalizzata

Vedere Eliminare una tabella.

Raccolta dati

Monitoraggio di Azure raccoglie nuove voci da ogni log personalizzato circa ogni 5 minuti. L'agente registra la posizione in ogni file di log da cui raccoglie. Se l'agente passa offline per un periodo di tempo, Monitoraggio di Azure raccoglie le voci da cui è stata interrotta l'ultima volta, anche se tali voci sono state create mentre l'agente era offline.

L'intero contenuto della voce di log viene scritto in una singola proprietà denominata RawData. Per i metodi per analizzare ogni voce di log importata in più proprietà, vedere Analizzare i dati di testo in Monitoraggio di Azure.

Proprietà dei record del log personalizzato

Il tipo dei record del log personalizzato corrisponde al nome del log specificato e le proprietà sono indicate nella tabella seguente.

Proprietà Descrizione
TimeGenerated Data e ora di raccolta del record con Monitoraggio di Azure. Se il log usa un delimitatore basato sul tempo, questo è il tempo raccolto dalla voce.
SourceSystem Tipo di agente da cui è stato raccolto il record.
OpsManager: agente Windows, connessione diretta o System Center Operations Manager
Linux – Tutti gli agenti Linux
RawData Testo completo della voce raccolta. È probabile che si voglia analizzare questi dati in singole proprietà.
ManagementGroupName Nome del gruppo di gestione per gli agenti di System Center Operations Manager. Per altri agenti, questo nome è AOI-workspace< ID>.

Procedura dettagliata di esempio per l'aggiunta di un log personalizzato

La sezione seguente descrive un esempio di creazione di un log personalizzato. Il log di esempio raccolto ha una singola voce per ogni riga contenente una data e un'ora iniziali seguite da campi delimitati da virgole per il codice, lo stato e il messaggio. Vengono visualizzate diverse voci di esempio.

2019-08-27 01:34:36 207,Success,Client 05a26a97-272a-4bc9-8f64-269d154b0e39 connected
2019-08-27 01:33:33 208,Warning,Client ec53d95c-1c88-41ae-8174-92104212de5d disconnected
2019-08-27 01:35:44 209,Success,Transaction 10d65890-b003-48f8-9cfc-9c74b51189c8 succeeded
2019-08-27 01:38:22 302,Error,Application could not connect to database
2019-08-27 01:31:34 303,Error,Application lost connection to database

Caricare e analizzare un log di esempio

Viene fornito uno dei file di log per visualizzare gli eventi che saranno raccolti. In questo caso, Nuova riga è un delimitatore sufficiente. Se tuttavia una singola voce nel log potrebbe estendersi su più righe, è necessario usare un delimitatore di timestamp.

Screenshot that shows uploading and parsing a sample log.

Aggiungere percorsi di raccolta di log

I file di log si trovano in C:\MyApp\Logs. Ogni giorno viene creato un nuovo file con un nome che include la data nel modello appYYYYMMDD.log. Un modello sufficiente per questo log sarà C:\MyApp\Logs\*.log.

Screenshot that shows adding a log collection path.

Specificare un nome e una descrizione per il log

Viene usato il nome MyApp_CL e viene digitata una descrizione.

Screenshot that shows adding a log name.

Verificare che i log personalizzati vengano raccolti

Viene usata una semplice query di MyApp_CL per restituire tutti i record dal log raccolto.

Screenshot that shows a log query with no custom fields.

Alternative per i log personalizzati

Anche se i log personalizzati sono utili se i dati soddisfano i criteri elencati, esistono casi in cui è necessaria un'altra strategia:

  • I dati non rientrano nella struttura richiesta, ad esempio la presenza del timestamp in un formato diverso.
  • Il file di log non rispetta i requisiti, ad esempio la codifica dei file o una struttura di cartelle non supportata.
  • I dati richiedono una pre-elaborazione o l'applicazione di filtri prima della raccolta.

Nei casi in cui non è possibile raccogliere i dati con i log personalizzati, prendere in considerazione le seguenti strategie alternative:

  • Usare uno script personalizzato o un altro metodo per scrivere dati in eventi di Windows o Syslog, raccolti da Monitoraggio di Azure.
  • Inviare i dati direttamente a Monitoraggio di Azure usando l'API dell'agente di raccolta dati HTTP.

Passaggi successivi

  • Vedere Parse text data in Azure Monitor (Analisi dei dati di testo in Monitoraggio di Azure) per i metodi per analizzare ogni voce di log importata in più proprietà.
  • Altre informazioni sulle query di log per analizzare i dati raccolti dalle origini dati e dalle soluzioni.