Compartilhar via


Gerenciar runbooks para o Service Management Automation

Como administrador do SMA (Service Management Automation), você precisa configurar e executar runbooks. Atividades, incluindo a configuração dos trabalhos de runbook e o agendamento e acompanhamento de runbooks. Há dois runbooks do sistema incluídos no SMA, além dos runbooks que você cria:

  • DiscoverAllLocalModules: é executado imediatamente após a instalação de um trabalho de runbook. Este runbook descobre todos os módulos nativos no sistema Windows Server no qual o trabalho do runbook está instalado. Ele extrai atividades e metadados de atividade para esses módulos para que suas atividades possam ser usadas quando você criar runbooks no Microsoft Azure Pack.
  • SetAutomationModuleActivityMetadata: é executado imediatamente após a importação de um módulo para o SMA. Esse runbook extrai atividades e metadados de atividade de um módulo recém-importado para que suas atividades possam ser usadas quando você criar runbooks no Microsoft Azure Pack.

Configurar trabalhos de runbook

Por padrão, quando você inicia um trabalho de runbook no SMA, ele é escolhido por um trabalho de runbook aleatório. No entanto, talvez você queira usar um trabalho de runbook específico. Para fazer isso, use a propriedade RunbookWorker . Saiba mais sobre a execução do runbook.

Designe um trabalho de runbook com o complemento do ISE do PowerShell.

  1. Na Configuração do >complemento do ISE do SMA, entre com sua conta do SMA. Depois de entrar, você pode ver seus runbooks na guia Runbooks .
  2. Na guia Runbooks, selecione um ou mais runbooks para executar em um trabalho de runbook específico.
  3. Selecione configurar e, em Configurar propriedades do Runbook, selecione um trabalho de runbook no menu suspenso.
  4. Selecione Fazer alterações.

Designar um trabalho de runbook por meio do módulo SMA PowerShell

Você também pode definir a propriedade do trabalho do runbook usando o seguinte comando de linha de comando:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName

Você pode ver uma lista de todos os trabalhos de runbook implantados da seguinte maneira:

$webServer = 'https://MyServer'
$port = 9090

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Observação

No momento, você não pode usar o portal do Microsoft Azure Pack para designar um trabalho de runbook. Use o complemento do ISE do SMA ou os cmdlets do PowerShell.

Agendar runbooks

Para agendar um runbook para iniciar em um horário especificado, vincule-o a um ou mais agendamentos. Um agendamento pode ser configurado para ser executado uma vez ou definido como recorrente. Um runbook pode ser vinculado a várias agendas, e uma agenda pode ter vários runbooks vinculados a ela.

Criar um agendamento

Você pode criar uma agenda com o Portal de Gerenciamento ou com o Windows PowerShell.

Criar uma agenda no Portal de Gerenciamento

  1. No Portal de gerenciamento, selecione Automação.
  2. Na guia Ativos, selecione Adicionar configuração>Adicionar agendamento.
  3. Insira um nome e uma descrição para o novo agendamento e selecione se ele será executado uma vez ou diariamente.
  4. Especifique uma Hora de Início e as outras opções conforme necessário. O fuso horário da hora de início será compatível com o fuso horário do computador local.

Criar uma agenda com o Windows PowerShell

Você pode usar o cmdlet Set-SmaSchedule para criar um agendamento ou modificar um agendamento existente. Você deve especificar a hora de início do agendamento e se ele deve ser executado uma vez ou repetidamente.

O exemplo a seguir cria um novo agendamento chamado Minha Agenda Diária. Começa no dia atual e continua por um ano todos os dias ao meio-dia.

$webServer = 'https://MyServer'
$port = 9090
$scheduleName = 'My Daily Schedule'
$startTime = (Get-Date).Date.AddHours(12)
$expiryTime = $startTime.AddYears(1)

Set-SmaSchedule -WebServiceEndpoint $webServer -Port $port -Name $scheduleName -ScheduleType OneTimeSchedule -StartTime $startTime -ExpiryTime $expiryTime -DayInterval 1

Um runbook pode ser vinculado a várias agendas, e uma agenda pode ter vários runbooks vinculados a ela. Se um runbook tiver parâmetros, você poderá fornecer valores para que eles sejam usados quando o runbook for iniciado. Você deve fornecer valores para todos os parâmetros obrigatórios.

  1. No Portal de Gerenciamento, selecione Runbooks de Automação>.
  2. Selecione o nome do runbook a ser agendado e selecione a guia Agendar .
  3. Se o runbook estiver vinculado a um agendamento no momento, selecione Vincular. Em seguida, selecione Vincular a uma Nova Agenda e crie uma nova ou selecione Vincular a uma Agenda Existente e selecione uma agenda.
  4. Se o runbook tiver parâmetros, você será solicitado a inserir os seus valores.

