Soluzione Avvio/Arresto di macchine virtuali durante gli orari di minore attività (anteprima) in Automazione di AzureStart/Stop VMs during off-hours solution (preview) in Azure Automation

La soluzione Avvio/Arresto di macchine virtuali durante gli orari di minore attività avvia e arresta le macchine virtuali di Azure in base a pianificazioni definite dall'utente, fornisce informazioni dettagliate tramite Azure Log Analytics e invia messaggi di posta elettronica facoltativi usando SendGrid.The Start/Stop VMs during off-hours solution starts and stops your Azure virtual machines on user-defined schedules, provides insights through Azure Log Analytics, and sends optional emails by using SendGrid. Supporta sia Azure Resource Manager che le macchine virtuali classiche per la maggior parte degli scenari.It supports both Azure Resource Manager and classic VMs for most scenarios.

Questa soluzione fornisce un'opzione di automazione decentralizzata per gli utenti che vogliono ridurre i costi usando risorse senza server a basso costo.This solution provides a decentralized automation option for users who want to reduce their costs by using serverless, low-cost resources. Con questa soluzione, è possibile:With this solution, you can:

  • Pianificare le macchine virtuali per l'avvio e l'arresto.Schedule VMs to start and stop.
  • Pianificare le macchine virtuali per l'avvio e l'arresto in ordine crescente usando i tag di Azure (non supportati per le macchine virtuali classiche).Schedule VMs to start and stop in ascending order by using Azure Tags (not supported for classic VMs).
  • Arrestare automaticamente le macchine virtuali in caso di basso utilizzo della CPU.Auto-stop VMs based on low CPU usage.

prerequisitiPrerequisites

  • I runbook funzionano con un account RunAs di Azure.The runbooks work with an Azure Run As account. L'account RunAs è il metodo di autenticazione preferito perché usa l'autenticazione del certificato anziché una password, che potrebbe scadere o essere modificata di frequente.The Run As account is the preferred authentication method, because it uses certificate authentication instead of a password that might expire or change frequently.
  • Questa soluzione gestisce solo le macchine virtuali nella stessa sottoscrizione dell'account di Automazione di Azure.This solution manages only VMs that are in the same subscription as your Azure Automation account.
  • È possibile eseguire la distribuzione solo nelle aree di Azure seguenti: Australia sud-orientale, Canada centrale, India centrale, Stati Uniti orientali, Giappone orientale, Asia sud-orientale, Regno Unito meridionale ed Europa occidentale.This solution is deployed only to the following Azure regions: Australia Southeast, Canada Central, Central India, East US, Japan East, Southeast Asia, UK South, and West Europe.

    Nota

    I runbook che gestiscono la pianificazione delle macchine virtuali possono essere usati in qualsiasi area.The runbooks managing the VM schedule can target VMs in any region.

  • Per inviare notifiche tramite posta elettronica quando l'avvio e l'arresto dei runbook delle macchine virtuali finiscono, durante l'onboarding da Azure Marketplace selezionare per la distribuzione di SendGrid.To send email notifications when the start and stop VM runbooks finish, while onboarding from Azure Marketplace, select Yes to deploy SendGrid.

    Importante

    SendGrid è un servizio di terze parti.SendGrid is a third-party service. Per il supporto, contattare SendGrid.For support, contact SendGrid.

    Le limitazioni con SendGrid sono:Limitations with SendGrid are:

    • Un massimo di un account SendGrid per utente per ogni sottoscrizione.A maximum of one SendGrid account per user per subscription.
    • Un massimo di due account SendGrid per ogni sottoscrizione.A maximum of two SendGrid accounts per subscription.

Distribuire la soluzioneDeploy the solution

