Esecuzione di runbook in Automazione di AzureRunbook execution in Azure Automation

Quando si avvia un runbook in Automazione di Azure, viene creato un processo.When you start a runbook in Azure Automation, a job is created. Un processo è una singola istanza di esecuzione di un runbook.A job is a single execution instance of a runbook. Per eseguire ogni processo, viene assegnato un computer di lavoro di Automazione di Azure.An Azure Automation worker is assigned to run each job. I computer di lavoro sono condivisi da più account Azure, mentre i processi di account di automazione diversi sono isolati l'uno dall'altro.While workers are shared by multiple Azure accounts, jobs from different Automation accounts are isolated from one another. Non si dispone di alcun controllo sul computer di lavoro che gestisce la richiesta per il processo.You do not have control over which worker services the request for your job. In un singolo runbook possono venire eseguiti più processi contemporaneamente.A single runbook can have multiple jobs running at one time. È possibile riusare l'ambiente di esecuzione per i processi dallo stesso account di automazione.The execution environment for jobs from the same Automation Account may be reused. Quando si visualizza l'elenco dei runbook nel portale di Azure, è visibile lo stato di tutti i processi avviati per ogni runbook.When you view the list of runbooks in the Azure portal, it lists the status of all jobs that were started for each runbook. È possibile visualizzare l'elenco dei processi per il singolo runbook per tenere traccia dello stato di ognuno.You can view the list of jobs for each runbook in order to track the status of each. Per una descrizione dei diversi stati dei processi, vedere Stati dei processi.For a description of the different job statuses Job Statuses.

Nel diagramma seguente viene illustrato il ciclo di vita di un processo del Runbook per Runbook grafici e Runbook del flusso di lavoro PowerShell.The following diagram shows the lifecycle of a runbook job for Graphical runbooks and PowerShell Workflow runbooks.

Stati del processo - Flusso di lavoro PowerShell

Nel diagramma seguente viene illustrato il ciclo di vita di un processo runbook per Runbook PowerShell.The following diagram shows the lifecycle of a runbook job for PowerShell runbooks.

Stati del processo - Script PowerShell

I processi accedono alle risorse di Azure eseguendo una connessione alla sottoscrizione di Azure.Your jobs have access to your Azure resources by making a connection to your Azure subscription. Possono accedere solo alle risorse del data center dell'utente se tali risorse sono accessibili dal cloud pubblico.They only have access to resources in your data center if those resources are accessible from the public cloud.

Stati dei processiJob statuses

La tabella seguente descrive i diversi stati possibili per un processo.The following table describes the different statuses that are possible for a job.

