Solução Iniciar/Parar VMs fora do horário comercial na Automação do AzureStart/Stop VMs during off-hours solution in Azure Automation

Iniciar/Parar VMs durante os horários de solução inicia e interrompe as máquinas virtuais do Azure em agendamentos definidos pelo usuário, fornece informações por meio de logs do Azure Monitor e envia emails opcionais utilizando grupos de ação.The Start/Stop VMs during off-hours solution starts and stops your Azure virtual machines on user-defined schedules, provides insights through Azure Monitor logs, and sends optional emails by using action groups. A solução dá suporte ao Azure Resource Manager e VMs clássicas na maioria dos cenários.It supports both Azure Resource Manager and classic VMs for most scenarios.

Observação

Iniciar/Parar VMs durante os horários de solução foi testada com os módulos do Azure que são importados para sua conta de automação, quando você implanta a solução.The Start/Stop VMs during off-hours solution has been tested with the Azure modules that are imported into your Automation Account when you deploy the solution. A solução atualmente não funciona com as versões mais recentes do módulo do Azure.The solution does currently not work with newer versions of the Azure module. Isso afeta somente a conta de automação que você usa para executar a iniciar/parar VMs durante a solução de fora do horário comercial.This only affects the Automation Account that you use to run the Start/Stop VMs during off-hours solution. Você ainda pode usar as versões mais recentes do módulo do Azure em suas outras contas de automação, conforme descrito em como atualizar módulos do Azure PowerShell na automação do AzureYou can still use newer versions of the Azure module in your other Automation Accounts, as described in How to update Azure PowerShell modules in Azure Automation

Essa solução fornece uma opção de automação de baixo custo descentralizada para usuários que desejam otimizar seus custos de VM.This solution provides a decentralized low-cost automation option for users who want to optimize their VM costs. Com essa solução, você pode:With this solution, you can:

  • Agendar VMs para iniciar e parar.Schedule VMs to start and stop.
  • Agendar VMs para iniciar e parar em ordem crescente usando Marcas do Azure (incompatível com VMs clássicas).Schedule VMs to start and stop in ascending order by using Azure Tags (not supported for classic VMs).
  • Parar VMs automaticamente com base em baixo uso da CPU.Autostop VMs based on low CPU usage.

A seguir, são limitações para a solução atual:The following are limitations to the current solution:

  • Essa solução gerencia VMs em qualquer região, mas só pode ser usada na mesma assinatura que sua conta do Azure Automation.This solution manages VMs in any region, but can only be used in the same subscription as your Azure Automation account.
  • Esta solução está disponível no Azure e no AzureGov para qualquer região que ofereça suporte a um espaço de trabalho do Log Analytics, uma conta do Azure Automation e Alertas.This solution is available in Azure and AzureGov to any region that supports a Log Analytics workspace, an Azure Automation account, and Alerts. As regiões do AzureGov atualmente não suportam a funcionalidade de e-mail.AzureGov regions currently do not support email functionality.

Observação

Se você estiver usando a solução para VMs clássicas, todas as VMs serão processadas sequencialmente pelo serviço de nuvem.If you are using the solution for classic VMs, then all your VMs will be processed sequentially per cloud service. Máquinas virtuais ainda são processadas em paralelo entre diferentes serviços de nuvem.Virtual machines are still processed in parallel across different cloud services.

As assinaturas do Azure CSP (Provedor de Soluções na Nuvem do Azure) dão suporte apenas ao modelo do Azure Resource Manager, serviços que não são do Azure Resource Manager não estão disponíveis no programa.Azure Cloud Solution Provider (Azure CSP) subscriptions support only the Azure Resource Manager model, non-Azure Resource Manager services are not available in the program. Quando a solução Iniciar/Parar é executada, você pode receber erros, pois ele tem cmdlets para gerenciar os recursos clássicos.When the Start/Stop solution runs you may receive errors as it has cmdlets to manage classic resources. Para saber mais sobre CSP, confira Serviços disponíveis em assinaturas do CSP.To learn more about CSP, see Available services in CSP subscriptions. Se usar uma assinatura do CSP, você deverá modificar a variável External_EnableClassicVMs para False após a implantação.If you use a CSP subscription, you should modify the External_EnableClassicVMs variable to False after deployment.

Observação

Este artigo foi atualizado recentemente para usar o termo logs do Azure Monitor em vez de Log Analytics.This article was recently updated to use the term Azure Monitor logs instead of Log Analytics. Os dados de log ainda são armazenados em um espaço de trabalho do Log Analytics e ainda são coletados e analisados pelo mesmo serviço do Log Analytics.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Estamos atualizando a terminologia para refletir melhor a função dos logs no Azure Monitor.We are updating the terminology to better reflect the role of logs in Azure Monitor. Confira as alterações de terminologia do Azure Monitor para obter detalhes.See Azure Monitor terminology changes for details.

Pré-requisitosPrerequisites

Os runbooks para esta solução funcionam com uma conta do Azure Run As.The runbooks for this solution work with an Azure Run As account. A conta Executar como é o método de autenticação preferido, pois ela usa a autenticação de certificado em vez de uma senha que poderá expirar ou ser alterada com frequência.The Run As account is the preferred authentication method, because it uses certificate authentication instead of a password that might expire or change frequently.

É recomendável usar uma conta de automação separada para a solução iniciar/parar VM.It is recommended to use a separate Automation Account for the Start/Stop VM solution. Isso ocorre porque as versões do módulo do Azure são atualizadas com frequência, e seus parâmetros pode ser alterado.This is because Azure module versions are frequently upgraded, and their parameters may change. A solução iniciar/parar VM não será atualizada na mesma cadência, portanto, ele pode não funcionar com as versões mais recentes dos cmdlets que ele usa.The Start/Stop VM solution is not upgraded on the same cadence so it may not work with newer versions of the cmdlets that it uses. É recomendável testar atualizações do módulo em uma conta de automação de teste antes de importá-los em sua conta de automação de produção.It is recommended to test module updates in a test Automation Account prior to importing them in your production Automation Account.

Permissões necessárias para implantarPermissions needed to deploy

Há determinadas permissões que um usuário deve ter para implantar a iniciar/parar VMs durante a solução de horas.There are certain permissions that a user must have to deploy the Start/Stop VMs during off hours solution. Essas permissões são diferentes se usar um espaço de trabalho de conta de automação e o Log Analytics criado previamente ou criar novos durante a implantação.These permissions are different if using a pre-created Automation Account and Log Analytics workspace or creating new ones during deployment. Se você for um colaborador na assinatura e um Administrador Global no locatário do Azure Active Directory, você não precisará configurar as permissões a seguir.If you are a Contributor on the subscription and a Global Administrator in your Azure Active Directory tenant, you do not need to configure the following permissions. Se você não tiver esses direitos ou precisa configurar uma função personalizada, consulte as permissões exigidas abaixo.If you do not have those rights or need to configure a custom role, see the permissions required below.

A conta de automação já existente e o Log AnalyticsPre-existing Automation Account and Log Analytics account

Para implantar a iniciar/parar VMs durante a solução de horas em uma conta de automação e o Log Analytics, o usuário que implanta a solução requer as seguintes permissões na grupo de recursos.To deploy the Start/Stop VMs during off hours solution to an Automation Account and Log Analytics the user deploying the solution requires the following permissions on the Resource Group. Para saber mais sobre as funções, consulte funções personalizadas para recursos do Azure.To learn more about roles, see Custom roles for Azure resources.