Seguire questa procedura per aggiungere la soluzione Avvio/Arresto di macchine virtuali durante gli orari di minore attività all'account di Automazione e quindi configurare le variabili per personalizzarla.Perform the following steps to add the Start/Stop VMs during off-hours solution to your Automation account, and then configure the variables to customize the solution.

  1. Nel portale di Azure fare clic su Crea una risorsa.In the Azure portal, click Create a resource.
  2. Nella pagina del Marketplace digitare una parola chiave, ad esempio Avvio o Avvio/Arresto.In the Marketplace page, type a keyword such as Start or Start/Stop. Non appena si inizia a digitare, l'elenco viene filtrato in base all'input.As you begin typing, the list filters based on your input. In alternativa, è possibile digitare una o più parole chiave contenute nel nome completo della soluzione e quindi premere INVIO.Alternatively, you can type in one or more keywords from the full name of the solution and then press Enter. Selezionare Avvio/Arresto di macchine virtuali durante gli orari di minore attività (anteprima) dai risultati della ricerca.Select Start/Stop VMs during off-hours [Preview] from the search results.
  3. Nella pagina Avvio/Arresto di macchine virtuali durante gli orari di minore attività (anteprima) per la soluzione selezionata esaminare le informazioni di riepilogo e quindi fare clic su Crea.In the Start/Stop VMs during off-hours [Preview] page for the selected solution, review the summary information and then click Create.

    Portale di Azure

  4. Viene visualizzata la pagina Aggiungi soluzione.The Add Solution page appears. Viene richiesto di configurare la soluzione prima di importarla nella sottoscrizione di Automazione.You are prompted to configure the solution before you can import it into your Automation subscription.

    Pagina Aggiungi soluzione di Virtual Machine Management

  5. Nella pagina Aggiungi soluzione selezionare Area di lavoro.On the Add Solution page, select Workspace. Selezionare un'area di lavoro di Log Analytics collegata alla stessa sottoscrizione di Azure in cui è incluso l'account di Automazione.Select a Log Analytics workspace that's linked to the same Azure subscription that the Automation account is in. Se non è disponibile un'area di lavoro, selezionare Crea una nuova area di lavoro.If you don't have a workspace, select Create New Workspace. Nella pagina Area di lavoro di OMS seguire questa procedura:On the OMS Workspace page, perform the following:

    • Specificare un nome per la nuova area di lavoro OMS.Specify a name for the new OMS Workspace.
    • Selezionare una sottoscrizione a cui collegarsi. Se la sottoscrizione selezionata per impostazione predefinita non è appropriata, è possibile sceglierne una dall'elenco a discesa.Select a Subscription to link to by selecting from the drop-down list, if the default selected is not appropriate.
    • Per il gruppo di risorse, è possibile selezionare un gruppo di risorse esistente o crearne uno nuovo.For Resource Group, you can create a new resource group or select an existing one.
    • Selezionare un percorso.Select a Location. Attualmente le uniche località disponibili sono: Australia sud-orientale, Canada centrale, India centrale, Stati Uniti orientali, Giappone orientale, Asia sud-orientale, Regno Unito meridionale ed Europa occidentale.Currently, the only locations available are Australia Southeast, Canada Central, Central India, East US, Japan East, Southeast Asia, UK South, and West Europe.
    • Selezionare un Piano tariffario.Select a Pricing tier. Scegliere l'opzione Per GB (autonomo).Choose the Per GB (Standalone) option. Log Analytics ha aggiornato i prezzi e il livello Per GB è l'unica opzione.Log Analytics has updated pricing and the Per GB tier is the only option.
  6. Dopo aver specificato le informazioni necessarie nella pagina Area di lavoro di OMS, fare clic su Crea.After providing the required information on the OMS workspace page, click Create. È possibile monitorarne lo stato scegliendo Notifiche dal menu. Al termine, si tornerà alla pagina Aggiungi soluzione.You can track its progress under Notifications from the menu, which returns you to the Add Solution page when done.

  7. Nella pagina Aggiungi soluzione selezionare Account di Automazione.On the Add Solution page, select Automation account. Se si sta creando una nuova area di lavoro di Log Analytics, è anche necessario creare un nuovo account di Automazione da associare.If you're creating a new Log Analytics workspace, you need to also create a new Automation account to be associated with it. Selezionare Crea un account di Automazione e specificare le informazioni seguenti nella pagina Aggiungi account di Automazione:Select Create an Automation account, and on the Add Automation account page, provide the following:

    • Nel campo Nome immettere il nome dell'account di Automazione.In the Name field, enter the name of the Automation account.

      Tutte le altre opzioni vengono popolate automaticamente in base all'area di lavoro di Log Analytics selezionata.All other options are automatically populated based on the Log Analytics workspace selected. Queste opzioni non possono essere modificate.These options cannot be modified. Il metodo di autenticazione predefinito per i runbook inclusi nella soluzione è un account RunAs di Azure.An Azure Run As account is the default authentication method for the runbooks included in this solution. Dopo aver fatto clic su OK, le opzioni di configurazione vengono convalidate e viene creato l'account di Automazione.After you click OK, the configuration options are validated and the Automation account is created. Per tenere traccia dello stato di avanzamento, è possibile usare la voce Notifiche nel menu.You can track its progress under Notifications from the menu.

  8. Nella pagina Aggiungi soluzione selezionare infine Configurazione.Finally, on the Add Solution page, select Configuration. Viene visualizzata la pagina Parametri.The Parameters page appears.

    Pagina dei parametri per la soluzione

    In questo caso, viene chiesto di:Here, you're prompted to:

    • Specificare i nomi dei gruppi di risorse di destinazione.Specify the Target ResourceGroup Names. Si tratta di nomi di gruppi di risorse contenenti le macchine virtuali che devono essere gestite da questa soluzione.These are resource group names that contain VMs to be managed by this solution. È possibile immettere più nomi, separati da una virgola. I valori non fanno distinzione tra maiuscole e minuscole.You can enter more than one name and separate each by using a comma (values are not case-sensitive). Per specificare come destinazione le macchine virtuali in tutti i gruppi di risorse della sottoscrizione, è possibile usare un carattere jolly.Using a wildcard is supported if you want to target VMs in all resource groups in the subscription. Questo valore viene archiviato nelle variabili External_Start_ResourceGroupNames ed External_Stop_ResourceGroupnames.This value is stored in the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames variables.
    • Specificare l'elenco di esclusione delle VM (stringa).Specify the VM Exclude List (string). Si tratta del nome di una o più macchine virtuali dal gruppo di risorse di destinazione.This is the name of one or more virtual machines from the target resource group. È possibile immettere più nomi, separati da una virgola. I valori non fanno distinzione tra maiuscole e minuscole.You can enter more than one name and separate each by using a comma (values are not case-sensitive). I caratteri jolly sono supportati.Using a wildcard is supported. Questo valore viene archiviato nella variabile External_ExcludeVMNames.This value is stored in the External_ExcludeVMNames variable.
    • Selezionare una pianificazione.Select a Schedule. Si tratta di una data e un'ora ricorrenti per l'avvio e l'arresto delle macchine virtuali nei gruppi di risorse di destinazione.This is a recurring date and time for starting and stopping the VMs in the target resource groups. Per impostazione predefinita, la pianificazione è configurata per il fuso orario UTC.By default, the schedule is configured to the UTC time zone. Non è possibile selezionare un'altra area.Selecting a different region is not available. Per configurare la pianificazione per il fuso orario specifico dopo aver configurato la soluzione, vedere Modifica della pianificazione di avvio e arresto.To configure the schedule to your specific time zone after configuring the solution, see Modifying the startup and shutdown schedule.
    • Per ricevere notifiche tramite posta elettronica da SendGrid, accettare il valore predefinito e fornire un indirizzo di posta elettronica valido.To receive Email notifications from SendGrid, accept the default value of Yes and provide a valid email address. Se si seleziona No, ma in seguito si decide di voler ricevere le notifiche tramite posta elettronica, è possibile aggiornare la variabile External_EmailToAddress con gli indirizzi di posta elettronica validi separati da virgola e quindi modificare la variabile External_IsSendEmail con il valore .If you select No but decide at a later date that you want to receive email notifications, you can update the External_EmailToAddress variable with valid email addresses separated by a comma, and then modify the variable External_IsSendEmail with the value Yes.

      Importante

      Il valore predefinito per i nomi dei gruppi di risorse di destinazione è *,The default value for Target ResourceGroup Names is a *. destinato a tutte le macchine virtuali in una sottoscrizione.This targets all VMs in a subscription. Se non si vuole che la soluzione interessi tutte le macchine virtuali nella sottoscrizione, questo valore deve essere aggiornato con un elenco di nomi di gruppi di risorse prima di abilitare le pianificazioni.If you do not want the solution to target all the VMs in your subscription this value needs to be updated to a list of resource group names prior to enabling the schedules.

  9. Dopo aver configurato le impostazioni iniziali necessarie per la soluzione, fare clic su OK per chiudere la pagina Parametri e selezionare Crea.After you have configured the initial settings required for the solution, click OK to close the Parameters page and select Create. Dopo la convalida di tutte le impostazioni, la soluzione viene distribuita nella sottoscrizione.After all settings are validated, the solution is deployed to your subscription. Questo processo può richiedere alcuni secondi. Per tenere traccia dello stato di avanzamento, è possibile usare la voce Notifiche nel menu.This process can take several seconds to finish, and you can track its progress under Notifications from the menu.

ScenariScenarios

La soluzione contiene tre diversi scenari.The solution contains three distinct scenarios. Questi scenari sono:These scenarios are:

Scenario 1: avviare/arrestare una macchina virtuale in base a una pianificazioneScenario 1: Start/Stop VMs on a schedule

Questa è la configurazione predefinita al momento della prima distribuzione della soluzione.This is the default configuration when you first deploy the solution. Ad esempio, è possibile configurarla per poter arrestare tutte le macchine virtuali in una sottoscrizione quando si lascia il luogo di lavoro la sera e avviarle al mattino quando si ritorna in ufficio.For example, you can configure it to stop all VMs across a subscription when you leave work in the evening, and start them in the morning when you are back in the office. Quando si configurano le pianificazioni Scheduled-StartVM e Scheduled-StopVM durante la distribuzione, queste avviano e arrestano le macchine virtuali di destinazione.When you configure the schedules Scheduled-StartVM and Scheduled-StopVM during deployment, they start and stop targeted VMs. È possibile configurare la soluzione per eseguire solamente l'arresto delle macchine virtuali. Per informazioni su come configurare una pianificazione personalizzata, vedere Modificare le pianificazioni di avvio e arresto.Configuring this solution to just stop VMs is supported, see Modify the startup and shutdown schedules to learn how to configure a custom schedule.

