Log personalizzati in Log AnalyticsCustom logs in Log Analytics

L'origine dati dei log personalizzati in Log Analytics consente di raccogliere gli eventi dai file di testo nei computer Windows e Linux.The Custom Logs data source in Log Analytics allows you to collect events from text files on both Windows and Linux computers. Molte applicazioni registrano le informazioni nei file di testo invece di usare servizi di registrazione standard come il registro eventi di Windows o Syslog.Many applications log information to text files instead of standard logging services such as Windows Event log or Syslog. Al termine della raccolta, è possibile analizzare ogni record del log in singoli campi usando la funzionalità Campi personalizzati di Log Analytics.Once collected, you can parse each record in the log in to individual fields using the Custom Fields feature of Log Analytics.

Raccolta di log personalizzati

I file di log da raccogliere devono soddisfare i criteri seguenti.The log files to be collected must match the following criteria.

  • 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.The log must either have a single entry per line or use a timestamp matching one of the following formats at the start of each entry.

    AAAA-MM-GG HH:MM:SS YYYY-MM-DD HH:MM:SS
    M/G/AAAA HH:MM:SS AM/PMM/D/YYYY HH:MM:SS AM/PM
    Lun GG,AAAA HH:MM:SSMon DD,YYYY HH:MM:SS

  • Il file di log non deve consentire aggiornamenti circolari in cui il file viene sovrascritto con le nuove voci.The log file must not allow circular updates where the file is overwritten with new entries.

  • Il file di log deve usare la codifica ASCII o UTF-8.The log file must use ASCII or UTF-8 encoding. Non sono supportati altri formati, ad esempio UTF-16.Other formats such as UTF-16 are not supported.

Nota

Se sono presenti voci duplicate nel file di log, Log Analytics le raccoglierà.If there are duplicate entries in the log file, Log Analytics will collect them. Tuttavia, i risultati della ricerca non saranno coerenti se i risultati del filtro mostrano più eventi rispetto al numero di risultati.However, the search results will be inconsistent where the filter results show more events than the result count. È importante convalidare il log per determinare se l'applicazione che lo crea è la causa di questo comportamento e indirizzarlo se possibile prima di creare la definizione della raccolta dei log personalizzati.It will be important that you validate the log to determine if the application that creates it is causing this behavior and address it if possible before creating the custom log collection definition.

Definizione di un log personalizzatoDefining a custom log

Usare la procedura seguente per definire un file di log personalizzato.Use the following procedure to define a custom log file. Scorrere fino alla fine dell'articolo per la procedura dettagliata di un esempio che spiega come aggiungere un log personalizzato.Scroll to the end of this article for a walkthrough of a sample of adding a custom log.

Passaggio 1.Step 1. Aprire la procedura guidata per i log personalizzatiOpen the Custom Log Wizard

La procedura guidata per i personalizzati viene eseguita nel portale di OMS e consente di definire un nuovo log personalizzato da raccogliere.The Custom Log Wizard runs in the OMS portal and allows you to define a new custom log to collect.

  1. Nel portale di OMS passare a Impostazioni.In the OMS portal, go to Settings.
  2. Fare clic su Dati, quindi su Log personalizzati.Click on Data and then Custom logs.
  3. Per impostazione predefinita, viene eseguito automaticamente il push di tutte le modifiche di configurazione in tutti gli agenti.By default, all configuration changes are automatically pushed to all agents. Per gli agenti Linux, viene inviato un file di configurazione all'agente di raccolta dati Fluentd.For Linux agents, a configuration file is sent to the Fluentd data collector. Per modificare questo file manualmente in ogni agente Linux, deselezionare la casella Applica la configurazione seguente alle macchine virtuali Linux.If you wish to modify this file manually on each Linux agent, then uncheck the box Apply below configuration to my Linux machines.
  4. Fare clic su Aggiungi+ per aprire la procedura guidata per i log personalizzati.Click Add+ to open the Custom Log Wizard.

Passaggio 2.Step 2. Caricare e analizzare un log di esempioUpload and parse a sample log

Per iniziare, caricare un esempio del log personalizzato.You start by uploading a sample of the custom log. La procedura guidata analizza e visualizza le voci nel file da convalidare.The wizard will parse and display the entries in this file for you to validate. Log Analytics usa il delimitatore specificato per identificare tutti i record.Log Analytics will use the delimiter that you specify to identify each record.

