Raccogliere log di testo con l'agente di Log Analytics in Monitoraggio di Azure
L'origine dati dei log personalizzati per l'agente di Log Analytics in Monitoraggio di Azure consente di raccogliere eventi da file di testo nei 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 che i dati sono stati raccolti è possibile analizzarli in singoli campi nelle query o estrarli durante la raccolta in singoli campi.
Importante
Questo articolo spiega come raccogliere un log di testo con l'agente Log Analytics. Se si usa l'agente di Monitoraggio di Azure, consultare la sezione Raccogliere log di testo con l'agente di Monitoraggio di Azure.
Importante
L'agente di Log Analytics legacy è deprecato dal 31 agosto 2024. Microsoft non fornirà più alcun supporto per l'agente di Log Analytics. Se si usa l'agente di Log Analytics per inserire dati in Monitoraggio di Azure, eseguire la migrazione adesso al nuovo agente di Monitoraggio di Azure.
I file di log da raccogliere devono soddisfare i seguenti criteri:
Il log deve avere una sola voce per ogni riga o usare un timestamp che corrisponde 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:ssKIl file di log non deve consentire la registrazione circolare. Questo comportamento consiste nella 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. Non sono supportati altri formati, ad esempio UTF-16.
Su Linux la conversione del fuso orario non è supportata per i timestamp dei log.
Come procedura consigliata, il file di log deve contenere 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 risulteranno incoerenti. I risultati dell'applicazione del filtro mostreranno più eventi rispetto al conteggio dei risultati. È necessario convalidare il log per stabilire se l'applicazione che lo crea causa questo comportamento. Se possibile, risolvere il problema 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
Per la raccolta di log personalizzata, l'applicazione che scrive il file di log deve riversare periodicamente il contenuto del log sul disco. Questo perché la raccolta di log personalizzata si basa sulle notifiche delle modifiche del file system per il file di log monitorato.
Definire una tabella di log personalizzata
La seguente procedura consente di 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.
Procedura guidata per l'apertura dei log personalizzati
La procedura guidata per i log personalizzati si svolge nel portale di Azure e consente di definire un nuovo log personalizzato da raccogliere.
Nel portale di Azure selezionare Aree di lavoro Log Analytics> Area di lavoro personale >Tabelle avanzate.
Selezionare Crea, 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 ora in uno dei formati disponibili è possibile specificare un timestamp come delimitatore che supporta le voci estese su più righe.
Se si usa un timestamp come delimitatore la proprietà TimeGenerated di ogni record archiviato in Monitoraggio di Azure viene popolata con il valore di data e ora specificato per quella voce nel file di log. Se si usa come delimitatore una nuova riga, la proprietà TimeGenerated viene popolata con la data e l'ora in cui Monitoraggio di Azure ha raccolto la voce.
Selezionare su Sfoglia e individuare a un file di esempio. Questo pulsante può riportare il testo Scegli file, in alcuni browser.
Selezionare Avanti.
La procedura guidata per i log personalizzati carica il file ed elenca i record identificati.
Modificare il delimitatore per identificare un nuovo record. Selezionare il delimitatore che meglio identifica i record nel file di log.
Selezionare Avanti.
Aggiungere percorsi di raccolta di log
È necessario definire uno o più percorsi nell'agente in cui è possibile individuare il log personalizzato. È possibile indicare un percorso specifico e un nome per il file di log o specificare un percorso con un carattere jolly per il nome. Questa fase è utile per le applicazioni che creano un nuovo file ogni giorno o quando un file raggiunge determinate dimensioni. È 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 questo log potrebbe essere log*.txt, applicabile a qualsiasi file di log in base allo 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 l'estensione .txt nell'agente di Windows | C:\Logs\*.txt |
Tutti i file in C:\Logs il cui nome inizia con log e hanno l'estensione .txt nell'agente di Windows | C:\Logs\log*.txt |
Tutti i file in /var/log/audit con l'estensione .txt nell'agente di Linux | /var/log/audit/*.txt |
Tutti i file in /var/log/audit il cui nome inizia con log e hanno l'estensione .txt nell'agente di Linux | /var/log/audit/log*.txt |
- Selezionare Windows o Linux per specificare il formato del percorso da aggiungere.
- Immettere il percorso e selezionare il pulsante +.
- Ripetere il processo per gli altri percorsi.
Specificare un nome e una descrizione per il log
Il nome specificato viene usato per il tipo di log come descritto. Termina sempre con _CL per definirlo come log personalizzato.
- Immettere un nome per il log. Viene automaticamente applicato il suffisso _CL.
- Aggiungere una Descrizionefacoltativa.
- Selezionare Avanti per salvare la definizione del log personalizzato.
Verificare che i log personalizzati vengano raccolti
La visualizzazione dei dati iniziali di un nuovo log personalizzato in Monitoraggio di Azure può richiedere fino a un'ora. Monitoraggio di Azure inizia con la raccolta delle voci dei log trovati nel percorso specificato dal punto in cui è stato definito il log personalizzato. Non conserverà le voci caricate durante la creazione del log personalizzato. Raccoglierà le voci già esistenti nei file di log individuati.
Dopo che Monitoraggio di Azure avvia la raccolta dal log personalizzato, i record diventano 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 il browser e riaprirlo.
Analizzare le voci del log personalizzato
L'intera voce di log viene archiviata in una singola proprietà denominata RawData. Volendo si possono separare le diverse informazioni di ogni voce in singole proprietà, per ciascun record. Per le opzioni relative all'analisi di RawData in più proprietà, consultare la sezione Analizzare i dati di testo in Monitoraggio di Azure.
Eliminare una tabella di log personalizzata
Consultare la sezione Eliminare una tabella.
Raccolta dati
Monitoraggio di Azure raccoglie nuove voci da ogni log personalizzato a intervalli di 5 minuti circa. L'agente registra la posizione in ogni file di log da cui raccoglie le voci. Se l'agente rimane offline per un certo periodo, Monitoraggio di Azure raccoglie le voci dal punto in cui è stato interrotto, anche se le 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 di analisi di ogni voce di log importata in più proprietà, consultare la sezione Analisi dei 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 questa proprietà indica la data e l'ora raccolte dalla voce. |
SourceSystem | Tipo di agente da cui è stato raccolto il record. OpsManager: agente Windows, con connessione diretta o System Center Operations Manager Linux – Tutti gli agenti Linux |
RawData | Testo completo della voce raccolta. Volendo è possibile analizzare i dati in singole proprietà. |
ManagementGroupName | Nome del gruppo di gestione per gli agenti di System Center Operations Manager. Per gli altri agenti, questo nome è AOI-<ID area di lavoro>. |
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. Qui sono visualizzate alcune 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 una singola voce nel log può estendersi su più righe è necessario usare come delimitatore un timestamp.
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 adeguato per questo log C:\MyApp\Logs\*.log.
Specificare un nome e una descrizione per il log
Viene usato il nome MyApp_CL e viene digitata una descrizione.
Verificare che i log personalizzati vengano raccolti
Si usa una semplice query di MyApp_CL per restituire tutti i record dal log raccolto.
Alternative per i log personalizzati
I log personalizzati sono utili se i dati soddisfano i criteri, ma ci sono dei casi in cui è necessaria un'altra strategia:
- I dati non rientrano nella struttura richiesta, ad esempio per la presenza di 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 i dati in Eventi Windows o in Syslog che vengono raccolti da Monitoraggio di Azure.
- Inviare i dati direttamente a Monitoraggio di Azure usando l'API 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.