StatusStatus DESCRIZIONEDescription
CompletedCompleted Il processo è stato completato.The job completed successfully.
FailedFailed Per Runbook grafico e runbook flusso di lavoro PowerShell, la compilazione di runbook non è riuscita.For Graphical and PowerShell Workflow runbooks, the runbook failed to compile. Per Runbook di Script di PowerShell, non è stato possibile avviare il runbook o il processo ha rilevato un'eccezione.For PowerShell Script runbooks, the runbook failed to start or the job encountered an exception.
Failed, waiting for resourcesFailed, waiting for resources Il processo non è riuscito perché ha raggiunto il limite di condivisione equa tre volte iniziando ogni volta dallo stesso checkpoint o dall'inizio del runbook.The job failed because it reached the fair share limit three times and started from the same checkpoint or from the start of the runbook each time.
QueuedQueued Il processo è in attesa che diventino disponibili risorse in un computer di lavoro di Automazione per poter essere avviato.The job is waiting for resources on an Automation worker to come available so that it can be started.
Avvio in corsoStarting Il processo è stato assegnato a un computer di lavoro e il sistema lo sta avviando.The job has been assigned to a worker, and the system is in the process of starting it.
ResumingResuming Il sistema sta per riprendere il processo dopo che è stato sospeso.The system is in the process of resuming the job after it was suspended.
RunningRunning Il processo è in esecuzione.The job is running.
Running, waiting for resourcesRunning, waiting for resources Il processo è stato scaricato perché ha raggiunto il limite di condivisione equa .The job has been unloaded because it reached the fair share limit. Riprende a breve dall'ultimo checkpoint.It resumes shortly from its last checkpoint.
ArrestatoStopped Il processo è stato arrestato dall'utente prima del completamento.The job was stopped by the user before it was completed.
StoppingStopping Il sistema sta arrestando il processo.The system is in the process of stopping the job.
SuspendedSuspended Il processo è stato sospeso dall'utente, dal sistema o da un comando del runbook.The job was suspended by the user, by the system, or by a command in the runbook. Un processo sospeso può essere riavviato e viene ripreso dall'ultimo checkpoint o dall'inizio del runbook se non è in possesso di checkpoint.A job that is suspended can be started again and resume from its last checkpoint or from the beginning of the runbook if it doesn't have checkpoints. Il runbook verrà sospeso dal sistema quando ha luogo un'eccezione.The runbook will only be suspended by the system when an exception occurs. Per impostazione predefinita, il valore di ErrorActionPreference è impostato su Continua, a indicare che il processo continua a essere eseguito in caso di errore.By default, ErrorActionPreference is set to Continue, meaning that the job keeps running on an error. Se questa variabile di preferenza è impostata su Stop, il processo viene sospeso in caso di errore.If this preference variable is set to Stop, then the job suspends on an error. Si applica solo a Runbook grafico e al flusso di lavoro PowerShell .Applies to Graphical and PowerShell Workflow runbooks only.
SuspendingSuspending Il sistema sta tentando di sospendere il processo su richiesta dell'utente.The system is attempting to suspend the job at the request of the user. Il runbook deve raggiungere il checkpoint successivo prima di poter essere sospeso.The runbook must reach its next checkpoint before it can be suspended. Se ha già superato l'ultimo checkpoint, il processo viene completato prima di poter essere sospeso.If it already passed its last checkpoint, then it completes before it can be suspended. Si applica solo a Runbook grafico e al flusso di lavoro PowerShell .Applies to Graphical and PowerShell Workflow runbooks only.

Visualizzazione dello stato del processo dal portale di AzureViewing job status from the Azure portal

È possibile visualizzare lo stato riassuntivo di tutti i processi del Runbook oppure esaminare i dettagli di uno specifico processo del Runbook nel portale di Azure o configurando l'integrazione con l'area di lavoro di Log Analytics di Microsoft Operations Management Suite (OMS) per inoltrare i flussi e lo stato del processo del Runbook.You can view a summarized status of all runbook jobs or drill into details of a specific runbook job in the Azure portal or by configuring integration with your Microsoft Operations Management Suite (OMS) Log Analytics workspace to forward runbook job status and job streams. Per altre informazioni sull'integrazione con Log Analytics di OMS, vedere Inoltrare lo stato e i flussi del processo da Automazione a Log Analytics (OMS).For more information about integrating with OMS Log Analytics, see Forward job status and job streams from Automation to Log Analytics (OMS).

Riepilogo dei processi del Runbook di AutomazioneAutomation runbook jobs summary

A destra dell'account di Automazione selezionato, è possibile visualizzare tutti i processi del Runbook relativi a un account di Automazione selezionato sotto al riquadro Statistiche processi.On the right of your selected Automation account, you can see a summary of all of the runbook jobs for a selected Automation account under Job Statistics tile.

Riquadro Statistiche processi.Job Statistics tile.
Questo riquadro visualizza un conteggio e una rappresentazione grafica dello stato dei processi per tutti i processi eseguiti.This tile displays a count and graphical representation of the job status for all jobs executed.

Facendo clic sul riquadro appare il pannello Processi, che include un elenco riepilogativo di tutti i processi eseguiti, indicando lo stato e l'ora di avvio e di completamento del processo.Clicking on the tile presents the Jobs blade, which includes a summarized list of all jobs executed, with status, job execution, and start and completion times.

Pannello dei processi di account di AutomazioneAutomation account Jobs blade

È possibile filtrare l'elenco dei processi selezionando Filtra processi e filtrare in uno specifico runbook, lo stato del processo, o dall'elenco a discesa, l'intervallo di data/ora entro cui eseguire la ricerca.You can filter the list of jobs by selecting Filter jobs and filter on a specific runbook, job status, or from the drop-down list, the date/time range to search within.