Nuova riga è il delimitatore predefinito e viene usato per i file di log con una sola voce per riga.New Line is the default delimiter and is used for log files that have a single entry per line. Se la riga inizia con una data e ora in uno dei formati disponibili, è possibile specificare un delimitatore Timestamp che supporta le voci che si estendono su più righe.If the line starts with a date and time in one of the available formats, then you can specify a Timestamp delimiter which supports entries that span more than one line.

Se viene usato un delimitatore Timestamp, la proprietà TimeGenerated di ogni record archiviato in OMS viene popolata con la data/ora specificata per la voce nel file di log.If a timestamp delimiter is used, then the TimeGenerated property of each record stored in OMS will be populated with the date/time specified for that entry in the log file. Se viene usato un delimitatore Nuova riga, TimeGenerated viene popolato con la data e l'ora in cui Log Analytics ha raccolto la voce.If a new line delimiter is used, then TimeGenerated is populated with date and time that Log Analytics collected the entry.

  1. Fare clic su Sfoglia e passare a un file di esempio.Click Browse and browse to a sample file. In alcuni browser, questo pulsante potrebbe essere denominato Scegli file .Note that this may button may be labeled Choose File in some browsers.
  2. Fare clic su Avanti.Click Next.
  3. La procedura guidata per i log personalizzati carica il file ed elenca i record identificati.The Custom Log Wizard will upload the file and list the records that it identifies.
  4. Modificare il delimitatore usato per identificare un nuovo record e selezionare il delimitatore che identifica meglio i record nel file di log.Change the delimiter that is used to identify a new record and select the delimiter that best identifies the records in your log file.
  5. Fare clic su Avanti.Click Next.

Passaggio 3.Step 3. Aggiungere percorsi di raccolta di logAdd log collection paths

È necessario definire uno o più percorsi nell'agente in cui è possibile individuare il log personalizzato.You must define one or more paths on the agent where it can locate the custom log. È possibile fornire un percorso specifico e un nome per il file di log oppure specificare un percorso con un carattere jolly per il nome.You can either provide a specific path and name for the log file, or you can specify a path with a wildcard for the name. Questa opzione è utile per le applicazioni che creano un nuovo file ogni giorno o quando un file raggiunge una determinata dimensione.This supports applications that create a new file each day or when one file reaches a certain size. È anche possibile fornire più percorsi per un singolo file di log.You can also provide multiple paths for a single log file.

Ad esempio, un'applicazione potrebbe creare un file di log ogni giorno con la data inclusa nel nome, come in log20100316.txt.For example, an application might create a log file each day with the date included in the name as 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.A pattern for such a log might be log*.txt which would apply to any log file following the application’s naming scheme.

La tabella seguente fornisce esempi di percorsi validi per specificare file di log diversi.The following table provides examples of valid patterns to specify different log files.

DescrizioneDescription PathPath
Tutti i file in C:\Logs con estensione txt nell'agente WindowsAll files in C:\Logs with .txt extension on Windows agent C:\Logs\*.txtC:\Logs\*.txt
Tutti i file in C:\Logs il cui nome inizia con log e aventi un'estensione txt nell'agente WindowsAll files in C:\Logs with a name starting with log and a .txt extension on Windows agent C:\Logs\log*.txtC:\Logs\log*.txt
Tutti i file in /var/log/audit con estensione txt nell'agente di LinuxAll files in /var/log/audit with .txt extension on Linux agent /var/log/audit/.txt/var/log/audit/.txt
Tutti i file in /var/log/audit con un nome che inizia con log e con l'estensione .txt nell'agente di LinuxAll files in /var/log/audit with a name starting with log and a .txt extension on Linux agent /var/log/audit/log*.txt/var/log/audit/log*.txt
  1. Selezionare Windows o Linux per specificare il formato del percorso che verrà aggiunto.Select Windows or Linux to specify which path format you are adding.
  2. Digitare il percorso e fare clic sul pulsante + .Type in the path and click the + button.
  3. Ripetere il processo per i percorsi aggiuntivi.Repeat the process for any additional paths.

Passaggio 4.Step 4. Specificare un nome e una descrizione per il logProvide a name and description for the log

Il nome specificato viene usato per il tipo di log come descritto in precedenza.The name that you specify will be used for the log type as described above. Termina sempre con _CL per definirlo come log personalizzato.It will always end with _CL to distinguish it as a custom log.

  1. Digitare un nome per il log.Type in a name for the log. Il suffisso _CL viene applicato automaticamente.The _CL suffix is automatically provided.
  2. Aggiungere una Descrizionefacoltativa.Add an optional Description.
  3. Fare clic su Avanti per salvare la definizione del log personalizzato.Click Next to save the custom log definition.

