Esecuzione di runbook in Automazione di Azure

Quando si avvia un runbook in Automazione di Azure, viene creato un processo. Un processo è una singola istanza di esecuzione di un runbook. Per eseguire ogni processo, viene assegnato un computer di lavoro di Automazione di Azure. I computer di lavoro sono condivisi da più account Azure, mentre i processi di account di automazione diversi sono isolati l'uno dall'altro. Non si dispone inoltre di alcun controllo sul computer di lavoro che gestirà la richiesta per il processo. In un singolo runbook possono venire eseguiti più processi contemporaneamente. Quando si visualizza l'elenco dei runbook nel portale di Azure, è visibile lo stato dell'ultimo processo avviato per ogni runbook. È possibile visualizzare l'elenco dei processi per il singolo runbook per tenere traccia dello stato di ognuno. Per una descrizione dei diversi stati dei processi, vedere Stati dei processi.

Nel diagramma seguente viene illustrato il ciclo di vita di un processo del Runbook per Runbook grafici e Runbook del flusso di lavoro PowerShell.

Stati del processo - Flusso di lavoro PowerShell

Nel diagramma seguente viene illustrato il ciclo di vita di un processo runbook per Runbook PowerShell.

Stati del processo - Script PowerShell

I processi accederanno alle risorse di Azure effettuando una connessione alla sottoscrizione di Azure. Potranno accedere solo alle risorse del data center dell'utente se tali risorse sono accessibili dal cloud pubblico.

Stati dei processi

La tabella seguente descrive i diversi stati possibili per un processo.

Stato Descrizione
Completed Il processo è stato completato.
Failed Per Runbook grafico e runbook flusso di lavoro PowerShell, la compilazione di runbook non è riuscita. Per Runbook di Script di PowerShell, non è stato possibile avviare il runbook o il processo ha rilevato un'eccezione.
Failed, 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.
Queued Il processo è in attesa che diventino disponibili risorse in un computer di lavoro di Automazione per poter essere avviato.
Starting Il processo è stato assegnato a un computer di lavoro e il sistema lo sta avviando.
Resuming Il sistema sta per riprendere il processo dopo che è stato sospeso.
Running Il processo è in esecuzione.
Running, waiting for resources Il processo è stato scaricato perché ha raggiunto il limite di condivisione equa . Riprenderà a breve dall'ultimo checkpoint.
Stopped Il processo è stato arrestato dall'utente prima del completamento.
Stopping Il sistema sta arrestando il processo.
Suspended Il processo è stato sospeso dall'utente, dal sistema o da un comando del runbook. Un processo sospeso può essere riavviato e verrà ripreso dall'ultimo checkpoint o dall'inizio del runbook se non sono presenti checkpoint. Il runbook verrà sospeso dal sistema solo in caso di eccezione. Per impostazione predefinita, il valore di ErrorActionPreference è impostato su Continue , a indicare che il processo continuerà a essere eseguito in caso di errore. Se questa variabile di preferenza è impostata su Stop , il processo verrà sospeso in caso di errore. Si applica solo a Runbook grafico e al flusso di lavoro PowerShell .
Suspending Il sistema sta tentando di sospendere il processo su richiesta dell'utente. Il runbook deve raggiungere il checkpoint successivo prima di poter essere sospeso. Se ha già superato l'ultimo checkpoint, il processo verrà completato prima di poter essere sospeso. Si applica solo a Runbook grafico e al flusso di lavoro PowerShell .

Visualizzazione dello stato del processo dal portale di Azure

È 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. 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).

Riepilogo dei processi del Runbook di Automazione

Nel pannello dell'account di Automazione è possibile visualizzare tutti i processi del Runbook relativi a un account di Automazione selezionato sotto al riquadro Statistiche processi.

Riquadro Statistiche processi.
Questo riquadro visualizza un conteggio e una rappresentazione grafica dello stato dei processi per tutti i processi eseguiti.

Facendo clic sul riquadro apparirà il pannello Processi, che include un elenco riepilogativo di tutti i processi eseguiti, indicando lo stato, l'ora di avvio e di completamento del processo.

Pannello dei processi di account di Automazione

È possibile filtrare l'elenco dei processi selezionando Filtra processi nel pannello Processi per filtrare in uno specifico runbook, lo stato del processo, o dall'elenco a discesa, l'intervallo di data/ora entro cui eseguire la ricerca.

Filtrare lo stato dei processi

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. A questo punto viene visualizzato il pannello Processi, dove è possibile fare clic sul record del processo per visualizzarne i dettagli e l'output.

Pannello dei processi di account di Automazione

Riepilogo dei processi

È possibile visualizzare un elenco di tutti i processi creati per un determinato runbook e il relativo stato più recente. È possibile filtrare l'elenco in base allo stato del processo e all'intervallo di date dell'ultima modifica del processo. Fare clic sul nome di un processo per visualizzarne le informazioni dettagliate e l'output. La visualizzazione dettagliata del processo include i valori per i parametri del runbook che sono stati forniti al processo.

Per visualizzare i processi per un runbook, seguire questa procedura.

  1. Nel portale di gestione di Azure selezionare Automazione e quindi fare clic sul nome di un account di automazione.
  2. Fare clic sul nome di un runbook.
  3. Selezionare la scheda Processi .
  4. Fare clic sulla colonna Processo creato per un processo per visualizzarne i dettagli e l'output.

Recupero dello stato di un processo tramite Windows PowerShell

È possibile usare Get-AzureRmAutomationJob per recuperare i processi creati per un runbook e i dettagli di un processo specifico. Se si avvia un runbook con Windows PowerShell usando Start-AzureRmAutomationRunbook, verrà restituito il processo risultante. Usare Get-AzureRmAutomationJobper ottenere l'output di un processo.

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.

$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 equa

Per condividere le risorse tra tutti i runbook nel cloud, Automazione di Azure scaricherà temporaneamente qualsiasi processo in esecuzione da tre ore. I runbook Grafico e Flusso di lavoro PowerShell verranno ripresi dall'ultimo checkpoint. Durante questo periodo, per il processo verrà visualizzato lo stato Running, waiting for resources. Se il runbook non dispone di alcun checkpoint o non ha raggiunto il primo checkpoint prima di essere scaricato, verrà riavviato dall'inizio. PowerShell vengono sempre riavviati dall'inizio perché non supportano i checkpoint.

Se il runbook viene riavviato dallo stesso checkpoint o dall'inizio per tre volte consecutive, verrà terminato con lo stato Failed, waiting for resources. Questo avviene per impedire che i runbook vengano eseguiti all'infinito senza essere completati, in quanto non riusciranno a giungere al checkpoint successivo senza essere scaricati di nuovo. In tal caso, l'operazione avrà esito negativo e si riceverà un'eccezione che indica quanto segue.

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.

Quando si crea un runbook, è consigliabile assicurarsi che il tempo necessario per eseguire qualsiasi attività tra due checkpoint non superi le tre ore. Può essere necessario aggiungere checkpoint al runbook per garantire che non raggiunga tale limite o suddividere le operazioni che richiedono una lunga esecuzione. Ad esempio, il runbook potrebbe eseguire una reindicizzazione su un database SQL di grandi dimensioni. Se questa singola operazione non viene completata entro il limite di condivisione equa, il processo verrà scaricato e riavviato dall'inizio. 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.

Passaggi successivi