Inoltrare lo stato e i flussi del processo da Automazione a Log AnalyticsForward job status and job streams from Automation to Log Analytics

Automazione può inviare lo stato e i flussi del processo del runbook all'area di lavoro di Log Analytics.Automation can send runbook job status and job streams to your Log Analytics workspace. I log e i flussi di processo sono visibili nel portale di Azure o con PowerShell per i singoli processi e ciò consente di eseguire analisi semplici.Job logs and job streams are visible in the Azure portal, or with PowerShell, for individual jobs and this allows you to perform simple investigations. Con Log Analytics è ora possibile:Now with Log Analytics you can:

  • Ottenere informazioni dettagliate sui processi di Automazione.Get insight on your Automation jobs.
  • Attivare un messaggio di posta elettronica o un avviso in base allo stato del processo del runbook, ad esempio non riuscito o sospeso.Trigger an email or alert based on your runbook job status (for example, failed or suspended).
  • Scrivere query avanzate nei flussi del processo.Write advanced queries across your job streams.
  • Correlare i processi tra account di Automazione.Correlate jobs across Automation accounts.
  • Visualizzare la cronologia dei processi nel tempo.Visualize your job history over time.

Prerequisiti e considerazioni sulla distribuzionePrerequisites and deployment considerations

Per iniziare a inviare i log di Automazione a Log Analytics, sono necessari gli elementi seguenti:To start sending your Automation logs to Log Analytics, you need:

Per trovare il valore ResourceId dell'account di Automazione di Azure:To find the ResourceId for your Azure Automation account:

# Find the ResourceId for the Automation Account
Find-AzureRmResource -ResourceType "Microsoft.Automation/automationAccounts"

Per trovare il valore ResourceId dell'area di lavoro di Log Analytics, eseguire questo comando PowerShell:To find the ResourceId for your Log Analytics workspace, run the following PowerShell:

# Find the ResourceId for the Log Analytics workspace
Find-AzureRmResource -ResourceType "Microsoft.OperationalInsights/workspaces"

Se si ha più di un account di automazione o area di lavoro, nell'output dei comandi precedenti trovare il nome necessario per configurare e copiare il valore di ResourceId.If you have more than one Automation accounts, or workspaces, in the output of the preceding commands, find the Name you need to configure and copy the value for ResourceId.

Per trovare il nome dell'account di Automazione, nel portale di Azure selezionare l'account di Automazione dal pannello Account di Automazione e selezionare Tutte le impostazioni.If you need to find the Name of your Automation account, in the Azure portal select your Automation account from the Automation account blade and select All settings. Nel pannello Tutte le impostazioni selezionare Proprietà in Impostazioni account.From the All settings blade, under Account Settings select Properties. Nel pannello Proprietà è possibile prendere nota di questi valori.In the Properties blade, you can note these values.
Proprietà dell'account di Automazione.Automation Account properties.

Configurare l'integrazione con Log AnalyticsSet up integration with Log Analytics

  1. Nel computer locale avviare Windows PowerShell dalla schermata Start.On your computer, start Windows PowerShell from the Start screen.
  2. Eseguire questo comando di PowerShell e sostituire il valore di [your resource id] e [resource id of the log analytics workspace] con i valori del passaggio precedente.Run the following PowerShell, and edit the value for the [your resource id] and [resource id of the log analytics workspace] with the values from the preceding step.

    $workspaceId = "[resource id of the log analytics workspace]"
    $automationAccountId = "[resource id of your automation account]"
    
    Set-AzureRmDiagnosticSetting -ResourceId $automationAccountId -WorkspaceId $workspaceId -Enabled $true
    

Dopo aver eseguito questo script, i record in Log Analytics vengono visualizzati entro 10 minuti dalla scrittura di nuovi log o flussi di processo.After running this script, you'll see records in Log Analytics within 10 minutes of new JobLogs or JobStreams being written.

Per visualizzare i log, eseguire la seguente query nella ricerca log Log Analytics: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"To see the logs, run the following query in Log Analytics log search: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Verificare la configurazioneVerify configuration