Passaggio 5.Step 5. Verificare che i log personalizzati vengano raccoltiValidate that the custom logs are being collected

La visualizzazione dei dati iniziali di un nuovo log personalizzato in Log Analytics potrebbe richiedere fino a un'ora.It may take up to an hour for the initial data from a new custom log to appear in Log Analytics. La procedura inizia con la raccolta delle voci dai log trovati nel percorso specificato dal punto in cui è stato definito il log personalizzato.It will start collecting entries from the logs found in the path you specified from the point that you defined the custom log. Le voci caricate durante la creazione del log personalizzato non vengono mantenute, ma vengono raccolte le voci già esistenti nei file di log individuati.It will not retain the entries that you uploaded during the custom log creation, but it will collect already existing entries in the log files that it locates.

Dopo che Log Analytics avvia la raccolta dal log personalizzato, i record vengono resi disponibili con lo strumento di ricerca nei log.Once Log Analytics starts collecting from the custom log, its records will be available with a Log Search. Usare il nome assegnato al log personalizzato come Tipo nella query.Use the name that you gave the custom log as the Type in your query.

Nota

Se la proprietà RawData non è presente nella ricerca, potrebbe essere necessario chiudere e riaprire il browser.If the RawData property is missing from the search, you may need to close and reopen your browser.

Passaggio 6.Step 6. Analizzare le voci del log personalizzatoParse the custom log entries

L'intera voce di log viene archiviata in una singola proprietà denominata RawData.The entire log entry will be stored in a single property called RawData. È probabile che si preferisca separare le diverse parti di informazioni di ogni voce in singole proprietà archiviate nel record.You will most likely want to separate the different pieces of information in each entry into individual properties stored in the record. Per farlo, usare la funzionalità Campi personalizzati di Log Analytics.You do this using the Custom Fields feature of Log Analytics.

La procedura dettagliata per l'analisi della voce del log personalizzato non viene fornita in questa sede.Detailed steps for parsing the custom log entry are not provided here. Per queste informazioni, vedere la documentazione Campi personalizzati .Please refer to the Custom Fields documentation for this information.

Disabilitazione di un log personalizzatoDisabling a custom log

Dopo la creazione, la definizione del log personalizzato non può essere rimossa, ma può essere disabilitata rimuovendo tutti i relativi percorsi di raccolta.You cannot remove a custom log definition once it's been created, but you can disable it by removing all of its collection paths.

  1. Nel portale di OMS passare a Impostazioni.In the OMS portal, go to Settings.
  2. Fare clic su Dati, quindi su Log personalizzati.Click on Data and then Custom logs.
  3. Fare clic su Dettagli accanto alla definizione del log personalizzato per disabilitarla.Click Details next to the custom log definition to disable.
  4. Rimuovere ogni percorso di raccolta della definizione del log personalizzato.Remove each of the collection paths for the custom log definition.

Raccolta dei datiData collection

Log Analytics raccoglie nuove voci da ogni log personalizzato a intervalli di circa 5 minuti.Log Analytics will collect new entries from each custom log approximately every 5 minutes. L'agente registra la propria posizione in ogni file di log da cui esegue la raccolta.The agent will record its place in each log file that it collects from. Se l'agente risulta offline per un certo periodo di tempo, Log Analytics raccoglie le voci dal momento in cui è stato interrotto, anche se le voci sono state create mentre l'agente era offline.If the agent goes offline for a period of time, then Log Analytics will collect entries from where it last left off, even if those entries were created while the agent was offline.

L'intero contenuto della voce di log viene scritto in una singola proprietà denominata RawData.The entire contents of the log entry are written to a single property called RawData. È possibile suddividerla in più proprietà che possono essere analizzate e ricercate separatamente definendo Campi personalizzati dopo aver creato il log personalizzato.You can parse this into multiple properties that can be analyzed and searched separately by defining Custom Fields after you have created the custom log.

Proprietà dei record del log personalizzatoCustom log record properties

Il tipo dei record del log personalizzato corrisponde al nome del log specificato e le proprietà sono indicate nella tabella seguente.Custom log records have a type with the log name that you provide and the properties in the following table.