Você pode usar o Start-SmaRunbook com o parâmetro ScheduleName para vincular um agendamento para um runbook. Você pode especificar valores com o parâmetro Parameters . Saiba mais sobre os valores dos parâmetros.

Os comandos de exemplo a seguir mostram como vincular um agendamento a um runbook.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"

Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params

Acompanhar runbooks

Quando você inicia um runbook no SMA, um trabalho é criado. Um trabalho é uma instância única de execução de um runbook. Um único runbook pode ter vários trabalhos, cada um com seu próprio conjunto de valores para os parâmetros do runbook.

  • Se a propriedade RunbookWorker do runbook for preenchida, esse servidor de trabalho atenderá ao trabalho.
  • Se o servidor de trabalho não estiver disponível, o trabalho falhará com um erro.
  • Se a propriedade RunbookWorker não estiver preenchida, o SMA selecionará aleatoriamente um servidor de trabalho disponível para atender à solicitação.

O diagrama a seguir mostra o ciclo de vida de um trabalho de runbook para runbooks de fluxo de trabalho do PowerShell.

Diagrama mostrando o fluxo de trabalho do PowerShell.

O diagrama a seguir mostra o ciclo de vida de um trabalho de runbook para runbooks de script do PowerShell.

Diagrama mostrando o script do PowerShell.

Status do trabalho

A tabela a seguir descreve os diferentes status possíveis para um trabalho.

Status Descrição
Concluído(a) Operação concluída com sucesso.
Com falha O trabalho foi concluído com uma exceção.
Em espera O trabalho está aguardando recursos de um trabalho do Automation ficar disponível para que ele possa ser iniciado.
Iniciando O trabalho foi atribuído a um trabalho, e o sistema está iniciando-o.
Retomando O sistema está reiniciando o trabalho depois que ele foi suspenso.
Executando O trabalho está em execução.
Interrompido O trabalho foi interrompido pelo usuário antes de ser concluído.
Parando O sistema está no processo de interromper o trabalho.
Suspenso O trabalho foi suspenso pelo usuário, pelo sistema ou por um comando no runbook. Um trabalho suspenso pode ser iniciado novamente. Ele é retomado de seu último ponto de verificação ou do início do runbook se não tiver pontos de verificação.

O runbook só é suspenso pelo sistema no caso de uma exceção que tem a possibilidade de ser retomada. Por padrão, ErrorActionPreference é definido como Continue, o que significa que o trabalho continua em execução quando ocorre uma exceção. Se essa variável for definida como Stop, o trabalho será suspenso quando ocorrer uma exceção.
Suspensão O sistema tenta suspender o trabalho a pedido do usuário. O runbook precisa atingir seu próximo ponto de verificação antes de poder ser suspenso. Se ele já tiver passado pelo último ponto de verificação, ele será concluído antes de ser suspenso.

Exibir o status do trabalho no Portal de Gerenciamento

O Painel de Automação mostra um resumo de todos os runbooks no ambiente SMA.

  • O grafo de resumo mostra o número de trabalhos total para todos os runbooks que assumiram cada status em relação a um determinado número de dias ou horas.
  • Você pode selecionar o intervalo de tempo no canto superior direito do grafo.
  • O eixo de tempo do gráfico muda de acordo com o tipo de intervalo de tempo selecionado.
  • Você pode escolher se deseja exibir a linha para um status específico clicando nela na parte superior da tela.

Exiba o painel da seguinte maneira:

  1. No Portal de gerenciamento, selecione Automação.
  2. Selecione a guia Painel .

Exibir o painel

O painel de runbook mostra um resumo de um único runbook. O grafo de resumo mostra o número de trabalhos total para o runbook que assumiu cada status em relação a um determinado número de dias ou horas. Você pode selecionar o intervalo de tempo no canto superior direito do gráfico. O eixo de tempo do gráfico muda de acordo com o tipo de intervalo de tempo selecionado. Você pode escolher se deseja exibir a linha para um status específico clicando nela na parte superior da tela.

Exiba o painel da seguinte maneira:

  1. No Portal de gerenciamento, selecione Automação.
  2. Selecione o nome de um runbook.
  3. Selecione a guia Painel .

Exibir detalhes do trabalho