Nota

Il fuso orario è il fuso orario corrente quando si configura il parametro dell'orario di pianificazione.The time zone is your current time zone when you configure the schedule time parameter. Viene tuttavia archiviato nel formato UTC in Automazione di Azure.However, it is stored in UTC format in Azure Automation. Non è necessario eseguire alcuna conversione del fuso orario, perché questa operazione viene gestita durante la distribuzione.You do not have to do any time zone conversion as this is handled during the deployment.

È possibile controllare quali macchine virtuali rientrano nell'ambito configurando le variabili seguenti: External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames ed External_ExcludeVMNames.You control which VMs are in scope by configuring the following variables: External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames.

È possibile consentire di specificare come destinazione dell'azione una sottoscrizione e un gruppo di risorse oppure un elenco specifico di macchine virtuali, ma non entrambi.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Destinare le azioni di avvio e arresto a una sottoscrizione e un gruppo di risorseTarget the start and stop actions against a subscription and resource group

  1. Configurare le variabili External_Stop_ResourceGroupNames e External_ExcludeVMNames per specificare le macchine virtuali di destinazione.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Abilitare e aggiornare le pianificazioni Scheduled-StartVM e Scheduled-StopVM.Enable and update the Scheduled-StartVM and Scheduled-StopVM schedules.
  3. Eseguire il runbook ScheduledStartStop_Parent con il parametro ACTION impostato su start e il parametro WHATIF impostato su True per visualizzare in anteprima le modifiche.Run the ScheduledStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Specificare la destinazione dell'azione di avvio e arresto in base a un elenco di macchine virtualiTarget the start and stop action by VM list

  1. Eseguire il runbook ScheduledStartStop_Parent con il parametro ACTION impostato su start, aggiungere un elenco separato da virgole delle macchine virtuali nel parametro VMList e quindi impostare il parametro WHATIF su True.Run the ScheduledStartStop_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Visualizzare in anteprima le modifiche.Preview your changes.
  2. Configurare il parametro External_ExcludeVMNames con un elenco separato da virgole delle macchine virtuali (VM1,VM2,VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1,VM2,VM3).
  3. Questo scenario non rispetta le variabili External_Start_ResourceGroupNames ed External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Per questo scenario, è necessario creare la propria pianificazione di Automazione.For this scenario, you need to create your own Automation schedule. Per informazioni dettagliate, vedere Pianificazione di un runbook in Automazione di Azure.For details, see Scheduling a runbook in Azure Automation.

Nota

Il valore per Target ResourceGroup Names (Nomi dei gruppi di risorse di destinazione) viene archiviato come valore sia per External_Start_ResourceGroupNames che per External_Stop_ResourceGroupNames.The value for Target ResourceGroup Names is stored as the value for both External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames. Per un'ulteriore granularità, è possibile modificare ognuna di queste variabili per diversi gruppi di risorse.For further granularity, you can modify each of these variables to target different resource groups. Per l'azione di avvio, usare External_Start_ResourceGroupNames e, per l'azione di arresto, usare External_Stop_ResourceGroupNames.For start action, use External_Start_ResourceGroupNames, and for stop action, use External_Stop_ResourceGroupNames. Le macchine virtuali vengono aggiunte automaticamente alle pianificazioni di avvio e di arresto.VMs are automatically added to the start and stop schedules.

Scenario 2: avviare/arrestare le macchine virtuali in sequenza usando i tagScenario 2: Start/Stop VMS in sequence by using tags

In un ambiente che include due o più componenti su più macchine virtuali che supportano un carico di lavoro distribuito, è importante supportare la sequenza dei componenti da avviare e arrestare in ordine.In an environment that includes two or more components on multiple VMs supporting a distributed workload, supporting the sequence in which components are started and stopped in order is important. A tale scopo, seguire questa procedura:You can accomplish this by performing the following steps:

Destinare le azioni di avvio e arresto a una sottoscrizione e un gruppo di risorseTarget the start and stop actions against a subscription and resource group

  1. Aggiungere un tag SequenceStart e un tag SequenceStop con un valore intero positivo alle VM specificate come destinazione nelle variabili External_Start_ResourceGroupNames ed External_Stop_ResourceGroupNames.Add a SequenceStart and a SequenceStop tag with a positive integer value to VMs that are targeted in External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames variables. Le azioni di avvio e arresto vengono eseguite in ordine crescente.The start and stop actions are performed in ascending order. Per informazioni su come assegnare un tag a una macchina virtuale, vedere Come assegnare un tag a una macchina virtuale Windows in Azure e Come assegnare un tag a una macchina virtuale Linux in Azure.To learn how to tag a VM, see Tag a Windows Virtual Machine in Azure and Tag a Linux Virtual Machine in Azure.
  2. Modificare le pianificazioni Sequenced-StartVM e Sequenced-StopVM impostandole sulla data e ora che soddisfano i requisiti e abilitano la pianificazione.Modify the schedules Sequenced-StartVM and Sequenced-StopVM to the date and time that meet your requirements and enable the schedule.
  3. Eseguire il runbook SequencedStartStop_Parent con il parametro ACTION impostato su start e il parametro WHATIF impostato su True per visualizzare in anteprima le modifiche.Run the SequencedStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.
  4. Visualizzare in anteprima l'azione e apportare le modifiche necessarie prima dell'implementazione nelle VM di produzione.Preview the action and make any necessary changes before implementing against production VMs. Quando si è pronti, è possibile eseguire manualmente il runbook con il parametro impostato su False o lasciare che le pianificazioni di Automazione Sequenced-StartVM e Sequenced-StopVM vengano eseguite automaticamente dopo la pianificazione prescritta.When ready, manually execute the runbook with the parameter set to False, or let the Automation schedule Sequenced-StartVM and Sequenced-StopVM run automatically following your prescribed schedule.

Specificare la destinazione dell'azione di avvio e arresto in base a un elenco di macchine virtualiTarget the start and stop action by VM list

  1. Aggiungere un tag SequenceStart e un tag SequenceStop con un valore intero positivo alle macchine virtuali che si intende aggiungere alla variabile VMList.Add a SequenceStart and a SequenceStop tag with a positive integer value to VMs you plan to add to the VMList variable.
  2. Eseguire il runbook SequencedStartStop_Parent con il parametro ACTION impostato su start, aggiungere un elenco separato da virgole delle macchine virtuali nel parametro VMList e quindi impostare il parametro WHATIF su True.Run the SequencedStartStop_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Visualizzare in anteprima le modifiche.Preview your changes.
  3. Configurare il parametro External_ExcludeVMNames con un elenco separato da virgole delle macchine virtuali (VM1,VM2,VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1,VM2,VM3).
  4. Questo scenario non rispetta le variabili External_Start_ResourceGroupNames ed External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Per questo scenario, è necessario creare la propria pianificazione di Automazione.For this scenario, you need to create your own Automation schedule. Per informazioni dettagliate, vedere Pianificazione di un runbook in Automazione di Azure.For details, see Scheduling a runbook in Azure Automation.
  5. Visualizzare in anteprima l'azione e apportare le modifiche necessarie prima dell'implementazione nelle VM di produzione.Preview the action and make any necessary changes before implementing against production VMs. Quando si è pronti, è possibile eseguire manualmente il runbook con il parametro impostato su False o lasciare che le pianificazioni di Automazione Sequenced-StartVM e Sequenced-StopVM vengano eseguite automaticamente dopo la pianificazione prescritta.When ready, manually execute the runbook with the parameter set to False, or let the Automation schedule Sequenced-StartVM and Sequenced-StopVM run automatically following your prescribed schedule.