Filtrare lo stato dei processiFilter Job status

In alternativa, è possibile visualizzare i dettagli di riepilogo dei processi per un runbook specifico selezionando tale runbook dal pannello Runbook nel proprio account di Automazione e, successivamente, selezionare il riquadro Processi.Alternatively, you can view job summary details for a specific runbook by selecting that runbook from the Runbooks blade in your Automation account, and then select the Jobs tile. A questo punto viene visualizzato il pannello Processi, dove è possibile fare clic sul record del processo per visualizzarne i dettagli e l'output.This presents the Jobs blade, and from there you can click on the job record to view its detail and output.

Pannello dei processi di account di AutomazioneAutomation account Jobs blade

Riepilogo dei processiJob Summary

È possibile visualizzare un elenco di tutti i processi creati per un determinato runbook e il relativo stato più recente.You can view a list of all of the jobs that have been created for a particular runbook and their most recent status. È possibile filtrare l'elenco in base allo stato del processo e all'intervallo di date dell'ultima modifica del processo.You can filter this list by job status and the range of dates for the last change to the job. Fare clic sul nome di un processo per visualizzarne le informazioni dettagliate e l'output.To view its detailed information and output, click on the name of a job. La visualizzazione dettagliata del processo include i valori per i parametri del runbook che sono stati forniti al processo.The detailed view of the job includes the values for the runbook parameters that were provided to that job.

Per visualizzare i processi per un runbook, seguire questa procedura.You can use the following steps to view the jobs for a runbook.

  1. Nel portale di Azure, selezionare Automazione e selezionare il nome di un account di automazione.In the Azure portal, select Automation and then select the name of an Automation account.
  2. Dall'hub, selezionare Runbook e quindi sul pannello Runbook selezionare un runbook dall'elenco.From the hub, select Runbooks and then on the Runbooks blade select a runbook from the list.
  3. Nel pannello per il runbook selezionato, fare clic sul riquadro Processi.On the blade for the selected runbook, click the Jobs tile.
  4. Fare clic su uno dei processi nell'elenco e nel pannello dei dettagli del processo di runbook è possibile visualizzarne i dettagli e l'output.Click on one of the jobs in the list and on the runbook job details blade you can view its detail and output.

Recupero dello stato di un processo tramite Windows PowerShellRetrieving job status using Windows PowerShell

È possibile usare Get-AzureRmAutomationJob per recuperare i processi creati per un runbook e i dettagli di un processo specifico.You can use the Get-AzureRmAutomationJob to retrieve the jobs created for a runbook and the details of a particular job. Se si avvia un runbook con Windows PowerShell tramite Start-AzureRmAutomationRunbook, viene restituito il processo risultante.If you start a runbook with Windows PowerShell using Start-AzureRmAutomationRunbook, then it returns the resulting job. Usare Get-AzureRmAutomationJobper ottenere l'output di un processo.Use Get-AzureRmAutomationJobOutput to get a job’s output.

I comandi di esempio seguenti recuperano l'ultimo processo per un runbook di esempio e ne visualizzano lo stato, i valori specificati per i parametri del runbook e l'output del processo.The following sample commands retrieve the last job for a sample runbook and displays its status, the values provided for the runbook parameters, and the output from the job.