Você pode exibir uma lista de todos os trabalhos que foram criados para um determinado runbook e o status mais recente deles.

  • Você pode filtrar a lista por status do trabalho e o intervalo de datas para a última alteração no trabalho.
  • Selecione o nome de um trabalho para exibir suas informações detalhadas e sua saída.
  • A exibição detalhada do trabalho inclui os valores para os parâmetros de runbook que foram fornecidos para esse trabalho.
  • O histórico de trabalho inclui as mensagens de saída, de aviso e de erro com carimbos de data/hora de quando o registro foi criado.
  • Saiba mais sobre a saída e as mensagens do runbook.
  • A fonte de um trabalho é o código-fonte do fluxo de trabalho quando o trabalho foi executado. Isso pode não ser o mesmo que a versão atual do runbook se ela foi atualizada depois de o trabalho ter sido executado.

Você pode usar as etapas a seguir para exibir os trabalhos de um runbook.

  1. No Portal de gerenciamento, selecione Automação.
  2. Selecione o nome de um runbook e selecione a guia Trabalhos .
  3. Selecione a coluna Trabalho criado de um trabalho para exibir seus detalhes e saída.
  4. Selecione a guia Histórico para exibir o histórico do trabalho. Selecione um registro de histórico e selecione Exibir detalhes na parte inferior da tela para obter uma exibição detalhada do registro.
  5. Na guia Histórico, selecione Exibir Origem.

Recuperar o status do trabalho usando o Windows PowerShell

Você pode usar o Get-SmaJob para recuperar os trabalhos criados para um runbook e os detalhes de um trabalho específico.

  • Se você iniciar um runbook com o Windows PowerShell usando Start-SmaRunbook, ele retornará o trabalho resultante.
  • Use Get-SmaJobOutput para obter a saída de um trabalho.

O comando de exemplo a seguir recupera o último trabalho de um runbook de exemplo e exibe seu status, os valores fornecidos para os parâmetros do runbook e a saída do trabalho.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"

$job = (Get-SmaJob -WebServiceEndpoint $webServer -Port $port -RunbookName $runbookName | sort LastModifiedDate -desc)[0]
$job.Status
$job.JobParameters
Get-SmaJobOutput -WebServiceEndpoint $webServer -Port $port -Id $job.Id -Stream Output

Definir configurações de runbook

Cada runbook tem várias configurações. Você pode usar essas configurações para ajudar a localizar e gerenciar runbooks. Você também pode alterar o log do runbook definindo essas configurações. Cada uma dessas configurações é descrita abaixo, seguida por procedimentos sobre como modificá-las.

Nome e descrição

Você não pode alterar o nome de um runbook depois que ele for criado. A Descrição é opcional e pode ter até 512 caracteres.

Marcações

Os rótulos permitem que você atribua diferentes palavras e frases para ajudar a identificar um runbook. Você pode especificar vários rótulos para um runbook separando-os com vírgulas.

Logging

Por padrão, os registros detalhados e de progresso não são gravados no histórico de trabalhos. Você pode alterar as configurações de um runbook específico para registrar logs. Para saber mais sobre esses registros, confira Saída de Runbook e Mensagens.

Trabalho de runbook designado

Por padrão, um trabalho de runbook deve ser atribuído a um trabalho de runbook aleatório para execução. Você pode alterar as configurações de um runbook específico para executar o runbook em um trabalho de runbook específico.

Alterar as configurações do runbook no Portal de Gerenciamento

Você pode alterar as configurações de um runbook no Portal de Gerenciamento na página Configurar do runbook.

  1. No Portal de gerenciamento, selecione Automação.

  2. Selecione a guia Runbooks .

  3. Selecione o nome de um runbook.

  4. Selecione a guia Configurar .

Alterar as configurações do runbook com o PowerShell

Você pode usar o cmdlet Set-SmaRunbookConfiguration para alterar todas as configurações de um runbook, exceto as marcas. Você só pode alterar e adicionar marcas para os runbooks existentes usando o Portal de Gerenciamento. Você só pode definir marcas para runbooks com o PowerShell ao importar um runbook usando Import-SmaRunbook.

Os comandos de exemplo a seguir mostram como definir as propriedades de um runbook. Este exemplo adiciona uma descrição e especifica que os registros detalhados devem ser registrados:

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"

Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true

Criptografar o trabalho do Runbook e a conexão do SQL Server

Proteja a conexão entre os processos de trabalho do Runbook e o SQL Server usando SSL.

Próximas etapas