Informazioni sulle ricerche log in Log AnalyticsUnderstanding log searches in Log Analytics

Una ricerca log è necessaria per recuperare qualsiasi tipo di dati da Log Analytics.You require a log search to retrieve any data from Log Analytics. Indipendentemente dal fatto che l'esigenza sia quella di analizzare i dati nel portale, configurare una regola di avviso per ricevere una notifica di una determinata condizione o di recuperare dati tramite l'API di Log Analytics, per specificare i dati necessari si userà una ricerca log.Whether you're analyzing data in the portal, configuring an alert rule to be notified of a particular condition, or retrieving data using the Log Analytics API, you will use a log search to specify the data you want. Questo articolo descrive come vengono usate le ricerche log in Log Analytics e illustra i concetti con cui occorre avere familiarità prima di crearne una.This article describes how log searches are used in Log Analytics and provides concepts that should understand before creating one. Vedere la sezione Passaggi successivi per informazioni dettagliate sulla creazione e la modifica delle ricerche log e per informazioni di riferimento sul linguaggio di query.See the Next steps section for details on creating and editing log searches and for references on the query language.

Possibili usi delle ricerche logWhere log searches are used

Di seguito sono indicati alcuni dei vari modi in cui verranno usate le ricerche log in Log Analytics:The different ways that you will use log searches in Log Analytics include the following:

  • Portali.Portals. È possibile eseguire un'analisi interattiva dei dati nel repository nel portale di Azure o nel portale Advanced Analytics.You can perform interactive analysis of data in the repository in the Azure portal or the Advanced Analytics portal. In questo modo è possibile modificare le query e analizzare i risultati in una vasta gamma di formati e visualizzazioni.This allows you to edit your query and analyze the results in a variety of formats and visualizations. Per la maggior parte delle query create si inizia in uno dei portali, per poi copiarle dopo aver verificato che il funzionamento corrisponde alle esigenze.Most queries that you create will start in one of the portals and then copied once you verify that it works as expected.
  • Regole di avviso.Alert rules. Le regole di avviso consentono di identificare in modo proattivo i problemi dai dati nell'area di lavoro.Alert rules proactively identify issues from data in your workspace. Ogni regola di avviso è basata su una ricerca log che viene eseguita automaticamente a intervalli regolari.Each alert rule is based on a log search that is automatically run at regular intervals. I risultati vengono esaminati per determinare se è necessario creare un avviso.The results are inspected to determine if an alert should be created.
  • Visualizzazioni.Views. È possibile creare visualizzazioni dei dati da includere nei dashboard degli utenti con Progettazione viste.You can create visualizations of data to be included in user dashboards with View Designer. Le ricerche log forniscono i dati usati dai riquadri e dalle parti della visualizzazione in ogni visualizzazione.Log searches provide the data used by tiles and visualization parts in each view. È possibile eseguire il drill-down dalle parti della visualizzazione nella pagina Ricerca log per eseguire altre analisi dei dati.You can drill down from visualization parts into the Log Search page to perform further analysis on the data.
  • Esportazione.Export. Quando si esportano dati dall'area di lavoro di Log Analytics in Excel o Power BI, si crea una ricerca log per definire i dati da esportare.When you export data from the Log Analytics workspace to Excel or Power BI, you create a log search to define the data to export.
  • PowerShell.PowerShell. È possibile eseguire uno script di PowerShell da una riga di comando o un runbook di Automazione di Azure che usa Get AzureRmOperationalInsightsSearchResults per recuperare dati da Log Analytics.You can run a PowerShell script from a command line or an Azure Automation runbook that uses Get-AzureRmOperationalInsightsSearchResults to retrieve data from Log Analytics. Questo cmdlet richiede una query per determinare i dati da recuperare.This cmdlet requires a query to determine the data to retrieve.
  • API di Log Analytics.Log Analytics API. L'API di ricerca log di Log Analytics consente a qualsiasi client API REST di recuperare dati da un'area di lavoro.The Log Analytics log search API allows any REST API client to retrieve data from the workspace. La richiesta dell'API include una query eseguita su Log Analytics per determinare i dati da recuperare.The API request includes a query that is run against Log Analytics to determine the data to retrieve.