$job = (Get-AzureRmAutomationJob –AutomationAccountName "MyAutomationAccount" `
–RunbookName "Test-Runbook" -ResourceGroupName "ResourceGroup01" | sort LastModifiedDate –desc)[0]
$job.Status
$job.JobParameters
Get-AzureRmAutomationJobOutput -ResourceGroupName "ResourceGroup01" `
–AutomationAccountName "MyAutomationAcct" -Id $job.JobId –Stream Output

condivisione equaFair share

Per condividere le risorse tra tutti i runbook nel cloud, Automazione di Azure scaricherà temporaneamente qualsiasi processo in esecuzione da tre ore.In order to share resources among all runbooks in the cloud, Azure Automation will temporarily unload any job after it has been running for three hours. Durante questo periodo, i processi per runbook basati su PowerShell vengono arrestati e non verranno riavviati.During this time, jobs for PowerShell-based runbooks are stopped and will not be restarted. Lo stato processo visualizza Arrestato.The job status shows Stopped. Questo tipo di runbook viene sempre riavviato dall'inizio perché non supporta i checkpoint.This type of runbook is always restarted from the beginning since they don't support checkpoints.

I runbook basati su Workflow-PowerShell verranno ripresi dall'ultimo checkpoint.PowerShell-Workflow-based runbooks will be resumed from their last checkpoint. Dopo essere eseguito tre ore, il processo del runbook verrà sospeso dal servizio e il relativo stato visualizza In esecuzione, in attesa delle risorse.After running three hours, the runbook job will be suspended by the service and its status shows Running, waiting for resources. Quando un sandbox diventa disponibile, il runbook verrà riavviato automaticamente dal servizio di Automazione di Azure e ripreso dall'ultimo checkpoint.When a sandbox becomes available, the runbook will be automatically restarted by the Automation service and resumes from the last checkpoint. Questo è il comportamento normale di Workflow-PowerShell per sospendere/riavviare.This is normal PowerShell-Workflow behavior for suspend/restart. Se il runbook supera nuovamente tre ore di runtime, il processo viene ripetuto fino a tre volte.If the runbook again exceeds three hours of runtime, the process repeats, up to three times. Dopo il terzo riavvio, se il runbook ancora non è stato completato in tre ore, allora il processo di runbook non ha esito positivo, e lo stato del processo visualizza Non riuscito, in attesa di risorse.After the third restart, if the runbook still has not completed in three hours, then the runbook job is failed, and the job status shows Failed, waiting for resources. In tal caso, l'operazione avrà esito negativo e si riceve un'eccezione che indica quanto segue.In this case, you receive the following exception with the failure.

L'esecuzione del processo non può continuare perché il processo è stato rimosso ripetutamente dallo stesso checkpoint. Verificare che il runbook non esegua operazioni di lunga durata senza rendere persistente il proprio stato.The job cannot continue running because it was repeatedly evicted from the same checkpoint. Please make sure your Runbook does not perform lengthy operations without persisting its state.

Questo avviene per impedire che nel servizio i runbook vengano eseguiti all'infinito senza essere completati, in quanto non riusciranno a giungere al checkpoint successivo senza essere scaricati di nuovo.This is to protect the service from runbooks running indefinitely without completing, as they are not able to make it to the next checkpoint without being unloaded again.

Se il runbook non dispone di alcun checkpoint o non ha raggiunto il primo checkpoint prima di essere scaricato, viene riavviato dall'inizio.If the runbook has no checkpoints or the job had not reached the first checkpoint before being unloaded, then it restarts from the beginning.

Quando si crea un runbook, è consigliabile assicurarsi che il tempo necessario per eseguire qualsiasi attività tra due checkpoint non superi le tre ore.When you create a runbook, you should ensure that the time to run any activities between two checkpoints does not exceed three hours. Può essere necessario aggiungere checkpoint al runbook per garantire che non raggiunga tale limite o suddividere le operazioni che richiedono una lunga esecuzione.You may need to add checkpoints to your runbook to ensure that it does not reach this three hour limit or break up long running operations. Ad esempio, il runbook potrebbe eseguire una reindicizzazione su un database SQL di grandi dimensioni.For example, your runbook might perform a reindex on a large SQL database. Se questa singola operazione non viene completata entro il limite di condivisione equa, il processo viene scaricato e riavviato dall'inizio.If this single operation does not complete within the fair share limit, then the job are unloaded and restarted from the beginning. In tal caso, è opportuno suddividere l'operazione di reindicizzazione in più passaggi, ad esempio specificando la reindicizzazione di una tabella alla volta, e quindi inserire un checkpoint dopo ogni operazione in modo che il processo possa riprendere dopo l'ultima operazione da completare.In this case, you should break up the reindex operation into multiple steps, such as reindexing one table at a time, and then insert a checkpoint after each operation so that the job could resume after the last operation to complete.

Passaggi successiviNext steps