Scenario 3: automatizzare l'avvio/arresto in base all'utilizzo della CPUScenario 3: Start/Stop automatically based on CPU utilization

Questa soluzione consente di gestire i costi di esecuzione delle macchine virtuali nella sottoscrizione valutando le macchine virtuali di Azure non usate durante i periodi non di punta, ad esempio dopo l'orario di lavoro, e arrestandole automaticamente se l'utilizzo del processore è inferiore a x%.This solution can help manage the cost of running virtual machines in your subscription by evaluating Azure VMs that aren't used during non-peak periods, such as after hours, and automatically shutting them down if processor utilization is less than x%.

Per impostazione predefinita, la soluzione è stata preconfigurata per valutare la metrica relativa alla percentuale CPU per verificare se l'utilizzo medio è pari o inferiore al 5%.By default, the solution is pre-configured to evaluate the percentage CPU metric to see if average utilization is 5 percent or less. Questo è controllato dalle variabili seguenti e può essere modificato se i valori predefiniti non soddisfano i requisiti:This is controlled by the following variables and can be modified if the default values do not meet your requirements:

  • External_AutoStop_MetricNameExternal_AutoStop_MetricName
  • External_AutoStop_ThresholdExternal_AutoStop_Threshold
  • External_AutoStop_TimeAggregationOperatorExternal_AutoStop_TimeAggregationOperator
  • External_AutoStop_TimeWindowExternal_AutoStop_TimeWindow

È possibile consentire di specificare come destinazione dell'azione una sottoscrizione e un gruppo di risorse oppure un elenco specifico di macchine virtuali, ma non entrambi.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Destinare l'azione di arresto a una sottoscrizione e un gruppo di risorseTarget the stop action against a subscription and resource group

  1. Configurare le variabili External_Stop_ResourceGroupNames e External_ExcludeVMNames per specificare le macchine virtuali di destinazione.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Abilitare e aggiornare la pianificazione Schedule_AutoStop_CreateAlert_Parent.Enable and update the Schedule_AutoStop_CreateAlert_Parent schedule.
  3. Eseguire il runbook AutoStop_CreateAlert_Parent con il parametro ACTION impostato su start e il parametro WHATIF impostato su True per visualizzare in anteprima le modifiche.Run the AutoStop_CreateAlert_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Specificare la destinazione dell'azione di avvio e arresto in base a un elenco di macchine virtualiTarget the start and stop action by VM list

  1. Eseguire il runbook AutoStop_CreateAlert_Parent con il parametro ACTION impostato su start, aggiungere un elenco separato da virgole delle macchine virtuali nel parametro VMList e quindi impostare il parametro WHATIF su True.Run the AutoStop_CreateAlert_Parent runbook with the ACTION parameter set to start, add a comma-separated list of VMs in the VMList parameter, and then set the WHATIF parameter to True. Visualizzare in anteprima le modifiche.Preview your changes.
  2. Configurare il parametro External_ExcludeVMNames con un elenco separato da virgole delle macchine virtuali (VM1,VM2,VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1,VM2,VM3).
  3. Questo scenario non rispetta le variabili External_Start_ResourceGroupNames ed External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Per questo scenario, è necessario creare la propria pianificazione di Automazione.For this scenario, you need to create your own Automation schedule. Per informazioni dettagliate, vedere Pianificazione di un runbook in Automazione di Azure.For details, see Scheduling a runbook in Azure Automation.

Dopo aver creato una pianificazione per arrestare le macchine virtuali in base all'utilizzo della CPU, è necessario abilitare una delle pianificazioni seguenti per avviarle.Now that you have a schedule for stopping VMs based on CPU utilization, you need to enable one of the following schedules to start them.

  • Specificare la destinazione dell'azione di avvio in base a una sottoscrizione e un gruppo di risorse.Target start action by subscription and resource group. Vedere i passaggi descritti nello Scenario 1 per testare e abilitare la pianificazione Scheduled-StartVM.See the steps in Scenario 1 for testing and enabling Scheduled-StartVM schedules.
  • Specificare la destinazione dell'azione di avvio in base a una sottoscrizione, un gruppo di risorse e un tag.Target start action by subscription, resource group, and tag. Vedere i passaggi descritti nello Scenario 2 per testare e abilitare la pianificazione Sequenced-StartVM.See the steps in Scenario 2 for testing and enabling Sequenced-StartVM schedules.

Componenti della soluzioneSolution components

Questa soluzione include runbook preconfigurati, pianificazioni e integrazione con Log Analytics per poter personalizzare l'avvio e l'arresto delle macchine virtuali in base alle esigenze aziendali.This solution includes preconfigured runbooks, schedules, and integration with Log Analytics so you can tailor the startup and shutdown of your virtual machines to suit your business needs.

RunbookRunbooks

La tabella seguente elenca i runbook distribuiti nell'account di Automazione da questa soluzione.The following table lists the runbooks deployed to your Automation account by this solution. Non è consigliabile apportare modifiche al codice del runbook.You should not make changes to the runbook code. Scrivere invece il proprio runbook per le nuove funzionalità.Instead, write your own runbook for new functionality.

Importante

Non eseguire direttamente i runbook con "child" accodato al nome.Do not directly run any runbook with "child" appended to its name.

Tutti i runbook padre includono il parametro WhatIf.All parent runbooks include the WhatIf parameter. Se impostato su True, WhatIf supporta i dettagli relativi al comportamento esatto del runbook quando viene eseguito senza il parametro WhatIf e verifica che vengano specificate come destinazione le macchine virtuali corrette.When set to True, WhatIf supports detailing the exact behavior the runbook takes when run without the WhatIf parameter and validates the correct VMs are being targeted. Quando il parametro WhatIf è impostato su False, un runbook esegue solo le azioni definite.A runbook only performs its defined actions when the WhatIf parameter is set to False.