PermissãoPermission ScopeScope
Microsoft.Automation/automationAccounts/readMicrosoft.Automation/automationAccounts/read Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/variables/writeMicrosoft.Automation/automationAccounts/variables/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/schedules/writeMicrosoft.Automation/automationAccounts/schedules/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/runbooks/writeMicrosoft.Automation/automationAccounts/runbooks/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/connections/writeMicrosoft.Automation/automationAccounts/connections/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/certificates/writeMicrosoft.Automation/automationAccounts/certificates/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/modules/writeMicrosoft.Automation/automationAccounts/modules/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/modules/readMicrosoft.Automation/automationAccounts/modules/read Grupo de recursosResource Group
Microsoft.automation/automationAccounts/jobSchedules/writeMicrosoft.automation/automationAccounts/jobSchedules/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/jobs/writeMicrosoft.Automation/automationAccounts/jobs/write Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/jobs/readMicrosoft.Automation/automationAccounts/jobs/read Grupo de recursosResource Group
Microsoft.OperationsManagement/solutions/writeMicrosoft.OperationsManagement/solutions/write Grupo de recursosResource Group
Microsoft.OperationalInsights/workspaces/*Microsoft.OperationalInsights/workspaces/* Grupo de recursosResource Group
Microsoft.Insights/diagnosticSettings/writeMicrosoft.Insights/diagnosticSettings/write Grupo de recursosResource Group
Microsoft.Insights/ActionGroups/WriteMicrosoft.Insights/ActionGroups/Write Grupo de recursosResource Group
Microsoft.Insights/ActionGroups/readMicrosoft.Insights/ActionGroups/read Grupo de recursosResource Group
Microsoft.Resources/subscriptions/resourceGroups/readMicrosoft.Resources/subscriptions/resourceGroups/read Grupo de recursosResource Group
Microsoft.Resources/deployments/*Microsoft.Resources/deployments/* Grupo de recursosResource Group

Nova conta de automação e um novo espaço de trabalho do Log AnalyticsNew Automation Account and a new Log Analytics workspace

Para implantar a iniciar/parar VMs durante horários de solução para uma nova conta de automação do Log Analytics espaço de trabalho e o usuário que implanta a solução precisa de permissões definidas na seção anterior, bem como as seguintes permissões:To deploy the Start/Stop VMs during off hours solution to a new Automation Account and Log Analytics workspace the user deploying the solution needs the permissions defined in the preceding section as well as the following permissions:

  • Co-administrador na assinatura – isso só é necessário para criar a conta executar como clássicaCo-administrator on subscription - This is only needed to create the Classic Run As Account
  • Fazer parte do Azure Active Directory desenvolvedor de aplicativos função.Be part of the Azure Active Directory Application Developer role. Para obter mais detalhes sobre como configurar contas executar como, consulte permissões para configurar contas executar como.For more details on configuring Run As Accounts, see Permissions to configure Run As accounts.
  • Colaborador na assinatura ou as permissões a seguir.Contributor on the subscription or the following permissions.
PermissãoPermission ScopeScope
Microsoft.Authorization/Operations/readMicrosoft.Authorization/Operations/read AssinaturaSubscription
Microsoft.Authorization/permissions/readMicrosoft.Authorization/permissions/read AssinaturaSubscription
Microsoft.Authorization/roleAssignments/readMicrosoft.Authorization/roleAssignments/read AssinaturaSubscription
Microsoft.Authorization/roleAssignments/writeMicrosoft.Authorization/roleAssignments/write AssinaturaSubscription
Microsoft.Authorization/roleAssignments/deleteMicrosoft.Authorization/roleAssignments/delete AssinaturaSubscription
Microsoft.Automation/automationAccounts/connections/readMicrosoft.Automation/automationAccounts/connections/read Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/certificates/readMicrosoft.Automation/automationAccounts/certificates/read Grupo de recursosResource Group
Microsoft.Automation/automationAccounts/writeMicrosoft.Automation/automationAccounts/write Grupo de recursosResource Group
Microsoft.OperationalInsights/workspaces/writeMicrosoft.OperationalInsights/workspaces/write Grupo de recursosResource Group

Implantar a soluçãoDeploy the solution

Execute as seguintes etapas para adicionar a solução Iniciar/Parar VMs fora do horário comercial à sua conta de Automação e, em seguida, configure as variáveis para personalizar a solução.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. Em uma Conta de Automação, selecione Iniciar/Parar VM em Recursos relacionados.From an Automation Account, select Start/Stop VM under Related Resources. A partir daqui, você pode clicar em Saiba mais sobre e habilite a solução.From here, you can click Learn more about and enable the solution. Se você já tiver uma solução Iniciar/Parar VM implantada, selecione-a clicando em Gerenciar a solução e localizando-a na lista.If you already have a Start/Stop VM solution deployed, you can select it by clicking Manage the solution and finding it in the list.

    Habilitar a conta de automação

    Observação

    Você também pode criá-lo em qualquer lugar no portal do Azure, clicando em criar um recurso.You can also create it from anywhere in the Azure portal, by clicking Create a resource. Na página Marketplace, digite uma palavra-chave, como Iniciar ou Iniciar/Parar.In the Marketplace page, type a keyword such as Start or Start/Stop. Quando você começa a digitar, a lista é filtrada com base em sua entrada.As you begin typing, the list filters based on your input. Como alternativa, você pode digitar uma ou mais palavras-chave do nome completo da solução e, em seguida, pressionar Enter.Alternatively, you can type in one or more keywords from the full name of the solution and then press Enter. Selecione Iniciar/Parar VMs fora do horário nos resultados da pesquisa.Select Start/Stop VMs during off-hours from the search results.

  2. Na página Iniciar/Parar VMs durante as horas de folga para a solução selecionada, revise as informações de resumo e clique em Criar.In the Start/Stop VMs during off-hours page for the selected solution, review the summary information and then click Create.

    Portal do Azure

  3. A página Adicionar Solução é exibida.The Add Solution page appears. Você será solicitado a configurar a solução antes de importá-la na sua assinatura da Automação.You are prompted to configure the solution before you can import it into your Automation subscription.

    Página Adicionar Solução de Gerenciamento de VM

  4. Na página Adicionar Solução, selecione Workspace.On the Add Solution page, select Workspace. Selecione um espaço de trabalho do Log Analytics que esteja vinculada à mesma assinatura do Azure na qual a conta de Automação está.Select a Log Analytics workspace that's linked to the same Azure subscription that the Automation account is in. Se você não tiver um workspace, selecione Criar Novo Workspace.If you don't have a workspace, select Create New Workspace. Sobre o espaço de trabalho do Log Analytics , execute as seguintes etapas:On the Log Analytics workspace page, perform the following steps:

    • Especifique um nome para o novo espaço de trabalho do Log Analytics, como "ContosoLAWorkspace".Specify a name for the new Log Analytics workspace, such as "ContosoLAWorkspace".
    • Selecione uma Assinatura à qual se vincular, escolhendo na lista suspensa, caso a assinatura selecionada por padrão não seja adequada.Select a Subscription to link to by selecting from the drop-down list, if the default selected is not appropriate.
    • Em Grupo de Recursos, você pode criar um novo grupo de recursos ou selecionar um existente.For Resource Group, you can create a new resource group or select an existing one.
    • Selecione um Local.Select a Location. No momento, os únicos locais disponíveis são: Sudeste da Austrália, Canadá Central, Índia Central, Leste dos EUA, Leste do Japão, Sudeste da Ásia, Sul do Reino Unido, Europa Ocidental e Oeste dos EUA 2.Currently, the only locations available are Australia Southeast, Canada Central, Central India, East US, Japan East, Southeast Asia, UK South, West Europe, and West US 2.
    • Selecione um tipo de preço.Select a Pricing tier. Escolha a opção Por GB (autônomo) .Choose the Per GB (Standalone) option. Os logs do Azure Monitor atualizou preços e a camada por GB é a única opção.Azure Monitor logs has updated pricing and the Per GB tier is the only option.

    Observação

    Ao habilitar soluções, somente determinadas regiões têm suporte para vincular um espaço de trabalho do Log Analytics e uma Conta de Automação.When enabling solutions, only certain regions are supported for linking a Log Analytics workspace and an Automation Account.

    Para obter uma lista de pares de mapeamento com suporte, consulte mapeamento da região do espaço de trabalho de conta de automação e o Log Analytics.For a list of the supported mapping pairs, see Region mapping for Automation Account and Log Analytics workspace.

  5. Depois de fornecer as informações necessárias na página Espaço de Trabalho do Log Analytics, clique em Criar.After providing the required information on the Log Analytics workspace page, click Create. Você pode acompanhar o progresso em Notificações no menu, que retornará a página Adicionar Solução ao terminar.You can track its progress under Notifications from the menu, which returns you to the Add Solution page when done.

  6. Na página Adicionar Solução, selecione Conta de automação.On the Add Solution page, select Automation account. Se você estiver criando um novo espaço de trabalho do Log Analytics, poderá criar uma nova Conta de automação para associá-la ou selecionar uma conta de automação existente que ainda não esteja vinculada a um espaço de trabalho do Log Analytics.If you're creating a new Log Analytics workspace, you can create a new Automation account to be associated with it, or select an existing Automation Account that is not already linked to a Log Analytics workspace. Selecione uma conta de automação existente ou clique em Criar uma conta de automação e, na página Adicionar automação da conta, forneça as seguintes informações:Select an existing Automation Account or click Create an Automation account, and on the Add Automation account page, provide the following information:

    • No campo Nome, digite o nome da conta de Automação.In the Name field, enter the name of the Automation account.

      Todas as outras opções são preenchidas automaticamente com base no espaço de trabalho do Log Analytics selecionado.All other options are automatically populated based on the Log Analytics workspace selected. Essas opções não podem ser modificadas.These options cannot be modified. Uma conta Executar como do Azure é o método de autenticação padrão para os runbooks incluídos nesta solução.An Azure Run As account is the default authentication method for the runbooks included in this solution. Depois de clicar em OK, as opções de configuração serão validadas e a conta de Automação será criada.After you click OK, the configuration options are validated and the Automation account is created. Você pode acompanhar o progresso em Notificações no menu.You can track its progress under Notifications from the menu.

  7. Por fim, na página Adicionar Solução, selecione Configuração.Finally, on the Add Solution page, select Configuration. A página Parâmetros é exibida.The Parameters page appears.

    Página de parâmetros para a solução

    Aqui, você será solicitado a:Here, you're prompted to:

    • Especificar os Nomes do ResourceGroup de destino.Specify the Target ResourceGroup Names. Esses valores são nomes de grupos de recursos que contêm VMs a serem gerenciadas por essa solução.These values are resource group names that contain VMs to be managed by this solution. Você pode inserir mais de um nome e separá-los por vírgula (os valores não diferenciam maiúsculas de minúsculas).You can enter more than one name and separate each by using a comma (values are not case-sensitive). O uso de um caractere curinga tem suporte para selecionar VMs em todos os grupos de recursos na assinatura.Using a wildcard is supported if you want to target VMs in all resource groups in the subscription. Esse valor é armazenado nas variáveis External_Start_ResourceGroupNames e External_Stop_ResourceGroupNames.This value is stored in the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames variables.

    • Especifique a Lista de exclusão de VM (cadeia de caracteres) .Specify the VM Exclude List (string). Este valor é o nome de uma ou mais máquinas virtuais do grupo de recursos de destino.This value is the name of one or more virtual machines from the target resource group. Você pode inserir mais de um nome e separá-los por vírgula (os valores não diferenciam maiúsculas de minúsculas).You can enter more than one name and separate each by using a comma (values are not case-sensitive). O uso de caracteres curingas é aceito.Using a wildcard is supported. Esse valor é armazenado na variável External_ExcludeVMNames.This value is stored in the External_ExcludeVMNames variable.

    • Selecione um Agendamento.Select a Schedule. Selecione uma data e hora para sua agenda.Select a date and time for your schedule. Uma agenda recorrente de diária será criada a partir do momento em que você selecionou.A reoccurring daily schedule will be created starting with the time that you selected. A seleção de uma região diferente não está disponível.Selecting a different region is not available. Para configurar o agendamento de acordo com seu fuso horário específico após a configuração da solução, confira Modificando o agendamento de inicialização e desligamento.To configure the schedule to your specific time zone after configuring the solution, see Modifying the startup and shutdown schedule.

    • Para receber Notificações por email de um grupo de ações, aceite o valor padrão Sim e forneça um endereço de email válido.To receive Email notifications from an action group, accept the default value of Yes and provide a valid email address. Se você selecionar Não, mas decidir mais tarde que deseja receber notificações por email, atualize o grupo de ações que foi criado, com endereços de email válidos separados por vírgula.If you select No but decide at a later date that you want to receive email notifications, you can update the action group that is created with valid email addresses separated by a comma. Você também precisará habilitar as regras de alerta a seguir:You also need to enable the following alert rules:

      • AutoStop_VM_ChildAutoStop_VM_Child
      • Scheduled_StartStop_ParentScheduled_StartStop_Parent
      • Sequenced_StartStop_ParentSequenced_StartStop_Parent

      Importante

      O valor padrão para Nomes do ResourceGroup de destino é um * .The default value for Target ResourceGroup Names is a *. Isso direciona todas as VMs em uma assinatura.This targets all VMs in a subscription. Se você não quiser que a solução direcione todas as VMs em sua assinatura, esse valor precisará ser atualizado para uma lista de nomes de grupos de recursos antes de habilitar os agendamentos.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.

  8. Depois de configurar as definições iniciais necessárias para a solução, clique em OK para fechar a página Parâmetros e selecione Criar.After you have configured the initial settings required for the solution, click OK to close the Parameters page and select Create. Depois que todas as configurações forem validadas, a solução será implantada em sua assinatura.After all settings are validated, the solution is deployed to your subscription. Esse processo pode levar vários segundos para ser finalizado e você pode acompanhar o progresso em Notificações no menu.This process can take several seconds to finish, and you can track its progress under Notifications from the menu.

Observação

Se você tiver uma assinatura do provedor de soluções de nuvem do Azure (Azure CSP), após a implantação for concluída, sua conta de automação, vá para variáveis sob recursos compartilhados e defina o External_EnableClassicVMs variável à False.If you have an Azure Cloud Solution Provider (Azure CSP) subscription, after deployment is complete, in your Automation Account, go to Variables under Shared Resources and set the External_EnableClassicVMs variable to False. Isso faz com que a solução pare de procurar recursos de VM clássica.This stops the solution from looking for Classic VM resources.

CenáriosScenarios

A solução contém três cenários distintos.The solution contains three distinct scenarios. Esses cenários são:These scenarios are:

Cenário 1: Iniciar/parar VMs em um agendamentoScenario 1: Start/Stop VMs on a schedule

Este cenário é a configuração padrão ao implantar a solução pela primeira vez.This scenario is the default configuration when you first deploy the solution. Por exemplo, você pode configurar a solução para parar todas as VMs em uma assinatura ao sair do trabalho à noite e iniciá-las pela manhã ao retornar ao escritório.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 configurados durante a implantação, os agendamentos Scheduled-StartVM e Scheduled-StopVM iniciam e param VMs de destino.When you configure the schedules Scheduled-StartVM and Scheduled-StopVM during deployment, they start and stop targeted VMs. A configuração desta solução para simplesmente parar VMs tem suporte, consulte Modificar agendamentos de inicialização e desligamento para aprender a configurar um agendamento personalizado.Configuring this solution to just stop VMs is supported, see Modify the startup and shutdown schedules to learn how to configure a custom schedule.

Observação

O fuso horário é o seu fuso horário atual de quando o parâmetro de hora do agendamento foi configurado.The time zone is your current time zone when you configure the schedule time parameter. No entanto, o parâmetro é armazenado no formato UTC na Automação do Azure.However, it is stored in UTC format in Azure Automation. Não é necessário executar nenhuma conversão de fuso horário, pois isso acontece durante a implantação.You do not have to do any time zone conversion as this is handled during the deployment.

Você controla quais VMs estão no escopo, configurando as seguintes variáveis: External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, e External_ExcludeVMNames.You control which VMs are in scope by configuring the following variables: External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames.

Você pode habilitar o direcionamento da ação a uma assinatura e um grupo de recursos ou direcionar a uma lista específica de VMs, mas não ambos.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Direcionar a ação de início e parada para uma assinatura e um grupo de recursosTarget the start and stop actions against a subscription and resource group

  1. Configure as variáveis External_Stop_ResourceGroupNames e External_ExcludeVMNames para especificar as VMs de destino.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Habilite e atualize os agendamentos Scheduled-StartVM e Scheduled-StopVM.Enable and update the Scheduled-StartVM and Scheduled-StopVM schedules.
  3. Execute o runbook ScheduledStartStop_Parent com o parâmetro ACTION definido como iniciar e o parâmetro WHATIF definido como True para visualizar as alterações.Run the ScheduledStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Direcionar a ação de início e parada por lista de VMsTarget the start and stop action by VM list

  1. Execute o runbook ScheduledStartStop_Parent com o parâmetro ACTION definido como iniciar, adicione uma lista de VMs separadas por vírgula no parâmetro VMList e defina o parâmetro WHATIF como 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. Visualize as alterações.Preview your changes.
  2. Configure o parâmetro External_ExcludeVMNames com uma lista de VMs separadas por vírgula (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  3. Esse cenário não segue as variáveis External_Start_ResourceGroupNames e External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Para este cenário, é necessário criar seu próprio agendamento da Automação.For this scenario, you need to create your own Automation schedule. Para obter detalhes, consulte Agendamento de runbooks na Automação do Azure.For details, see Scheduling a runbook in Azure Automation.

Observação

O valor de Target ResourceGroup Names é armazenado como o valor de External_Start_ResourceGroupNames e External_Stop_ResourceGroupNames.The value for Target ResourceGroup Names is stored as the value for both External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames. Para obter uma maior granularidade, você pode modificar cada uma das variáveis para direcionar diferentes grupos de recursos.For further granularity, you can modify each of these variables to target different resource groups. Para iniciar a ação, use External_Start_ResourceGroupNames e, para parar a ação, use External_Stop_ResourceGroupNames.For start action, use External_Start_ResourceGroupNames, and for stop action, use External_Stop_ResourceGroupNames. As VMs são adicionadas automaticamente aos agendamentos de início e parada.VMs are automatically added to the start and stop schedules.

Cenário 2: Iniciar/parar VMs na sequência usando marcasScenario 2: Start/Stop VMS in sequence by using tags

Em um ambiente que inclui dois ou mais componentes em várias VMs compatíveis com cargas de trabalho distribuídas, é importante dar suporte ao sequenciamento de quais componentes são iniciados/parados em ordem.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. Para alcançar este cenário, execute as etapas a seguir:You can accomplish this scenario by performing the following steps:

Direcionar a ação de início e parada para uma assinatura e um grupo de recursosTarget the start and stop actions against a subscription and resource group

  1. Adicione as tags sequencestart e sequencestop com um valor inteiro positivo às VMs que são direcionadas nas variáveis External_Start_ResourceGroupNames e 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. As ações iniciar e parar são executadas em ordem crescente.The start and stop actions are performed in ascending order. Para saber como marcar uma VM, consulte Marcar uma Máquina Virtual do Windows no Azure e Marcar uma Máquina Virtual do Linux no 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. Modifique os agendamentos Sequenced-StartVM e Sequenced-StopVM de acordo com a data e hora que atendem às suas exigências e habilite o agendamento.Modify the schedules Sequenced-StartVM and Sequenced-StopVM to the date and time that meet your requirements and enable the schedule.
  3. Execute o runbook SequencedStartStop_Parent com o parâmetro ACTION definido como iniciar e o parâmetro WHATIF definido como True para visualizar as alterações.Run the SequencedStartStop_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.
  4. Visualize a ação e faça as alterações necessárias antes de implementar em VMs de produção.Preview the action and make any necessary changes before implementing against production VMs. Quando estiver pronto, execute o runbook manualmente com o parâmetro definido como False ou permita que os agendamentos Sequenced-StartVM e Sequenced-StopVM da Automação sejam executados automaticamente de acordo com o agendamento prescrito.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.

Direcionar a ação de início e parada por lista de VMsTarget the start and stop action by VM list

  1. Adicione as marcas sequencestart e sequencestop com um valor inteiro positivo às VMs que você planeja adicionar ao parâmetro VMList.Add a sequencestart and a sequencestop tag with a positive integer value to VMs you plan to add to the VMList parameter.
  2. Execute o runbook SequencedStartStop_Parent com o parâmetro ACTION definido como iniciar, adicione uma lista de VMs separadas por vírgula no parâmetro VMList e defina o parâmetro WHATIF como 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. Visualize as alterações.Preview your changes.
  3. Configure o parâmetro External_ExcludeVMNames com uma lista de VMs separadas por vírgula (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  4. Esse cenário não segue as variáveis External_Start_ResourceGroupNames e External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Para este cenário, é necessário criar seu próprio agendamento da Automação.For this scenario, you need to create your own Automation schedule. Para obter detalhes, consulte Agendamento de runbooks na Automação do Azure.For details, see Scheduling a runbook in Azure Automation.
  5. Visualize a ação e faça as alterações necessárias antes de implementar em VMs de produção.Preview the action and make any necessary changes before implementing against production VMs. Quando estiver pronto, execute o runbook monitoring-and-diagnostics/monitoring-action-groups manualmente com o parâmetro definido como False ou permita que a Automação agende a execução de Sequenced-StartVM e de Sequenced-StopVM automaticamente após o agendamento prescrito.When ready, manually execute the monitoring-and-diagnostics/monitoring-action-groupsrunbook with the parameter set to False, or let the Automation schedule Sequenced-StartVM and Sequenced-StopVM run automatically following your prescribed schedule.

Cenário 3: Iniciar/parar automaticamente com base na utilização da CPUScenario 3: Start/Stop automatically based on CPU utilization

Essa solução pode ajudar a gerenciar o custo de execução de máquinas virtuais em sua assinatura, avaliando as VMs do Azure que não são usadas durante os períodos mais calmos, por exemplo, depois do horário comercial, e desligando-as automaticamente se a utilização do processador for menor que 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%.

Por padrão, a solução é pré-configurada para avaliar a métrica percentual da CPU para ver se a utilização média é de 5% ou menos.By default, the solution is pre-configured to evaluate the percentage CPU metric to see if average utilization is 5 percent or less. Este cenário é controlado pelas seguintes variáveis e pode ser modificado caso os valores padrão não atendam às suas necessidades:This scenario 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

Você pode habilitar o direcionamento da ação a uma assinatura e um grupo de recursos ou direcionar a uma lista específica de VMs, mas não ambos.You can enable either targeting the action against a subscription and resource group, or targeting a specific list of VMs, but not both.

Direcione a ação de parada a uma assinatura e grupo de recursosTarget the stop action against a subscription and resource group

  1. Configure as variáveis External_Stop_ResourceGroupNames e External_ExcludeVMNames para especificar as VMs de destino.Configure the External_Stop_ResourceGroupNames and External_ExcludeVMNames variables to specify the target VMs.
  2. Habilite e atualize a agenda Schedule_AutoStop_CreateAlert_Parent.Enable and update the Schedule_AutoStop_CreateAlert_Parent schedule.
  3. Execute o runbook AutoStop_CreateAlert_Parent com o parâmetro ACTION definido como iniciar e o parâmetro WHATIF definido como True para visualizar as alterações.Run the AutoStop_CreateAlert_Parent runbook with the ACTION parameter set to start and the WHATIF parameter set to True to preview your changes.

Direcionar a ação de início e parada por lista de VMsTarget the start and stop action by VM list

  1. Execute o runbook AutoStop_CreateAlert_Parent com o parâmetro ACTION definido como iniciar, adicione uma lista de VMs separadas por vírgula no parâmetro VMList e defina o parâmetro WHATIF como 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. Visualize as alterações.Preview your changes.
  2. Configure o parâmetro External_ExcludeVMNames com uma lista de VMs separadas por vírgula (VM1, VM2, VM3).Configure the External_ExcludeVMNames parameter with a comma-separated list of VMs (VM1, VM2, VM3).
  3. Esse cenário não segue as variáveis External_Start_ResourceGroupNames e External_Stop_ResourceGroupnames.This scenario does not honor the External_Start_ResourceGroupNames and External_Stop_ResourceGroupnames variables. Para este cenário, é necessário criar seu próprio agendamento da Automação.For this scenario, you need to create your own Automation schedule. Para obter detalhes, consulte Agendamento de runbooks na Automação do Azure.For details, see Scheduling a runbook in Azure Automation.

Agora que você tem um agendamento para parar VMs com base na utilização da CPU, é preciso habilitar um dos agendamento abaixo para iniciá-las.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.

  • Direcione a ação de início por assinatura e grupo de recursos.Target start action by subscription and resource group. Consulte as etapas no Cenário 1 para testar e habilitar agendamentos Scheduled-StartVM.See the steps in Scenario 1 for testing and enabling Scheduled-StartVM schedules.
  • Direcionar ação de início por assinatura, grupo de recursos e marca.Target start action by subscription, resource group, and tag. Consulte as etapas em Cenário 2 para testar e habilitar agendamentos Sequenced-StartVM.See the steps in Scenario 2 for testing and enabling Sequenced-StartVM schedules.

Componentes da soluçãoSolution components

Essa solução inclui runbooks pré-configurados, agendamentos e integração com os logs do Azure Monitor, portanto, você pode personalizar a inicialização e desligamento de máquinas virtuais para atender às suas necessidades de negócios.This solution includes preconfigured runbooks, schedules, and integration with Azure Monitor logs so you can tailor the startup and shutdown of your virtual machines to suit your business needs.

RunbooksRunbooks

A tabela a seguir lista os runbooks implantados em sua conta da Automação por esta solução.The following table lists the runbooks deployed to your Automation account by this solution. Não faça alterações no código do runbook.Do not make changes to the runbook code. Em vez disso, escreva seu próprio runbook para obter novas funcionalidades.Instead, write your own runbook for new functionality.

Importante

Não execute diretamente nenhum runbook com "child" acrescentado ao nome.Do not directly run any runbook with "child" appended to its name.

Todos os runbooks pai incluem o parâmetro WhatIf.All parent runbooks include the WhatIf parameter. Quando definido como True, o WhatIf é compatível com o detalhamento do comportamento exato que o runbook assume quando executado sem o parâmetro WhatIf e valida as VMs corretas que estão sendo direcionadas.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. Um runbook só executa suas ações definidas quando o parâmetro WhatIf é definido como False.A runbook only performs its defined actions when the WhatIf parameter is set to False.

RunbookRunbook parâmetrosParameters DESCRIÇÃODescription
AutoStop_CreateAlert_ChildAutoStop_CreateAlert_Child VMObjectVMObject
AlertActionAlertAction
WebHookURIWebHookURI
Chamada a partir do runbook pai.Called from the parent runbook. Este runbook cria alertas por recurso para o cenário AutoStop.This runbook creates alerts on a per-resource basis for the AutoStop scenario.
AutoStop_CreateAlert_ParentAutoStop_CreateAlert_Parent VMListVMList
WhatIf: Verdadeiro ou FalsoWhatIf: True or False
Cria ou atualiza regras de alerta do Azure em VMs nos grupos de assinatura ou de recursos de destino.Creates or updates Azure alert rules on VMs in the targeted subscription or resource groups.
VMList: Lista de VMs separadas por vírgula.VMList: Comma-separated list of VMs. Por exemplo, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valida a lógica de runbook sem execução.WhatIf validates the runbook logic without executing.
AutoStop_DisableAutoStop_Disable Nenhumnone Desabilita os alertas de AutoStop e o agendamento padrão.Disables AutoStop alerts and default schedule.
AutoStop_StopVM_ChildAutoStop_StopVM_Child WebHookDataWebHookData Chamada a partir do runbook pai.Called from the parent runbook. As regras de alerta chamam esse runbook para parar a VM.Alert rules call this runbook to stop the VM.
Bootstrap_MainBootstrap_Main Nenhumnone Usado uma vez para definir configurações de inicialização, como webhookURI, que normalmente não podem ser acessadas no Azure Resource Manager.Used one time to set up bootstrap configurations such as webhookURI, which are typically not accessible from Azure Resource Manager. Este runbook é removido automaticamente após a implantação bem-sucedida.This runbook is removed automatically upon successful deployment.
ScheduledStartStop_ChildScheduledStartStop_Child VMNameVMName
Ação: Iniciar ou PararAction: Start or Stop
ResourceGroupNameResourceGroupName
Chamada a partir do runbook pai.Called from the parent runbook. Executa uma ação de iniciar ou parar para a parada agendada.Executes a start or stop action for the scheduled stop.
ScheduledStartStop_ParentScheduledStartStop_Parent Ação: Iniciar ou PararAction: Start or Stop
VMListVMList
WhatIf: Verdadeiro ou FalsoWhatIf: True or False
Esta configuração afeta todas as VMs na assinatura.This setting affects all VMs in the subscription. Edite o External_Start_ResourceGroupNames e External_Stop_ResourceGroupNames para executar apenas nesses grupos de recursos de destino.Edit the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames to only execute on these targeted resource groups. Você também pode excluir VMs específicas atualizando a variável External_ExcludeVMNames.You can also exclude specific VMs by updating the External_ExcludeVMNames variable.
VMList: Lista de VMs separadas por vírgula.VMList: Comma-separated list of VMs. Por exemplo, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valida a lógica de runbook sem execução.WhatIf validates the runbook logic without executing.
SequencedStartStop_ParentSequencedStartStop_Parent Ação: Iniciar ou PararAction: Start or Stop
WhatIf: Verdadeiro ou FalsoWhatIf: True or False
VMListVMList
Crie marcas com o nome sequencestart e sequencestop em cada VM para as quais você deseja sequenciar a atividade de iniciar/parar.Create tags named sequencestart and sequencestop on each VM for which you want to sequence start/stop activity. Os nomes das tags diferenciam maiúsculas de minúsculas.These tag names are case-sensitive. O valor da marca deve ser um inteiro positivo (1, 2, 3) que corresponde à ordem em que você deseja iniciar ou parar.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: Lista de VMs separadas por vírgula.VMList: Comma-separated list of VMs. Por exemplo, vm1, vm2, vm3.For example, vm1, vm2, vm3.
WhatIf valida a lógica de runbook sem execução.WhatIf validates the runbook logic without executing.
Observação: As VMs devem fazer parte dos grupos de recursos definidos como External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames e External_ExcludeVMNames em variáveis da Automação do Azure.Note: VMs must be within resource groups defined as External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames, and External_ExcludeVMNames in Azure Automation variables. Elas devem ter as marcas apropriadas para que as ações entrem em vigor.They must have the appropriate tags for actions to take effect.

variáveisVariables

A tabela a seguir lista as variáveis criadas na sua conta da Automação.The following table lists the variables created in your Automation account. Modifique apenas as variáveis com prefixo External.Only modify variables prefixed with External. Modificar variáveis prefixadas com Internal causará efeitos indesejáveis.Modifying variables prefixed with Internal causes undesirable effects.

VariávelVariable DESCRIÇÃODescription
External_AutoStop_ConditionExternal_AutoStop_Condition O operador condicional exigido para configurar a condição antes de disparar um alerta.The conditional operator required for configuring the condition before triggering an alert. Os valores aceitáveis são GreaterThan, GreaterThanOrEqual, LessThan e LessThanOrEqual.Acceptable values are GreaterThan, GreaterThanOrEqual, LessThan, and LessThanOrEqual.
External_AutoStop_DescriptionExternal_AutoStop_Description O alerta para parar a VM se o percentual da CPU exceder o limite.The alert to stop the VM if the CPU percentage exceeds the threshold.
External_AutoStop_MetricNameExternal_AutoStop_MetricName O nome da métrica de desempenho para a qual a regra de alerta do Azure deverá ser configurada.The name of the performance metric for which the Azure Alert rule is to be configured.
External_AutoStop_ThresholdExternal_AutoStop_Threshold O limite para a regra de alerta do Azure especificada na variável External_AutoStop_MetricName.The threshold for the Azure Alert rule specified in the variable External_AutoStop_MetricName. Os valores percentuais podem variar de 1 a 100.Percentage values can range from 1 to 100.
External_AutoStop_TimeAggregationOperatorExternal_AutoStop_TimeAggregationOperator O operador de agregação de tempo que é aplicado ao tamanho de janela selecionado para avaliar a condição.The time aggregation operator, which is applied to the selected window size to evaluate the condition. Os valores aceitáveis são Médio, Mínimo, Máximo, Total e Último.Acceptable values are Average, Minimum, Maximum, Total, and Last.
External_AutoStop_TimeWindowExternal_AutoStop_TimeWindow O tamanho da janela durante o qual o Azure analisa a métrica selecionada para disparar um alerta.The window size during which Azure analyzes selected metrics for triggering an alert. Esse parâmetro aceita a entrada no formato Intervalo de tempo.This parameter accepts input in timespan format. Os valores possíveis são de 5 minutos até 6 horas.Possible values are from 5 minutes to 6 hours.
External_EnableClassicVMsExternal_EnableClassicVMs Especifica se a solução destina-se a VMs clássicas.Specifies whether Classic VMs are targeted by the solution. O valor padrão é True.The default value is True. Isso deve ser definido como False para assinaturas CSP.This should be set to False for CSP subscriptions.
External_ExcludeVMNamesExternal_ExcludeVMNames Insira os nomes das VMs a serem excluídas, separando-os por vírgula, sem espaços.Enter VM names to be excluded, separating names by using a comma with no spaces. Isso é limitado a 140 VMs.This is limited to 140 VMs. Se você adicionar mais de 140 VMs a essa lista separada por vírgulas, as VMs que são definidas para serem excluídos podem ser inadvertidamente iniciadas ou interrompidas.If you add more than 140 VMs to this comma separated list, VMs that are set to be excluded may be inadvertently started or stopped.
External_Start_ResourceGroupNamesExternal_Start_ResourceGroupNames Especifica um ou mais grupos de recursos, separando os valores por vírgula, direcionados a ações de iniciar.Specifies one or more resource groups, separating values by using a comma, targeted for start actions.
External_Stop_ResourceGroupNamesExternal_Stop_ResourceGroupNames Especifica um ou mais grupos de recursos, separando os valores por vírgula, direcionados a ações de parar.Specifies one or more resource groups, separating values by using a comma, targeted for stop actions.
Internal_AutomationAccountNameInternal_AutomationAccountName Especifica o nome da conta de Automação.Specifies the name of the Automation account.
Internal_AutoSnooze_WebhookUriInternal_AutoSnooze_WebhookUri Especifica o URI do Webhook chamado para o cenário AutoStop.Specifies Webhook URI called for the AutoStop scenario.
Internal_AzureSubscriptionIdInternal_AzureSubscriptionId Especifica a ID da Assinatura do Azure.Specifies the Azure Subscription ID.
Internal_ResourceGroupNameInternal_ResourceGroupName Especifica o nome do grupo de recursos da conta da Automação.Specifies the Automation account resource group name.

Em todos os cenários, as variáveis External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames e External_ExcludeVMNames são necessárias para direcionar VMs, com exceção da disponibilização de uma lista de VMs separadas por vírgula para os runbooks 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. Em outras palavras, suas VMs devem residir em grupos de recursos de destino para que as ações iniciar e parar ocorram.That is, your VMs must reside in target resource groups for start and stop actions to occur. A lógica funciona semelhante à política do Azure, isto é, você pode direcionar a assinatura ou o grupo de recursos e fazer com que as ações sejam herdadas por VMs recém-criadas.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. Com essa abordagem, não é necessário ter um agendamento distinto para cada VM nem gerenciar as ações iniciar e parar em escala.This approach avoids having to maintain a separate schedule for every VM and manage starts and stops in scale.

AgendasSchedules

A tabela a seguir lista cada uma das agendas padrão criadas em sua conta de Automação.The following table lists each of the default schedules created in your Automation account. É possível modificá-las ou criar suas próprias agendas personalizadas. You can modify them or create your own custom schedules. Por padrão, todas as agendas são desabilitadas, exceto Scheduled_StartVM e Scheduled_StopVM. By default, all of the schedules are disabled except for Scheduled_StartVM and Scheduled_StopVM.

Você não deve habilitar todas os agendamentos, porque isso poderá criar ações de agendamento sobrepostas.You should not enable all schedules, because this might create overlapping schedule actions. É melhor determinar quais otimizações você deseja executar e modificar de acordo.It's best to determine which optimizations you want to perform and modify accordingly. Consulte os exemplos de cenários na seção Visão geral para obter explicações adicionais.See the example scenarios in the overview section for further explanation.

Nome da agendaSchedule name FrequênciaFrequency DESCRIÇÃODescription
Schedule_AutoStop_CreateAlert_ParentSchedule_AutoStop_CreateAlert_Parent A cada 8 horasEvery 8 hours Executa o runbook AutoStop_CreateAlert_Parent a cada 8 horas, que, por sua vez, interrompe os valores baseados em VM em External_Start_ResourceGroupNames, External_Stop_ResourceGroupNames e External_ExcludeVMNames nas variáveis da Automação do 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. Como alternativa, você pode especificar uma lista de VMs separadas por vírgula utilizando o parâmetro VMList.Alternatively, you can specify a comma-separated list of VMs by using the VMList parameter.
Scheduled_StopVMScheduled_StopVM Definida pelo usuário, diariamenteUser defined, daily Executa o runbook Scheduled_Parent com um parâmetro de Parar todos os dias no horário especificado.Runs the Scheduled_Parent runbook with a parameter of Stop every day at the specified time. Interrompe automaticamente todas as VMs que atendem às regras definidas por variáveis de ativo. Automatically stops all VMs that meet the rules defined by asset variables. Habilite o agendamento relacionado, Scheduled-StartVM. Enable the related schedule, Scheduled-StartVM.
Scheduled_StartVMScheduled_StartVM Definida pelo usuário, diariamenteUser defined, daily Executa o runbook Scheduled_Parent com um parâmetro de Iniciar todos os dias no horário especificado.Runs the Scheduled_Parent runbook with a parameter of Start every day at the specified time. Inicia automaticamente todas as VMs que atendem às regras definidas pelas variáveis adequadas.Automatically starts all VMs that meet the rules defined by the appropriate variables. Habilite o agendamento relacionado, Scheduled-StopVM. Enable the related schedule, Scheduled-StopVM.
Sequenced-StopVMSequenced-StopVM 1h (UTC), toda sexta-feira1:00 AM (UTC), every Friday Executa o runbook Scheduled_Parent com um parâmetro de Parar toda sexta-feira no horário especificado.Runs the Sequenced_Parent runbook with a parameter of Stop every Friday at the specified time. Para sequencialmente (em ordem crescente) todas as VMs com uma marca de SequenceStop definida pelas variáveis adequadas. Sequentially (ascending) stops all VMs with a tag of SequenceStop defined by the appropriate variables. Para ver mais informações sobre os valores de tag e variáveis de ativos, confira a seção de Runbooks.For more information on tag values and asset variables, see the Runbooks section. Habilite o agendamento relacionado, Sequenced-StartVM. Enable the related schedule, Sequenced-StartVM.
Sequenced-StartVMSequenced-StartVM 13h (UTC), toda segunda-feira1:00 PM (UTC), every Monday Executa o runbook Scheduled_Parent com um parâmetro de Parar toda segunda-feira no horário determinado.Runs the Sequenced_Parent runbook with a parameter of Start every Monday at the specified time. Inicia sequencialmente (em ordem decrescente) todas as VMs com uma marca de SequenceStart definida pelas variáveis adequadas.Sequentially (descending) starts all VMs with a tag of SequenceStart defined by the appropriate variables. Para ver mais informações sobre os valores de tag e variáveis de ativos, confira a seção de Runbooks.For more information on tag values and asset variables, see the Runbooks section. Habilite o agendamento relacionado, Sequenced-StopVM.Enable the related schedule, Sequenced-StopVM.

Registros de logs do Azure MonitorAzure Monitor logs records

A Automação cria dois tipos de registros no espaço de trabalho do Log Analytics: logs de trabalho e fluxos de trabalho.Automation creates two types of records in the Log Analytics workspace: job logs and job streams.

Logs de trabalhoJob logs

PropriedadeProperty DESCRIÇÃODescription
CallerCaller Quem iniciou a operação.Who initiated the operation. Os valores possíveis são um endereço de email ou o sistema para trabalhos agendados.Possible values are either an email address or system for scheduled jobs.
CategoryCategory Classificação do tipo de dados.Classification of the type of data. Para a Automação, o valor é JobLogs.For Automation, the value is JobLogs.
CorrelationIdCorrelationId O GUID que é a ID de correlação do trabalho de runbook.GUID that is the Correlation ID of the runbook job.
JobIdJobId GUID que é a ID do trabalho de runbook.GUID that is the ID of the runbook job.
operationNameoperationName Especifica o tipo de operação realizada no Azure.Specifies the type of operation performed in Azure. Para a Automação, o valor é Job.For Automation, the value is Job.
ResourceIdresourceId Especifica o tipo de recurso no Azure.Specifies the resource type in Azure. Para a Automação, o valor é a conta da Automação associada ao runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceGroupResourceGroup Especifica o nome do grupo de recursos do trabalho do runbook.Specifies the resource group name of the runbook job.
ResourceProviderResourceProvider Especifica o serviço do Azure que fornece os recursos que você pode implantar e gerenciar.Specifies the Azure service that supplies the resources you can deploy and manage. Para Automação, o valor é Automação do Azure.For Automation, the value is Azure Automation.
ResourceTypeResourceType Especifica o tipo de recurso no Azure.Specifies the resource type in Azure. Para a Automação, o valor é a conta da Automação associada ao runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType O status do trabalho de runbook.The status of the runbook job. Os valores possíveis são:Possible values are:
- Iniciado- Started
- Parado- Stopped
- Suspenso- Suspended
- Com falha- Failed
- Êxito- Succeeded
resultDescriptionresultDescription Descreve o estado de resultado do trabalho de runbook.Describes the runbook job result state. Os valores possíveis são:Possible values are:
- O trabalho foi iniciado- Job is started
- O trabalho falhou- Job Failed
- Trabalho Concluído- Job Completed
RunbookNameRunbookName Especifica o nome do runbook.Specifies the name of the runbook.
SourceSystemSourceSystem Especifica o sistema de origem dos dados enviados.Specifies the source system for the data submitted. Para a Automação, o valor é OpsManagerFor Automation, the value is OpsManager
StreamTypeStreamType Especifica o tipo de evento.Specifies the type of event. Os valores possíveis são:Possible values are:
- Detalhado- Verbose
- Saída- Output
- Erro- Error
- Aviso- Warning
SubscriptionIdSubscriptionId Especifica a ID da assinatura do trabalho.Specifies the subscription ID of the job.
TimeTime Data e hora da execução do trabalho de runbook.Date and time when the runbook job executed.

Transmissões de trabalhoJob streams

PropriedadeProperty DESCRIÇÃODescription
CallerCaller Quem iniciou a operação.Who initiated the operation. Os valores possíveis são um endereço de email ou o sistema para trabalhos agendados.Possible values are either an email address or system for scheduled jobs.
CategoryCategory Classificação do tipo de dados.Classification of the type of data. Para a Automação, o valor é JobStreams.For Automation, the value is JobStreams.
JobIdJobId GUID que é a ID do trabalho de runbook.GUID that is the ID of the runbook job.
operationNameoperationName Especifica o tipo de operação realizada no Azure.Specifies the type of operation performed in Azure. Para a Automação, o valor é Job.For Automation, the value is Job.
ResourceGroupResourceGroup Especifica o nome do grupo de recursos do trabalho do runbook.Specifies the resource group name of the runbook job.
ResourceIdresourceId Especifica o tipo de ID de recurso no Azure.Specifies the resource ID in Azure. Para a Automação, o valor é a conta da Automação associada ao runbook.For Automation, the value is the Automation account associated with the runbook.
ResourceProviderResourceProvider Especifica o serviço do Azure que fornece os recursos que você pode implantar e gerenciar.Specifies the Azure service that supplies the resources you can deploy and manage. Para Automação, o valor é Automação do Azure.For Automation, the value is Azure Automation.
ResourceTypeResourceType Especifica o tipo de recurso no Azure.Specifies the resource type in Azure. Para a Automação, o valor é a conta da Automação associada ao runbook.For Automation, the value is the Automation account associated with the runbook.
resultTyperesultType O resultado do trabalho de runbook no momento em que o evento foi gerado.The result of the runbook job at the time the event was generated. Um valor possível é:A possible value is:
- InProgress- InProgress
resultDescriptionresultDescription Inclui o fluxo de saída do runbook.Includes the output stream from the runbook.
RunbookNameRunbookName O nome do runbook.The name of the runbook.
SourceSystemSourceSystem Especifica o sistema de origem dos dados enviados.Specifies the source system for the data submitted. Para a Automação, o valor é OpsManager.For Automation, the value is OpsManager.
StreamTypeStreamType O tipo de fluxo de trabalho.The type of job stream. Os valores possíveis são:Possible values are:
- Andamento- Progress
- Saída- Output
- Aviso- Warning
- Erro- Error
- Depurar- Debug
- Detalhado- Verbose
TimeTime Data e hora da execução do trabalho de runbook.Date and time when the runbook job executed.

Quando você executa uma pesquisa de logs que retorna registros da categoria de JobLogs ou JobStreams, pode selecionar a exibição JobLogs ou JobStreams, que exibe um conjunto de blocos resumindo as atualizações retornadas pela pesquisa.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.

Pesquisas de log de exemploSample log searches

A tabela a seguir fornece pesquisas de log de exemplo para os registros de alerta coletados por essa solução.The following table provides sample log searches for job records collected by this solution.

ConsultarQuery DESCRIÇÃODescription
Localizar trabalhos para o runbook ScheduledStartStop_Parent que foram finalizados com êxitoFind 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 desc
Localizar trabalhos para o runbook SequencedStartStop_Parent que foram finalizados com êxitoFind 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 desc

Exibindo a soluçãoViewing the solution

Para acessar a solução, navegue até sua conta de automação, selecione Workspace em RECURSOS RELACIONADOS.To access the solution, navigate to your Automation Account, select Workspace under RELATED RESOURCES. Na página do log analytics, selecione soluções sob geral.On the log analytics page, select Solutions under GENERAL. Na página Soluções, selecione a solução Start-Stop-VM[workspace] na lista.On the Solutions page, select the solution Start-Stop-VM[workspace] from the list.

A seleção da solução exibe a página de soluções Start-Stop-VM [workspace] .Selecting the solution displays the Start-Stop-VM[workspace] solution page. Aqui você pode analisar detalhes importantes, como o bloco StartStopVM.Here you can review important details such as the StartStopVM tile. Como no seu espaço de trabalho do Log Analytics, esse bloco exibe uma contagem e uma representação gráfica dos trabalhos de runbook da solução que foi iniciada e encerrada com êxito.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.

Página da solução Gerenciamento de Atualizações de Automação

Daqui, você pode executar outras análises dos registros de trabalho clicando no bloco de rosca.From here, you can perform further analysis of the job records by clicking the donut tile. O painel da solução mostra o histórico de trabalhos e as consultas de pesquisa de logs pré-definidas.The solution dashboard shows job history and pre-defined log search queries. Alternar para o portal avançado do log analytics para pesquisar com base em suas consultas de pesquisa.Switch to the log analytics advanced portal to search based on your search queries.

Configurar notificações por emailConfigure email notifications

Para alterar as notificações por email depois que a solução for implantada, modifique o grupo de ações que foi criado durante a implantação.To change email notifications after the solution is deployed, modify action group that was created during deployment.

Observação

As assinaturas na nuvem do Azure Governamental não são compatíveis com a funcionalidade de email desta solução.Subscriptions in the Azure Government Cloud do not support the email functionality of this solution.

No portal do Azure, navegue até Monitorar -> grupos de ações.In the Azure portal, navigate to Monitor -> Action groups. Selecione o grupo de ações intitulado StartStop_VM_Notication.Select the action group titled StartStop_VM_Notication.

Página da solução Gerenciamento de Atualizações de Automação

Na página StartStop_VM_Notification, clique em Editar detalhes em Detalhes.On the StartStop_VM_Notification page, click Edit details under Details. Isso abre a página Email/SMS/Push/Voz.This opens the Email/SMS/Push/Voice page. Atualize o endereço de email e clique em OK para salvar suas alterações.Update the email address and click OK to save your changes.

Página da solução Gerenciamento de Atualizações de Automação

Como alternativa, você pode adicionar mais ações no grupo de ações. Para saber mais sobre grupos de ações, confira grupos de açõesAlternatively you can add additional actions to the action group, to learn more about action groups, see action groups

A seguir está um email de exemplo que é enviado quando a solução desliga as máquinas virtuais.The following is an example email that is sent when the solution shuts down virtual machines.

Página da solução Gerenciamento de Atualizações de Automação

Adicionar/excluir VMsAdd/Exclude VMs

A solução fornece a capacidade de adicionar VMs para o destino da solução ou excluir máquinas específicas da solução.The solution provides the ability to add VMs to be targeted by the solution or specifically exclude machines from the solution.

Adicionar uma VMAdd a VM

Há algumas opções que você pode usar para ter certeza de que uma VM está incluída na solução Iniciar/Parar quando ela é executada.There are a couple options that you can use to make sure that a VM is included in the Start/Stop solution when it runs.

  • Cada runbook pai da solução tem um parâmetro VMList.Each of the parent runbooks of the solution have a VMList parameter. Você pode passar uma lista separada por vírgulas de nomes de VM para esse parâmetro quando fizer o agendamento do runbook pai apropriado para sua situação, e essas VMs serão incluídas quando a solução for executada.You can pass a comma separated list of VM names to this parameter when scheduling the appropriate parent runbook for your situation and these VMs will be included when the solution runs.

  • Para selecionar várias VMs, defina External_Start_ResourceGroupNames e External_Stop_ResourceGroupNames com os nomes de grupo de recursos que contêm as VMs que você deseja iniciar ou parar.To select multiple VMs, set the External_Start_ResourceGroupNames and External_Stop_ResourceGroupNames with the resource group names that contain the VMs you want to start or stop. Você também pode definir esse valor como * para fazer a solução ser executada em relação a todos os grupos de recursos na assinatura.You can also set this value to *, to have the solution run against all resource groups in the subscription.

Excluir uma VMExclude a VM

Para excluir uma VM da solução, você pode adicioná-la à variável External_ExcludeVMNames.To exclude a VM from the solution, you can add it to the External_ExcludeVMNames variable. Essa variável é uma lista separada por vírgulas de VMs específicas a serem excluídas da solução Iniciar/Parar.This variable is a comma separated list of specific VMs to exclude from the Start/Stop solution. Essa lista é limitada a 140 VMs.This list is limited to 140 VMs. Se você adicionar mais de 140 VMs a essa lista separada por vírgulas, as VMs que são definidas para serem excluídos podem ser inadvertidamente iniciadas ou interrompidas.If you add more than 140 VMs to this comma separated list, VMs that are set to be excluded may be inadvertently started or stopped.

Modificar as agendas de inicialização e desligamentoModify the startup and shutdown schedules

O gerenciamento das agendas de inicialização e desligamento nesta solução segue as mesmas etapas descritas em Agendando um runbook na Automação do Azure.Managing the startup and shutdown schedules in this solution follows the same steps as outlined in Scheduling a runbook in Azure Automation. É necessário haver um agendamento separado para iniciar e parar VMs.There needs to be a separate schedule to start and to stop VMs.

Há suporte para configurar a solução para simplesmente parar as VMs em um determinado momento.Configuring the solution to just stop VMs at a certain time is supported. Neste cenário, você acabou de criar um agendamento Parar e nenhum agendamento Iniciar correspondente.In this scenario you just create a Stop schedule and no corresponding Start scheduled. Para fazer isso, você precisa:To do this, you need to:

  1. Não deixe de adicionar os grupos de recursos das VMs que serão desligadas na variável External_Stop_ResourceGroupNames.Ensure you have added the resource groups for the VMs to shut down in the External_Stop_ResourceGroupNames variable.
  2. Crie sua própria agenda para a hora em que você deseja desligar as máquinas virtuais.Create your own schedule for the time you want to shut down the VMs.
  3. Navegue até o runbook ScheduledStartStop_Parent e clique em Agenda.Navigate to the ScheduledStartStop_Parent runbook and click Schedule. Isso permite que você selecione a agenda que criou na etapa anterior.This allows you to select the schedule you created in the preceding step.
  4. Selecione Parâmetros e configurações de execução e defina o parâmetro ACTION como "Stop".Select Parameters and run settings and set the ACTION parameter to "Stop".
  5. Clique em OK para salvar as alterações.Click OK to save your changes.

Atualizar a soluçãoUpdate the solution

Se você tiver implantado uma versão anterior dessa solução, será preciso primeiro excluí-la da sua conta antes de implantar uma versão atualizada.If you have deployed a previous version of this solution, you must first delete it from your account before deploying an updated release. Siga as etapas para remover a solução e, em seguida, siga as etapas acima para implantar a solução.Follow the steps to remove the solution and then follow the steps above to deploy the solution.

Remover a soluçãoRemove the solution

Se decidir que não precisa mais usar a solução, você poderá excluí-la da conta de Automação.If you decide you no longer need to use the solution, you can delete it from the Automation account. A exclusão da solução remove apenas os runbooks.Deleting the solution only removes the runbooks. Ela não exclui os agendamentos ou as variáveis que foram criadas quando a solução foi adicionada.It does not delete the schedules or variables that were created when the solution was added. Esses ativos deverão ser excluídos manualmente se não estiverem sendo usados com outros runbooks.Those assets you need to delete manually if you are not using them with other runbooks.

Para excluir a solução, execute as etapas a seguir:To delete the solution, perform the following steps:

  1. Em sua conta de automação, sob recursos relacionados, selecione espaço de trabalho vinculado.From your Automation account, under Related resources, select Linked workspace.
  2. Selecione ir para o espaço de trabalho.Select Go to workspace.
  3. Sob gerais, selecione soluções.Under General, select Solutions.
  4. Na página Soluções, selecione a solução Start-Stop-VM[Workspace] .On the Solutions page, select the solution Start-Stop-VM[Workspace]. Na página VMManagementSolution[Workspace] , no menu, selecione Excluir.On the VMManagementSolution[Workspace] page, from the menu, select Delete.

    Excluir a Solução de Gerenciamento de VMDelete VM Mgmt Solution
  5. Na janela Excluir Solução, confirme que deseja excluir a solução.In the Delete Solution window, confirm that you want to delete the solution.
  6. Enquanto as informações são verificadas e a solução é excluída, você pode acompanhar seu progresso no menu Notificações.While the information is verified and the solution is deleted, you can track its progress under Notifications from the menu. Você é levado de volta à página Soluções após o início do processo de remoção da solução.You are returned to the Solutions page after the process to remove the solution starts.

A conta de Automação e o espaço de trabalho do Log Analytics não serão excluídos como parte desse processo.The Automation account and Log Analytics workspace are not deleted as part of this process. Se você não deseja manter o espaço de trabalho do Log Analytics, é necessário excluí-lo manualmente.If you do not want to retain the Log Analytics workspace, you need to manually delete it. Isso pode ser feito no portal do Azure:This can be accomplished from the Azure portal:

  1. Na tela inicial portal do Azure, selecione espaços de trabalho do Log Analytics.From the Azure portal home screen, select Log Analytics workspaces.
  2. Sobre o espaços de trabalho do Log Analytics , selecione o espaço de trabalho.On the Log Analytics workspaces page, select the workspace.
  3. Selecione Excluir no menu da página de configurações do workspace.Select Delete from the menu on the workspace settings page.

Se você não deseja manter os componentes de conta de automação do Azure, você poderá excluir cada um manualmente.If you do not want to retain the Azure Automation account components, you can manually delete each. Para obter a lista de runbooks, variáveis e agendamentos criados pela solução, consulte a componentes da solução.For the list of runbooks, variables, and schedules created by the solution, see the Solution components.

Próximas etapasNext steps