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

Automazione può inviare lo stato e i flussi del processo del runbook all'area di lavoro Log Analytics di Microsoft Operations Management Suite (OMS).Automation can send runbook job status and job streams to your Microsoft Operations Management Suite (OMS) 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 su processi di automazione.Get insight on your Automation jobs.
  • Trigger di un messaggio di posta elettronica o un avviso in base allo stato di processo del runbook (ad esempio, non è riuscita o in sospeso).Trigger an email or alert based on your runbook job status (for example, failed or suspended).
  • Scrivere query avanzate tra i flussi di lavoro.Write advanced queries across your job streams.
  • Correlare gli account di automazione di processi.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 l'ID della risorsa per l'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 l'ID della risorsa per l'area di lavoro Log Analitica, eseguire il comando PowerShell seguente: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 dispone di più di un account di automazione o aree di lavoro, l'output di comandi precedenti, trovare il nome è necessario configurare e copiare il valore per 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 il comando PowerShell seguente e modificare il valore per il [your resource id] e [resource id of the log analytics workspace] con i valori nel 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, si noterà record di Log Analitica entro 10 minuti di nuovo JobLogs o JobStreams in corso la scrittura.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 sta inviando i log all'area di lavoro Log Analitica, controllare che diagnostica siano configurata correttamente per l'account di automazione usando il comando 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 registri, il valore per abilitato è True.Under Logs, the value for Enabled is True.
  • Il valore di Idareadilavoro è impostato per l'ID della risorsa dell'area di lavoro Log Analitica.The value of WorkspaceId is set to the ResourceId of your Log Analytics workspace.

Record di Log AnalyticsLog Analytics records

Diagnostica di automazione di Azure crea due tipi di record nel Log Analitica e vengono contrassegnata come AzureDiagnostics.Diagnostics from Azure Automation creates two types of records in Log Analytics and are tagged as AzureDiagnostics. Le seguenti query di utilizzano il linguaggio di query aggiornati per Log Analitica.The following queries use the upgraded query language to Log Analytics. Per informazioni sulla query comuni tra legacy query language e il nuovo linguaggio di query Azure Log Analitica visitare Legacy a nuovo foglio informativo di linguaggio di Query Azure Log AnaliticaFor 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

Ora che si è iniziato a inviare i log del processo di automazione per Log Analitica, di seguito viene illustrato cosa si può fare con questi log all'interno di Log Analitica.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 del principale cliente chiede è la possibilità di inviare un messaggio di posta elettronica o un testo 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 di log per l'avviso digitando il seguente ricerca nel campo della query: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") è anche possibile raggruppare dal RunbookName utilizzando: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 si imposta backup dei log da più di un account di automazione o una sottoscrizione nell'area di lavoro, è possibile raggruppare gli avvisi per sottoscrizione e l'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. Nome dell'account di automazione è reperibile nel campo delle risorse 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 fatali non comportano il processo di sospensione o non riuscire.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 della query, digitare AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count() by JobId_g e quindi fare clic su di ricerca pulsante.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, è anche possibile esaminare i flussi di lavoro.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 OMSOMS 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:

  • Impostazione di avvisi per notificare quando si verifica 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