RunbookRunbook ParametersParameters DescrizioneDescription
AutoStop_CreateAlert_ChildAutoStop_CreateAlert_Child VMObjectVMObject
AlertActionAlertAction
WebHookURIWebHookURI
Chiamato dal runbook padre.Called from the parent runbook. Questo runbook crea gli avvisi in base alle risorse per lo scenario AutoStop.This runbook creates alerts on a per-resource basis for the AutoStop scenario.
AutoStop_CreateAlert_ParentAutoStop_CreateAlert_Parent VMListVMList
WhatIf: True o FalseWhatIf: True or False
Crea o aggiorna le regole di avviso di Azure nelle macchine virtuali nella sottoscrizione o nei gruppi di risorse selezionati.Creates or updates Azure alert rules on VMs in the targeted subscription or resource groups.
VMList: Elenco delimitato da virgole delle macchine virtuali.VMList: Comma-separated list of VMs. Ad esempio, vm1,vm2,vm3.For example, vm1,vm2,vm3.
WhatIf convalida la logica del runbook senza eseguirlo.WhatIf validates the runbook logic without executing.
AutoStop_DisableAutoStop_Disable Nessunonone Disabilita gli avvisi di AutoStop e la pianificazione predefinita.Disables AutoStop alerts and default schedule.
AutoStop_StopVM_ChildAutoStop_StopVM_Child WebHookDataWebHookData Chiamato dal runbook padre.Called from the parent runbook. Le regole di avviso chiamano questo runbook per arrestare la VM.Alert rules call this runbook to stop the VM.
Bootstrap_MainBootstrap_Main Nessunonone Usato una sola volta per impostare le configurazioni di bootstrap come webhookURI, che in genere non sono accessibili da Azure Resource Manager.Used one time to set up bootstrap configurations such as webhookURI, which are typically not accessible from Azure Resource Manager. Questo runbook viene rimosso automaticamente dopo il completamento della distribuzione.This runbook is removed automatically upon successful deployment.
ScheduledStartStop_ChildScheduledStartStop_Child VMNameVMName
Azione: avvio o arrestoAction: Start or Stop
ResourceGroupNameResourceGroupName
Chiamato dal runbook padre.Called from the parent runbook. Esegue un'azione di avvio o arresto per l'arresto pianificato.Executes a start or stop action for the scheduled stop.
ScheduledStartStop_ParentScheduledStartStop_Parent Azione: avvio o arrestoAction: Start or Stop
VMListVMList
WhatIf: True o FalseWhatIf: True or False
Ha effetto su tutte le VM della sottoscrizione.This affects all VMs in the subscription. Modificare External_Start_ResourceGroupNames ed External_Stop_ResourceGroupNames in modo che vengano eseguiti solo in questi gruppi di risorse di destinazione.Edit the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames to only execute on these targeted resource groups. È inoltre possibile escludere macchine virtuali specifiche aggiornando la variabile External_ExcludeVMNames.You can also exclude specific VMs by updating the External_ExcludeVMNames variable.
VMList: Elenco delimitato da virgole delle macchine virtuali.VMList: Comma-separated list of VMs. Ad esempio, vm1,vm2,vm3.For example, vm1,vm2,vm3.
WhatIf convalida la logica del runbook senza eseguirlo.WhatIf validates the runbook logic without executing.
SequencedStartStop_ParentSequencedStartStop_Parent Azione: avvio o arrestoAction: Start or Stop
WhatIf: True o FalseWhatIf: True or False
VMListVMList
Crea i tag denominati SequenceStart e SequenceStop in ogni VM per cui si vuole mettere in sequenza l'attività di avvio/arresto.Create tags named SequenceStart and SequenceStop on each VM for which you want to sequence start/stop activity. Il valore del tag deve essere un numero intero positivo (1, 2, 3) corrispondente all'ordine in cui si vuole eseguire l'avvio o l'arresto.The value of the tag should be a positive integer (1, 2, 3) that corresponds to the order in which you want to start or stop.
VMList: Elenco delimitato da virgole delle macchine virtuali.VMList: Comma-separated list of VMs. Ad esempio, vm1,vm2,vm3.For example, vm1,vm2,vm3.
WhatIf convalida la logica del runbook senza eseguirlo.WhatIf validates the runbook logic without executing.
Nota: le macchine virtuali devono trovarsi all'interno di gruppi di risorse definiti come External_Start_ResourceGroupNames External_Stop_ResourceGroupNames ed External_ExcludeVMNames nelle variabili di Automazione di Azure.Note: VMs must be within resource groups defined as External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames in Azure Automation variables. Devono avere i tag appropriati perché le azioni abbiano effetto.They must have the appropriate tags for actions to take effect.

variablesVariables

La tabella seguente elenca le variabili create nell'account di Automazione.The following table lists the variables created in your Automation account. È consigliabile modificare solo le variabili con il prefisso External.You should only modify variables prefixed with External. La modifica delle variabili con il prefisso Internal provoca effetti indesiderati.Modifying variables prefixed with Internal causes undesirable effects.

VariabileVariable DescrizioneDescription
External_AutoStop_ConditionExternal_AutoStop_Condition Operatore condizionale necessario per configurare la condizione prima che venga attivato un avviso.The conditional operator required for configuring the condition before triggering an alert. I valori possibili sono: GreaterThan, GreaterThanOrEqual, LessThan e LessThanOrEqual.Acceptable values are GreaterThan, GreaterThanOrEqual, LessThan, and LessThanOrEqual.
External_AutoStop_DescriptionExternal_AutoStop_Description Avviso per l'arresto della macchina virtuale se la percentuale della CPU supera la soglia di avviso.The alert to stop the VM if the CPU percentage exceeds the threshold.
External_AutoStop_MetricNameExternal_AutoStop_MetricName Nome della metrica delle prestazioni per cui deve essere configurata la regola di avviso di Azure.The name of the performance metric for which the Azure Alert rule is to be configured.
External_AutoStop_ThresholdExternal_AutoStop_Threshold Soglia per la regola di avviso di Azure specificata nella variabile External_AutoStop_MetricName.The threshold for the Azure Alert rule specified in the variable External_AutoStop_MetricName. I valori di percentuale possono variare da 1 a 100.Percentage values can range from 1 to 100.
External_AutoStop_TimeAggregationOperatorExternal_AutoStop_TimeAggregationOperator Operatore dell'aggregazione temporale che viene applicato alle dimensioni della finestra selezionata per valutare la condizione.The time aggregation operator, which is applied to the selected window size to evaluate the condition. I valori possibili sono: Average, Minimum, Maximum, Total e Last.Acceptable values are Average, Minimum, Maximum, Total, and Last.
External_AutoStop_TimeWindowExternal_AutoStop_TimeWindow Dimensioni della finestra durante le quali Azure analizza le metriche selezionate per l'attivazione di un avviso.The window size during which Azure analyzes selected metrics for triggering an alert. Questo parametro accetta l'input nel formato timespan.This parameter accepts input in timespan format. I valori possibili sono compresi tra 5 minuti e 6 ore.Possible values are from 5 minutes to 6 hours.
External_EmailFromAddressExternal_EmailFromAddress Specifica il mittente del messaggio di posta elettronica.Specifies the sender of the email.
External_EmailSubjectExternal_EmailSubject Specifica il testo per la riga dell'oggetto del messaggio di posta elettronica.Specifies the text for the subject line of the email.
External_EmailToAddressExternal_EmailToAddress Specifica i destinatari del messaggio di posta elettronica.Specifies the recipients of the email. Separare i nomi usando una virgola.Separate names by using a comma.
External_ExcludeVMNamesExternal_ExcludeVMNames Immettere i nomi delle macchine virtuali da escludere, separandoli usando una virgola senza spazi.Enter VM names to be excluded, separating names by using a comma with no spaces.
External_IsSendEmailExternal_IsSendEmail Specifica l'opzione per inviare la notifica tramite posta elettronica al termine dell'operazione.Specifies the option to send email notification upon completion. Specificare o No per non inviare il messaggio di posta elettronica.Specify Yes or No to not send email. Questa opzione deve essere No se non sono state abilitate le notifiche tramite posta elettronica durante la distribuzione iniziale.This option should be No if you did not enable email notifications during the initial deployment.
External_Start_ResourceGroupNamesExternal_Start_ResourceGroupNames Specifica uno o più gruppi di risorse, separando i valori con una virgola, destinati alle azioni di avvio.Specifies one or more resource groups, separating values by using a comma, targeted for start actions.
External_Stop_ResourceGroupNamesExternal_Stop_ResourceGroupNames Specifica uno o più gruppi di risorse, separando i valori con una virgola, destinati alle azioni di arresto.Specifies one or more resource groups, separating values by using a comma, targeted for stop actions.
Internal_AutomationAccountNameInternal_AutomationAccountName Specifica il nome dell'account di Automazione.Specifies the name of the Automation account.
Internal_AutoSnooze_WebhookUriInternal_AutoSnooze_WebhookUri Specifica l'URI del Webhook chiamato per lo scenario AutoStop.Specifies Webhook URI called for the AutoStop scenario.
Internal_AzureSubscriptionIdInternal_AzureSubscriptionId Specifica l'ID sottoscrizione di Azure.Specifies the Azure Subscription ID.
Internal_ResourceGroupNameInternal_ResourceGroupName Specifica il nome del gruppo di risorse dell'account di Automazione.Specifies the Automation account resource group name.
Internal_SendGridAccountNameInternal_SendGridAccountName Specifica il nome dell'account di SendGrid.Specifies the SendGrid account name.
Internal_SendGridPasswordInternal_SendGridPassword Specifica la password dell'account di SendGrid.Specifies the SendGrid account password.