Per verificare che l'account di Automazione invii i log all'area di lavoro di Log Analytics, accertarsi che la diagnostica sia configurata correttamente nell'account di Automazione usando il comando di PowerShell seguente:To confirm that your Automation account is sending logs to your Log Analytics workspace, check that diagnostics are correctly configured on the Automation account by using the following PowerShell:

Get-AzureRmDiagnosticSetting -ResourceId $automationAccountId

Nell'output verificare quanto segue:In the output ensure that:

  • In Logs il valore per Enabled deve essere impostato su True.Under Logs, the value for Enabled is True.
  • Il valore di WorkspaceId deve essere impostato sul valore ResourceId dell'area di lavoro di Log Analytics.The value of WorkspaceId is set to the ResourceId of your Log Analytics workspace.

Record di Log AnalyticsLog Analytics records

La diagnostica di Automazione di Azure crea due tipi di record in Log Analytics che vengono contrassegnati con il tag AzureDiagnostics.Diagnostics from Azure Automation creates two types of records in Log Analytics and are tagged as AzureDiagnostics. Le query seguenti usano il linguaggio di query aggiornato per Log Analytics.The following queries use the upgraded query language to Log Analytics. Per informazioni sulle query comuni tra il linguaggio di query legacy e il nuovo linguaggio di query di Azure Log Analytics, vedere Legacy to new Azure Log Analytics Query Language cheat sheet (Scheda di riferimento rapido per il passaggio dal linguaggio di query legacy al nuovo linguaggio di query di Azure Log Analytics)For information on common queries between legacy query language and the new Azure Log Analytics query language visit Legacy to new Azure Log Analytics Query Language cheat sheet

Log del processoJob Logs

ProprietàProperty DESCRIZIONEDescription
TimeGeneratedTimeGenerated Data e ora di esecuzione del processo del runbook.Date and time when the runbook job executed.
RunbookName_sRunbookName_s Il nome del runbook.The name of the runbook.
Caller_sCaller_s Chi ha avviato l'operazione.Who initiated the operation. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati.Possible values are either an email address or system for scheduled jobs.
Tenant_gTenant_g GUID che identifica il tenant del chiamante.GUID that identifies the tenant for the Caller.
JobId_gJobId_g Il GUID che rappresenta l'ID del processo del runbook.GUID that is the Id of the runbook job.
ResultTypeResultType Lo stato del processo di runbook.The status of the runbook job. I valori possibili sono:Possible values are:
- Nuovo- New
- Avviato- Started
- Interrotto- Stopped
- Sospeso- Suspended
- Non riuscito- Failed
- Completato- Completed
CategoriaCategory La classificazione del tipo di dati.Classification of the type of data. Per Automazione, il valore è JobLogs.For Automation, the value is JobLogs.
OperationNameOperationName Specifica il tipo di operazione eseguita in Azure.Specifies the type of operation performed in Azure. Per Automazione, il valore è Job.For Automation, the value is Job.
RisorsaResource Nome dell'account di AutomazioneName of the Automation account
SourceSystemSourceSystem Modo in cui Log Analytics ha raccolto i dati.How Log Analytics collected the data. È sempre Azure per la diagnostica di Azure.Always Azure for Azure diagnostics.
ResultDescriptionResultDescription Descrive lo stato del risultato del processo di runbook.Describes the runbook job result state. I valori possibili sono:Possible values are:
- Processo avviato- Job is started
- Processo non riuscito- Job Failed
- Processo completato- Job Completed
CorrelationIdCorrelationId Il GUID che rappresenta l'ID di correlazione del processo di runbook.GUID that is the Correlation Id of the runbook job.
ResourceIdResourceId Specifica l'ID risorsa dell'account di Automazione di Azure del runbook.Specifies the Azure Automation account resource id of the runbook.
SubscriptionIdSubscriptionId ID della sottoscrizione di Azure (GUID) per l'account di Automazione.The Azure subscription Id (GUID) for the Automation account.
ResourceGroupResourceGroup Nome del gruppo di risorse dell'account di Automazione.Name of the resource group for the Automation account.
ResourceProviderResourceProvider MICROSOFT.AUTOMATIONMICROSOFT.AUTOMATION
ResourceTypeResourceType AUTOMATIONACCOUNTSAUTOMATIONACCOUNTS