Ricerche log

Organizzazione dei dati di Log AnalyticsHow Log Analytics data is organized

Quando si compila una query, è necessario innanzitutto determinare quali tabelle contengono i dati da cercare.When you build a query, you start by determining which tables have the data that you're looking for. Ogni origine dati e soluzione archivia i dati in tabelle dedicate nell'area di lavoro di Log Analytics.Each data source and solution stores its data in dedicated tables in the Log Analytics workspace. La documentazione per ogni origine dati e soluzione include il nome del tipo di dati che crea e una descrizione di ciascuna delle relative proprietà.Documentation for each data source and solution includes the name of the data type that it creates and a description of each of its properties. Molte query richiedono solo dati da singole tabelle, ma altre possono usare un'ampia gamma di opzioni per includere dati da più tabelle.Many queries will only require data from a single tables, but others may use a variety of options to include data from multiple tables.

Tabelle

Scrittura di una queryWriting a query

Alla base delle ricerche log in Log Analytics vi è un linguaggio di query completo che consente di recuperare e analizzare i dati dal repository in diversi modi.At the core of log searches in Log Analytics is an extensive query language that lets you retrieve and analyze data from the repository in a variety of ways. Si tratta dello stesso linguaggio di query usato per Application Insights.This same query language is used for Application Insights. Imparare a scrivere una query è fondamentale per la creazione di ricerche log in Log Analytics.Learning how to write a query is critical to creating log searches in Log Analytics. Si inizia in genere con query semplici per poi usare funzioni più avanzate, man mano che i requisiti diventano più complessi.You'll typically start with basic queries and then progress to use more advanced functions as your requirements become more complex.

La struttura di base di una query è costituita da una tabella di origine seguita da una serie di operatori separati dal carattere barra verticale |.The basic structure of a query is a source table followed by a series of operators separated by a pipe character |. È possibile concatenare più operatori per eseguire operazioni di recupero dei dati e funzioni più elaborate e avanzate.You can chain together multiple operators to refine the data and perform advanced functions.

Ad esempio, si supponga di voler trovare i primi dieci computer nei quali si è verificata la maggior parte degli eventi di errore il giorno precedente.For example, suppose you wanted to find the top ten computers with the most error events over the past day.

Event
| where (EventLevelName == "Error")
| where (TimeGenerated > ago(1days))
| summarize ErrorCount = count() by Computer
| top 10 by ErrorCount desc

Oppure, potrebbe essere necessario individuare i computer senza heartbeat nelle ultime 24 ore.Or maybe you want to find computers that haven't had a heartbeat in the last day.

Heartbeat
| where TimeGenerated > ago(7d)
| summarize max(TimeGenerated) by Computer
| where max_TimeGenerated < ago(1d)  

Potrebbe anche essere utile un grafico a linee con l'utilizzo del processore per ogni computer nell'ultima settimana.How about a line chart with the processor utilization for each computer from last week?

Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time"
| where TimeGenerated  between (startofweek(ago(7d)) .. endofweek(ago(7d)) )
| summarize avg(CounterValue) by Computer, bin(TimeGenerated, 5min)
| render timechart    

Da questi semplici esempi è possibile notare che la struttura della query è simile, indipendentemente dal tipo di dati in uso.You can see from these quick samples that regardless of the kind of data that you're working with, the structure of the query is similar. È possibile suddividerla in passaggi distinti, in cui i dati risultanti da un comando vengono inviati tramite la pipeline al comando successivo.You can break it down into distinct steps where the resulting data from one command is sent through the pipeline to the next command.

È anche possibile eseguire query sui dati nelle aree di lavoro di Log Analytics nella sottoscrizione.You can also query data across Log Analytics workspaces within your subscription.

union Update, workspace("contoso-workspace").Update
| where TimeGenerated >= ago(1h)
| summarize dcount(Computer) by Classification 

Per una documentazione completa sul linguaggio di query di Azure Log Analytics, incluse esercitazioni e informazioni di riferimento sul linguaggio, vedere la documentazione del linguaggio di query di Azure Log Analytics.For complete documentation on the Azure Log Analytics query language including tutorials and language reference, see the Azure Log Analytics query language documentation.

Passaggi successiviNext steps