In tutti gli scenari le variabili External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames ed External_ExcludeVMNames sono necessarie per definire la destinazione delle macchine virtuali, con l'eccezione di fornire un elenco separato da virgole delle macchine virtuali per i runbook AutoStop_CreateAlert_Parent, SequencedStartStop_Parent e ScheduledStartStop_Parent.Across all scenarios, the External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames variables are necessary for targeting VMs, with the exception of providing a comma-separated list of VMs for the AutoStop_CreateAlert_Parent, SequencedStartStop_Parent, and ScheduledStartStop_Parent runbooks. In altre parole, le macchine virtuali devono risiedere nei gruppi di risorse di destinazione perché si verifichino le azioni di avvio e arresto.That is, your VMs must reside in target resource groups for start and stop actions to occur. La logica funziona in modo simile ai criteri di Azure perché è possibile specificare come destinazione la sottoscrizione o il gruppo di risorse e lasciare che le azioni vengano ereditate dalle nuove macchine virtuali create.The logic works similar to Azure policy, in that you can target the subscription or resource group and have actions inherited by newly created VMs. Questo approccio evita di dover mantenere una pianificazione separata per ogni macchina virtuale e di gestire gli avvii e gli arresti in scala.This approach avoids having to maintain a separate schedule for every VM and manage starts and stops in scale.

PianificazioniSchedules

Nella tabella seguente sono elencate le pianificazioni create nell'account di Automazione.The following table lists each of the default schedules created in your Automation account. È possibile modificarle o creare le proprie pianificazioni personalizzate.You can modify them or create your own custom schedules. Ognuna è disabilitata per impostazione predefinita, a eccezione di Scheduled_StartVM e Scheduled-StopVM.By default, each of these are disabled except for Scheduled_StartVM and Scheduled_StopVM.

Non è consigliabile abilitare tutte le pianificazioni, perché potrebbe verificarsi una sovrapposizione delle azioni di pianificazione.You should not enable all schedules, because this might create overlapping schedule actions. È meglio determinare quali ottimizzazioni si vogliono eseguire e apportare le modifiche di conseguenza.It's best to determine which optimizations you want to perform and modify accordingly. Per altre informazioni, vedere gli scenari di esempio nella sezione Panoramica.See the example scenarios in the overview section for further explanation.

Nome pianificazioneSchedule name FrequenzaFrequency DescrizioneDescription
Schedule_AutoStop_CreateAlert_ParentSchedule_AutoStop_CreateAlert_Parent Ogni 8 oreEvery 8 hours Esegue il runbook AutoStop_CreateAlert_Parent ogni 8 ore, che a sua volta arresta i valori basati sulla macchina virtuale in External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames ed External_ExcludeVMNames nelle variabili di Automazione di Azure.Runs the AutoStop_CreateAlert_Parent runbook every 8 hours, which in turn stops the VM-based values in External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames in Azure Automation variables. In alternativa, è possibile specificare un elenco separato da virgole delle macchine virtuali usando il parametro VMList.Alternatively, you can specify a comma-separated list of VMs by using the VMList parameter.
Scheduled_StopVMScheduled_StopVM Definita dall'utente, giornalmenteUser defined, daily Esegue il runbook Scheduled_Parent con un parametro Stop ogni giorno all'ora specificata.Runs the Scheduled_Parent runbook with a parameter of Stop every day at the specified time. Arresta automaticamente tutte le macchine virtuali che soddisfano le regole definite dalle variabili di asset.Automatically stops all VMs that meet the rules defined by asset variables. È consigliabile abilitare la pianificazione correlata, Scheduled-StartVM.You should enable the related schedule, Scheduled-StartVM.
Scheduled_StartVMScheduled_StartVM Definita dall'utente, giornalmenteUser defined, daily Esegue il runbook Scheduled_Parent con un parametro Start ogni giorno all'ora specificata.Runs the Scheduled_Parent runbook with a parameter of Start every day at the specified time. Avvia automaticamente tutte le macchine virtuali che soddisfano le regole definite dalle variabili appropriate.Automatically starts all VMs that meet the rules defined by the appropriate variables. È consigliabile abilitare la pianificazione correlata, Scheduled-StopVM.You should enable the related schedule, Scheduled-StopVM.
Sequenced-StopVMSequenced-StopVM 1:00 (UTC), ogni venerdì1:00 AM (UTC), every Friday Esegue il runbook Sequenced_Parent con un parametro Stop ogni venerdì all'ora specificata.Runs the Sequenced_Parent runbook with a parameter of Stop every Friday at the specified time. Arresterà in sequenza (crescente) tutte le macchine virtuali con un tag SequenceStop definito dalle variabili appropriate.Sequentially (ascending) stops all VMs with a tag of SequenceStop defined by the appropriate variables. Vedere la sezione Runbook per altre informazioni sui valori di tag e sulle variabili di asset.Refer to the Runbooks section for more details on tag values and asset variables. È consigliabile abilitare la pianificazione correlata, Sequenced-StartVM.You should enable the related schedule, Sequenced-StartVM.
Sequenced-StartVMSequenced-StartVM 13:00 (UTC), ogni lunedì1:00 PM (UTC), every Monday Esegue il runbook Sequenced_Parent con un parametro Start ogni lunedì a una determinata ora.Runs the Sequenced_Parent runbook with a parameter of Start every Monday at the specified time. Avvia in sequenza (decrescente) tutte le macchine virtuali con un tag SequenceStart definito dalle variabili appropriate.Sequentially (descending) starts all VMs with a tag of SequenceStart defined by the appropriate variables. Vedere la sezione Runbook per altre informazioni sui valori di tag e sulle variabili di asset.Refer to the Runbooks section for more details on tag values and asset variables. È consigliabile abilitare la pianificazione correlata, Sequenced-StopVM.You should enable the related schedule, Sequenced-StopVM.