Flussi del processoJob Streams

ProprietàProperty DESCRIZIONEDescription
TimeGeneratedTimeGenerated Data e ora di esecuzione del processo del runbook.Date and time when the runbook job executed.
RunbookName_sRunbookName_s Il nome del runbook.The name of the runbook.
Caller_sCaller_s Chi ha avviato l'operazione.Who initiated the operation. I valori possibili sono un indirizzo di posta elettronica o il sistema per i processi pianificati.Possible values are either an email address or system for scheduled jobs.
StreamType_sStreamType_s Il tipo di flusso del processo.The type of job stream. I valori possibili sono:Possible values are:
- Avanzamento-Progress
- Output- Output
- Avviso- Warning
- Errore- Error
- Debug- Debug
- Dettagliato- Verbose
Tenant_gTenant_g GUID che identifica il tenant del chiamante.GUID that identifies the tenant for the Caller.
JobId_gJobId_g Il GUID che rappresenta l'ID del processo del runbook.GUID that is the Id of the runbook job.
ResultTypeResultType Lo stato del processo di runbook.The status of the runbook job. I valori possibili sono:Possible values are:
- In corso- In Progress
CategoriaCategory La classificazione del tipo di dati.Classification of the type of data. Per Automazione, il valore è JobStreams.For Automation, the value is JobStreams.
OperationNameOperationName Specifica il tipo di operazione eseguita in Azure.Specifies the type of operation performed in Azure. Per Automazione, il valore è Job.For Automation, the value is Job.
RisorsaResource Nome dell'account di AutomazioneName of the Automation account
SourceSystemSourceSystem Modo in cui Log Analytics ha raccolto i dati.How Log Analytics collected the data. È sempre Azure per la diagnostica di Azure.Always Azure for Azure diagnostics.
ResultDescriptionResultDescription Include il flusso di output dal runbook.Includes the output stream from the runbook.
CorrelationIdCorrelationId Il GUID che rappresenta l'ID di correlazione del processo di runbook.GUID that is the Correlation Id of the runbook job.
ResourceIdResourceId Specifica l'ID risorsa dell'account di Automazione di Azure del runbook.Specifies the Azure Automation account resource id of the runbook.
SubscriptionIdSubscriptionId ID della sottoscrizione di Azure (GUID) per l'account di Automazione.The Azure subscription Id (GUID) for the Automation account.
ResourceGroupResourceGroup Nome del gruppo di risorse dell'account di Automazione.Name of the resource group for the Automation account.
ResourceProviderResourceProvider MICROSOFT.AUTOMATIONMICROSOFT.AUTOMATION
ResourceTypeResourceType AUTOMATIONACCOUNTSAUTOMATIONACCOUNTS

Visualizzazione dei log di Automazione in Log AnalyticsViewing Automation Logs in Log Analytics

Dopo avere avviato l'invio di log di processo di Automazione a Log Analytics, si vedrà quali operazioni è possibile eseguire con questi log in Log Analytics.Now that you started sending your Automation job logs to Log Analytics, let’s see what you can do with these logs inside Log Analytics.

Per visualizzare i log eseguire questa query: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"To see the logs, run the following query: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Inviare un messaggio di posta elettronica quando un processo del runbook non riesce o viene sospesoSend an email when a runbook job fails or suspends

Uno dei clienti più importanti chiede di poter inviare un messaggio di posta elettronica o un SMS quando si verificano problemi con un processo del runbook.One of the top customer asks is for the ability to send an email or a text when something goes wrong with a runbook job.