ProprietàProperty DescrizioneDescription
TimeGeneratedTimeGenerated Data e ora di raccolta del record con Log Analytics.Date and time that the record was collected by Log Analytics. Se il log usa un delimitatore basato sul tempo, questa proprietà indica la data e l'ora raccolte dalla voce.If the log uses a time-based delimiter then this is the time collected from the entry.
SourceSystemSourceSystem Tipo di agente da cui è stato raccolto il record.Type of agent the record was collected from.
OpsManager: agente Windows, con connessione diretta o System Center Operations ManagerOpsManager – Windows agent, either direct connect or System Center Operations Manager
Linux – Tutti gli agenti LinuxLinux – All Linux agents
RawDataRawData Testo completo della voce raccolta.Full text of the collected entry.
ManagementGroupNameManagementGroupName Nome del gruppo di gestione per gli agenti System Center Operations Manager.Name of the management group for System Center Operations Manage agents. Per gli altri agenti, corrisponde ad AOI-<ID area di lavoro>For other agents, this is AOI-<workspace ID>

Ricerche nei log con i record del log personalizzatoLog searches with custom log records

I record dei log personalizzati vengono archiviati nel repository OMS esattamente come i record di qualsiasi altra origine dati.Records from custom logs are stored in the OMS repository just like records from any other data source. Hanno un tipo corrispondente al nome fornito quando si definisce il log, quindi è possibile usare la proprietà Tipo nella ricerca per recuperare i record raccolti da un log specifico.They will have a type matching the name that you provide when you define the log, so you can use the Type property in your search to retrieve records collected from a specific log.

La tabella seguente mostra alcuni esempi di ricerche nei log che recuperano i record dai log personalizzati.The following table provides different examples of log searches that retrieve records from custom logs.

QueryQuery DescrizioneDescription
MyApp_CLMyApp_CL Tutti gli eventi da un log personalizzato denominato MyApp_CL.All events from a custom log named MyApp_CL.
MyApp_CL | where Severity_CF=="error"MyApp_CL | where Severity_CF=="error" Tutti gli eventi di un log personalizzato denominato MyApp_CL con un valore di error in un campo personalizzato denominato Severity_CF.All events from a custom log named MyApp_CL with a value of error in a custom field named Severity_CF.

Procedura dettagliata di esempio per l'aggiunta di un log personalizzatoSample walkthrough of adding a custom log

La sezione seguente descrive un esempio di creazione di un log personalizzato.The following section walks through an example of creating a custom log. 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.The sample log being collected has a single entry on each line starting with a date and time and then comma-delimited fields for code, status, and message. Di seguito sono visualizzate alcune voci di esempio.Several sample entries are shown below.

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

Caricare e analizzare un log di esempioUpload and parse a sample log

Viene fornito uno dei file di log per visualizzare gli eventi che saranno raccolti.We provide one of the log files and can see the events that it will be collecting. In questo caso Nuova riga è un delimitatore sufficiente.In this case New Line is a sufficient delimiter. Se una singola voce nel log può estendersi su più righe, è necessario usare un delimitatore Timestamp.If a single entry in the log could span multiple lines though, then a timestamp delimiter would need to be used.

Caricare e analizzare un log di esempio

Aggiungere percorsi di raccolta di logAdd log collection paths

I file di log si trovano in C:\MyApp\Logs.The log files will be located in C:\MyApp\Logs. Ogni giorno viene creato un nuovo file con un nome che include la data nel modello appYYYYMMDD.log.A new file will be created each day with a name that includes the date in the pattern appYYYYMMDD.log. Un modello sufficiente per questo registro è C:\MyApp\Logs\*.log.A sufficient pattern for this log would be C:\MyApp\Logs\*.log.

Percorso di raccolta di log

Specificare un nome e una descrizione per il logProvide a name and description for the log

Viene usato il nome MyApp_CL e viene digitata una descrizione.We use a name of MyApp_CL and type in a Description.

Nome del log

Verificare che i log personalizzati vengano raccoltiValidate that the custom logs are being collected

Viene usata una query Type=MyApp_CL per restituire tutti i record dal log raccolto.We use a query of Type=MyApp_CL to return all records from the collected log.

Query di log senza campi personalizzati

Analizzare le voci del log personalizzatoParse the custom log entries

Viene usato Campi personalizzati per definire i campi EventTime, Code, Status e Message ed è possibile osservare la differenza nei record restituiti dalla query.We use Custom Fields to define the EventTime, Code, Status, and Message fields and we can see the difference in the records that are returned by the query.

Query di log con campi personalizzati

Passaggi successiviNext steps

  • Usare Campi personalizzati per analizzare le voci del log personalizzato nei singoli campi.Use Custom Fields to parse the entries in the custom log in to individual fields.
  • Informazioni sulle ricerche nei log per analizzare i dati raccolti dalle origini dati e dalle soluzioni.Learn about log searches to analyze the data collected from data sources and solutions.