Record di Log AnalyticsLog Analytics records

Automazione crea due tipi di record nell'area di lavoro di Log Analytics: log di processo e flussi di processo.Automation creates two types of records in the Log Analytics workspace: job logs and job streams.

Log di processoJob logs

ProprietàProperty DESCRIZIONEDescription
ChiamanteCaller 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.
CategoriaCategory La classificazione del tipo di dati.Classification of the type of data. Per Automazione, il valore è JobLogs.For Automation, the value is JobLogs.
CorrelationIdCorrelationId GUID che rappresenta l'ID di correlazione del processo del runbook.GUID that is the Correlation ID of the runbook job.
JobIdJobId GUID che rappresenta l'ID del processo del runbook.GUID that is the ID of the runbook job.
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.
ResourceIdresourceId Specifica il tipo di risorsa in Azure.Specifies the resource type in Azure. Per Automazione, il valore è l'account di Automazione associato al runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceGroupResourceGroup Specifica il nome del gruppo di risorse del processo del runbook.Specifies the resource group name of the runbook job.
ResourceProviderResourceProvider Specifica il servizio di Azure che fornisce le risorse da distribuire e gestire.Specifies the Azure service that supplies the resources you can deploy and manage. Per Automazione, il valore è Automazione di Azure.For Automation, the value is Azure Automation.
ResourceTypeResourceType Specifica il tipo di risorsa in Azure.Specifies the resource type in Azure. Per Automazione, il valore è l'account di Automazione associato al runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType Lo stato del processo di runbook.The status of the runbook job. I valori possibili sono:Possible values are:
- Avviato- Started
- Interrotto- Stopped
- Sospeso- Suspended
- Non riuscito- Failed
- Completato- Succeeded
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
RunbookNameRunbookName Specifica il nome del runbook.Specifies the name of the runbook.
SourceSystemSourceSystem Specifica il sistema di origine per i dati inviati.Specifies the source system for the data submitted. Per Automazione, il valore è OpsManagerFor Automation, the value is OpsManager
StreamTypeStreamType Specifica il tipo di evento.Specifies the type of event. I valori possibili sono:Possible values are:
- Dettagliato- Verbose
- Output- Output
- Errore- Error
- Avviso- Warning
SubscriptionIdSubscriptionId Specifica l'ID sottoscrizione del processo.Specifies the subscription ID of the job.
TempoTime Data e ora di esecuzione del processo del runbook.Date and time when the runbook job executed.

Flussi di processoJob streams

ProprietàProperty DESCRIZIONEDescription
ChiamanteCaller 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.
CategoriaCategory La classificazione del tipo di dati.Classification of the type of data. Per Automazione, il valore è JobStreams.For Automation, the value is JobStreams.
JobIdJobId GUID che rappresenta l'ID del processo del runbook.GUID that is the ID of the runbook job.
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.
ResourceGroupResourceGroup Specifica il nome del gruppo di risorse del processo del runbook.Specifies the resource group name of the runbook job.
ResourceIdresourceId Specifica l'ID risorsa in Azure.Specifies the resource ID in Azure. Per Automazione, il valore è l'account di Automazione associato al runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceProviderResourceProvider Specifica il servizio di Azure che fornisce le risorse da distribuire e gestire.Specifies the Azure service that supplies the resources you can deploy and manage. Per Automazione, il valore è Automazione di Azure.For Automation, the value is Azure Automation.
ResourceTypeResourceType Specifica il tipo di risorsa in Azure.Specifies the resource type in Azure. Per Automazione, il valore è l'account di Automazione associato al runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType Risultato del processo del runbook al momento in cui è stato generato l'evento.The result of the runbook job at the time the event was generated. Un valore possibile è:A possible value is:
- InProgress- InProgress
resultDescriptionresultDescription Include il flusso di output dal runbook.Includes the output stream from the runbook.
RunbookNameRunbookName Il nome del runbook.The name of the runbook.
SourceSystemSourceSystem Specifica il sistema di origine per i dati inviati.Specifies the source system for the data submitted. Per Automazione, il valore è OpsManager.For Automation, the value is OpsManager.
StreamTypeStreamType 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
TempoTime Data e ora di esecuzione del processo del runbook.Date and time when the runbook job executed.

Quando si esegue una ricerca log che restituisce record di categoria di JobLogs o JobStreams, è possibile selezionare la visualizzazione JobLogs o JobStreams che presenta una serie di riquadri di riepilogo degli aggiornamenti restituiti dalla ricerca.When you perform any log search that returns category records of JobLogs or JobStreams, you can select the JobLogs or JobStreams view, which displays a set of tiles summarizing the updates returned by the search.

Ricerche di log di esempioSample log searches

La tabella seguente contiene esempi di ricerche nei log per i record dei processi raccolti da questa soluzione.The following table provides sample log searches for job records collected by this solution.

QueryQuery DESCRIZIONEDescription
Trova i processi completati per il runbook ScheduledStartStop_ParentFind jobs for runbook ScheduledStartStop_Parent that have finished successfully search Category == "JobLogs" | where ( RunbookName_s == "ScheduledStartStop_Parent" ) | where ( ResultType == "Completed" ) | summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h) | sort by TimeGenerated descsearch Category == "JobLogs" | where ( RunbookName_s == "ScheduledStartStop_Parent" ) | where ( ResultType == "Completed" ) | summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h) | sort by TimeGenerated desc
Trova i processi completati per il runbook SequencedStartStop_ParentFind jobs for runbook SequencedStartStop_Parent that have finished successfully search Category == "JobLogs" | where ( RunbookName_s == "SequencedStartStop_Parent" ) | where ( ResultType == "Completed" ) | summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h) | sort by TimeGenerated descsearch Category == "JobLogs" | where ( RunbookName_s == "SequencedStartStop_Parent" ) | where ( ResultType == "Completed" ) | summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h) | sort by TimeGenerated desc

Visualizzazione della soluzioneViewing the solution

Per accedere alla soluzione, passare all'account di Automazione e selezionare Area di lavoro in RISORSE CORRELATE.To access the solution, navigate to your Automation Account, select Workspace under RELATED RESOURCES. Nella pagina Log Analytics selezionare Soluzioni in GENERALE.On the Log Analytics page, select Solutions under GENERAL. Nella pagina Soluzioni selezionare la soluzione Start-Stop-VM[Workspace] (Avvio-Arresto-VM[Area di lavoro]) dall'elenco.On the Solutions page, select the solution Start-Stop-VM[workspace] from the list.