Per creare una regola di avviso, è necessario creare prima di tutto una ricerca nei log per trovare i record del processo del runbook che dovranno richiamare l'avviso.To create an alert rule, you start by creating a log search for the runbook job records that should invoke the alert. Fare clic su pulsante Avviso per creare e configurare la regola di avviso.Click the Alert button to create and configure the alert rule.

  1. Dalla pagina della panoramica di Log Analytics fare clic su Ricerca log.From the Log Analytics Overview page, click Log Search.
  2. Creare una query di ricerca log per l'avviso digitando quanto segue nel campo della query: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") È anche possibile raggruppare in base al valore RunbookName usando: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_sCreate a log search query for your alert by typing the following search into the query field: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") You can also group by the RunbookName by using: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s

    Se sono stati configurati log da più account di Automazione o sottoscrizioni nell'area di lavoro, è possibile raggruppare gli avvisi per sottoscrizione o account di Automazione.If you set up logs from more than one Automation account or subscription to your workspace, you can group your alerts by subscription and Automation account. Si può trovare il nome dell'account di automazione nel campo Risorsa nella ricerca di JobLogs.Automation account name can be found in the Resource field in the search of JobLogs.

  3. Per aprire la schermata Aggiungi regola di avviso fare clic su Avviso nella parte superiore della pagina.To open the Add Alert Rule screen, click Alert at the top of the page. Per altre informazioni sulle opzioni per la configurazione dell'avviso, vedere Avvisi in Log Analytics.For more information on the options to configure the alert, see Alerts in Log Analytics.

Trovare tutti i processi completati con erroriFind all jobs that have completed with errors

Oltre agli avvisi per gli errori, è possibile determinare quando un processo del runbook presenta un errore non irreversibile.In addition to alerting on failures, you can find when a runbook job has a non-terminating error. In questi casi PowerShell produce un flusso di errore, ma gli errori non irreversibili non comportano la sospensione o l'esito negativo del processo.In these cases PowerShell produces an error stream, but the non-terminating errors don't cause your job to suspend or fail.

  1. Nell'area di lavoro di Log Analytics fare clic su Ricerca log.In your Log Analytics workspace, click Log Search.
  2. Nel campo delle query digitare AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count() by JobId_g e quindi fare clic sul pulsante Cerca.In the query field, type AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count() by JobId_g and then click the Search button.

Visualizzare flussi del processo per un processoView job streams for a job

Quando si esegue il debug di un processo, è consigliabile esaminarne anche i flussi.When you're debugging a job, you may also want to look into the job streams. La query seguente illustra tutti i flussi per un singolo processo con GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0:The following query shows all the streams for a single job with GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0:

AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0" | sort by TimeGenerated asc | project ResultDescription

Visualizzare lo stato cronologico del processoView historical job status

Infine, è consigliabile visualizzare la cronologia dei processi nel tempo.Finally, you may want to visualize your job history over time. È possibile usare questa query per cercare lo stato dei processi nel tempo.You can use this query to search for the status of your jobs over time.

AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started" | summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)

Grafico dello stato cronologico del processo di Log AnalyticsLog Analytics Historical Job Status Chart

SummarySummary

Inviando i dati di stato e flusso dei processi di Automazione a Log Analytics è possibile ottenere maggiori informazioni sullo stato dei processi di Automazione:By sending your Automation job status and stream data to Log Analytics, you can get better insight into the status of your Automation jobs by:

  • Configurando avvisi che segnalino la presenza di un problema.Setting up alerts to notify you when there is an issue.
  • Usando viste personalizzate e query di ricerca per visualizzare i risultati del runbook, lo stato dei processi del runbook e altri indicatori chiave o metriche correlati.Using custom views and search queries to visualize your runbook results, runbook job status, and other related key indicators or metrics.

Log Analytics offre maggiore visibilità operativa ai processi di Automazione e può consentire di gestire gli eventi imprevisti in modo più veloce.Log Analytics provides greater operational visibility to your Automation jobs and can help address incidents quicker.

Passaggi successiviNext steps