Selezionando la soluzione, viene visualizzata la pagina della soluzione Start-Stop-VM[workspace] (Avvio-Arresto-VM[Area di lavoro]),Selecting the solution displays the Start-Stop-VM[workspace] solution page. dove è possibile esaminare importanti dettagli, ad esempio il riquadro StartStopVM (Avvio e arresto di VM).Here you can review important details such as the StartStopVM tile. Come nell'area di lavoro di Log Analytics, questo riquadro mostra un conteggio e una rappresentazione grafica dei processi di runbook della soluzione che sono stati avviati e completati.As in your Log Analytics workspace, this tile displays a count and a graphical representation of the runbook jobs for the solution that have started and have finished successfully.

Pagina della soluzione Gestione aggiornamenti di Automazione

Da qui è possibile eseguire un'analisi aggiuntiva dei record dei processi facendo clic sul riquadro ad anello.From here, you can perform further analysis of the job records by clicking the donut tile. Il dashboard della soluzione mostra la cronologia processo e le query di ricerca log predefinite.The solution dashboard shows job history and pre-defined log search queries. Passare al portale avanzato di Log Analytics per eseguire una ricerca in base alle query di ricerca.Switch to the Log Analytics Advanced portal to search based on your search queries.

Configurare le notifiche di posta elettronicaConfigure email notifications

Per configurare le notifiche tramite posta elettronica dopo la distribuzione della soluzione, modificare le tre variabili seguenti:To configure email notifications after the solution is deployed, modify the following three variables:

  • External_EmailFromAddress: specificare l'indirizzo di posta elettronica del mittente.External_EmailFromAddress: Specify the sender's email address.
  • External_EmailToAddress: specificare un elenco separato da virgole di indirizzi di posta elettronica (user@hotmail.com, user@outlook.com) per ricevere notifiche tramite posta elettronica.External_EmailToAddress: Specify a comma-separated list of email addresses (user@hotmail.com, user@outlook.com) to receive notification emails.
  • External_IsSendEmail: impostare su per ricevere i messaggi di posta elettronica.External_IsSendEmail: Set to Yes to receive emails. Per disabilitare le notifiche tramite posta elettronica, impostare il valore su No.To disable email notifications, set value to No.

Modificare le pianificazioni di avvio e arrestoModify the startup and shutdown schedules

Per gestire le pianificazioni relative all'avvio e all'arresto in questa soluzione viene seguita la stessa procedura illustrata in Pianificazione di un runbook in Automazione di Azure.Managing the startup and shutdown schedules in this solution follows the same steps as outlined in Scheduling a runbook in Azure Automation.

È possibile configurare la soluzione per eseguire solamente l'arresto delle macchine virtuali a una data ora.Configuring the solution to just stop VMs at a certain time is supported. A questo scopo, è necessario:To do this, you need to:

  1. Verificare di aver aggiunto i gruppi di risorse per le macchine virtuali da arrestare nella variabile External_Start_ResourceGroupNames.Ensure you have added the resource groups for the VMs to shut down in the External_Start_ResourceGroupNames variable.
  2. Creare una pianificazione personalizzata per l'ora di arresto delle macchine virtuali.Create your own schedule for the time you want to shut down the VMs.
  3. Passare al runbook ScheduledStartStop_Parent e fare clic su Pianificazione.Navigate to the ScheduledStartStop_Parent runbook and click Schedule. In questo modo è possibile selezionare la pianificazione creata nel passaggio precedente.This allows you to select the schedule you created in the preceding step.
  4. Selezionare Parametri e impostazioni di esecuzione e impostare il parametro ACTION su "Stop".Select Parameters and run settings and set the ACTION parameter to "Stop".
  5. Fare clic su OK per salvare le modifiche.Click OK to save your changes.

Aggiornare la soluzioneUpdate the solution

Se è stata distribuita una versione precedente di questa soluzione, è necessario prima di tutto eliminarla dall'account prima di distribuire una versione aggiornata.If you have deployed a previous version of this solution, you must first delete it from your account before deploying an updated release. Seguire la procedura per rimuovere la soluzione e quindi eseguire i passaggi precedenti per distribuire la soluzione.Follow the steps to remove the solution and then follow the steps above to deploy the solution.

Rimuovere la soluzioneRemove the solution

Se non è più necessario usare la soluzione, è possibile eliminarla dall'account di Automazione.If you decide you no longer need to use the solution, you can delete it from the Automation account. Eliminando la soluzione, vengono rimossi solo i runbook.Deleting the solution only removes the runbooks. Non vengono eliminate le pianificazioni o le variabili create quando la soluzione è stata aggiunta.It does not delete the schedules or variables that were created when the solution was added. Tali asset devono essere eliminati manualmente se non vengono usati con altri runbook.Those assets you need to delete manually if you are not using them with other runbooks.

Per eliminare la soluzione, attenersi alla procedura seguente:To delete the solution, perform the following steps:

  1. Dall'account di Automazione selezionare Area di lavoro dalla pagina di sinistra.From your Automation account, select Workspace from the left page.
  2. Nella pagina Soluzioni selezionare la soluzione Start-Stop-VM[Workspace] (Avvio-Arresto-VM[Area di lavoro]).On the Solutions page, select the solution Start-Stop-VM[Workspace]. Nella pagina VMManagementSolution[area di lavoro] scegliere Elimina dal menu.On the VMManagementSolution[Workspace] page, from the menu, select Delete.

    Eliminare una soluzione di gestione di macchine virtualiDelete VM Mgmt Solution
  3. Nella finestra Elimina soluzione confermare di voler eliminare la soluzione.In the Delete Solution window, confirm that you want to delete the solution.
  4. Per tenere traccia dello stato di avanzamento della verifica delle informazioni e della rimozione della soluzione, è possibile usare la voce Notifiche nel menu.While the information is verified and the solution is deleted, you can track its progress under Notifications from the menu. Quando il processo di rimozione della soluzione inizia, l'utente viene rimandato alla pagina Soluzioni.You are returned to the Solutions page after the process to remove the solution starts.

L'account di Automazione e l'area di lavoro di Log Analytics non vengono eliminati come parte del processo.The Automation account and Log Analytics workspace are not deleted as part of this process. Se non si vuole conservare l'area di lavoro di Log Analytics, è necessario eliminarla manualmente.If you do not want to retain the Log Analytics workspace, you need to manually delete it. Tale operazione può essere eseguita dal portale di Azure:This can be accomplished from the Azure portal:

  1. Nella schermata iniziale del portale di Azure selezionare Log Analytics.From the Azure portal home screen, select Log Analytics.
  2. Nell pagina Log Analytics selezionare l'area di lavoro.On the Log Analytics page, select the workspace.
  3. Scegliere Elimina dal menu nella pagina delle impostazioni dell'area di lavoro.Select Delete from the menu on the workspace settings page.

Passaggi successiviNext steps