Administración de runbooks para Service Management Automation

Importante

Esta versión de Service Management Automation (SMA) ha llegado al final del soporte técnico. Se recomienda actualizar a SMA 2022.

Como administrador de Service Management Automation (SMA), debe configurar y ejecutar runbooks. Actividades que incluyen la configuración de los trabajos de runbook y la programación y el seguimiento de runbooks. Hay dos runbooks del sistema que se incluyen con SMA, además de los runbooks que cree:

  • DiscoverAllLocalModules: se ejecuta inmediatamente después de instalar un trabajo de runbook. Este runbook detecta todos los módulos nativos del sistema Windows Server en el que está instalado runbook worker. Extrae actividades y metadatos de actividad para estos módulos para que sus actividades se puedan usar al crear runbooks en Microsoft Azure Pack.
  • SetAutomationModuleActivityMetadata: se ejecuta inmediatamente después de importar un módulo en SMA. Este runbook extrae actividades y metadatos de actividad de un módulo recién importado para que sus actividades se puedan usar al crear runbooks en Microsoft Azure Pack.

Configuración de trabajos de runbook

De forma predeterminada, cuando se inicia un trabajo de runbook en SMA, se elige mediante un trabajo de runbook aleatorio. Pero es posible que quiera usar un trabajo de runbook específico. Para ello, use la propiedad RunbookWorker . Más información sobre la ejecución de runbooks.

Designe un trabajo de runbook con el complemento PowerShell ISE.

  1. En la configuración del complemento > de ISE de SMA, inicie sesión con su cuenta de SMA. Después de iniciar sesión, puede ver los runbooks en la pestaña Runbooks.
  2. En la pestaña Runbooks, seleccione uno o varios runbooks para ejecutarlos en un trabajo de runbook determinado.
  3. Seleccione Configurar y, en Configurar propiedades de Runbook, seleccione un trabajo de runbook en el menú desplegable.
  4. Seleccione Realizar cambios.

Designación de un trabajo de runbook a través del módulo de PowerShell de SMA

También puede establecer la propiedad del trabajo de runbook mediante el siguiente comando de línea de comandos:

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

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

Puede ver una lista de todos los trabajos de runbook implementados como sigue:

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

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Nota

Actualmente no puede usar el portal de Microsoft Azure Pack para designar un trabajo de runbook. Use el complemento ISE de SMA o cmdlets de PowerShell.

Programación de runbooks

Para programar un runbook para que se inicie en un momento determinado, vincúlelo a una o más programaciones. Una programación se puede configurar para que se ejecute una vez o se establezca en recursividad. Un runbook puede vincularse a varias programaciones y una programación puede tener varios runbooks vinculados a ella.

Crear una programación

Puede crear una programación con el Portal de administración o con Windows PowerShell.

Creación de una programación en el Portal de administración

  1. En el Portal de administración, seleccione Automation.
  2. En la pestaña Activos , seleccione Agregar configuración>Agregar programación.
  3. Escriba un nombre y una descripción para la nueva programación y seleccione si se ejecutará una vez o Diariamente.
  4. Especifique una hora de inicio y las demás opciones según sea necesario. La zona horaria de la hora de inicio se corresponderá con la zona horaria del equipo local.

Creación de una programación con Windows PowerShell

Puede utilizar el cmdlet Set-SmaSchedule para crear una programación o modificar una existente. Debe especificar la hora de inicio de la programación y si debe ejecutarse una vez o varias veces.

En el ejemplo siguiente se crea una nueva programación denominada My Daily Schedule. Se inicia el día actual y continúa durante un año cada día a las 12:00.

$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

Un runbook puede vincularse a varias programaciones y una programación puede tener varios runbooks vinculados a ella. Si un runbook tiene parámetros, puede proporcionar valores para que se usen cuando se inicie el runbook. Debe proporcionar valores para todos los parámetros obligatorios.

  1. En el Portal de administración, seleccione Automatización>Runbooks.
  2. Seleccione el nombre del runbook que se va a programar y seleccione la pestaña Programación .
  3. Si el runbook está vinculado actualmente a una programación, seleccione Vincular. A continuación, seleccione Vincular a una nueva programación y cree una nueva, o bien seleccione Vincular a una programación existente y seleccione una programación.
  4. Si el runbook tiene parámetros, se le pedirán sus valores.

Puede utilizar Start-SmaRunbook con el parámetro ScheduleName para vincular una programación a un Runbook. Puede especificar valores con el parámetro Parámetros. Obtenga más información sobre los valores de parámetros.

Los siguientes comandos de ejemplo muestran cómo vincular una programación a un Runbook.

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

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

Seguimiento de runbooks

Cuando se inicia un runbook en SMA, se crea un trabajo. Un trabajo es una instancia única de ejecución de un runbook. Un único runbook puede tener varios trabajos, cada uno con su propio conjunto de valores para los parámetros del runbook.

  • Si se rellena la propiedad RunbookWorker del runbook, ese servidor de trabajo dará servicio al trabajo.
  • Si el servidor de trabajo no está disponible, se producirá un error en el trabajo.
  • Si la propiedad RunbookWorker no se rellena, SMA seleccionará aleatoriamente un servidor de trabajo disponible para atender la solicitud.

En el siguiente diagrama se muestra el ciclo de vida de un trabajo de runbook para runbooks de flujo de trabajo de PowerShell.

Diagrama que muestra el flujo de trabajo de PowerShell.

En el siguiente diagrama se muestra el ciclo de vida de un trabajo de runbook para runbooks de script de PowerShell.

Diagrama que muestra el script de PowerShell.

Estado del trabajo

En la tabla siguiente se describen los diferentes estados posibles para un trabajo.

Status Descripción
Completed El trabajo se completó correctamente.
Con error El trabajo finalizó con una excepción.
En cola El trabajo espera que los recursos en un trabajo de Automation estén disponible para que se puede iniciar.
Iniciando El trabajo se ha asignado a un trabajador y el sistema está en proceso de iniciarse.
Reanudando El sistema está en proceso de reanudar el trabajo después de que se suspendió.
En ejecución El trabajo se está ejecutando.
Detenido El trabajo lo detuvo el usuario antes de completarse.
Deteniéndose El sistema está en proceso de detener el trabajo.
Suspended El trabajo lo ha suspendido el usuario, el sistema o un comando en el runbook. Un trabajo que está suspendido se puede iniciar de nuevo. Se reanudará desde el último punto de control o desde el principio del runbook si no tiene ninguno.

El sistema solo suspende el runbook en el caso de una excepción que tenga la posibilidad de reanudarse. De forma predeterminada, ErrorActionPreference está establecido en Continue, lo que significa que el trabajo se sigue ejecutando cuando se produce una excepción. Si se establece esta variable en Stop, el trabajo se suspende cuando se produce una excepción.
Suspendiendo El sistema intenta suspender el trabajo a petición del usuario. El runbook debe alcanzar su siguiente punto de control antes de que se pueda suspender. Si ya ha pasado su último punto de control, se completa antes de que se pueda suspender.

Visualización del estado del trabajo en el Portal de administración

El panel de Automation muestra un resumen de todos los runbooks en el entorno de SMA.

  • El gráfico de resumen muestra el número de trabajos totales de todos los runbooks que han pasado a cada estado en un número determinado de días u horas.
  • Puede seleccionar el intervalo de tiempo en la esquina superior derecha del gráfico.
  • El eje de tiempo del gráfico cambia según el tipo de intervalo de tiempo que seleccione.
  • Puede elegir si desea mostrar la línea para un estado determinado haciendo clic en ella en la parte superior de la pantalla.

Muestre el panel como se muestra a continuación:

  1. En el Portal de administración, seleccione Automation.
  2. Seleccione la pestaña Panel.

Visualización del panel

El panel de runbook muestra un resumen de un único runbook. El gráfico de resumen muestra el número de trabajos totales para el runbook que ha pasado a cada estado en un número determinado de días u horas. Puede seleccionar el intervalo de tiempo en la esquina superior derecha del gráfico. El eje de tiempo del gráfico cambia según el tipo de intervalo de tiempo que seleccione. Puede elegir si desea mostrar la línea para un estado determinado haciendo clic en ella en la parte superior de la pantalla.

Muestre el panel como se muestra a continuación:

  1. En el Portal de administración, seleccione Automation.
  2. Seleccione el nombre de un runbook.
  3. Seleccione la pestaña Panel.

Ver detalles del trabajo

Puede ver una lista de todos los trabajos que se han creado para un runbook determinado y su estado más reciente.

  • Puede filtrar la lista por el estado del trabajo y el intervalo de fechas del último cambio realizado en el trabajo.
  • Seleccione el nombre de un trabajo para ver su información detallada y su salida.
  • La vista detallada del trabajo incluye los valores para los parámetros de runbook que se proporcionaron con ese trabajo.
  • El historial de trabajos incluye mensajes de salida, advertencia y error con marcas de tiempo de cuando se creó el registro.
  • Más información sobre salidas de runbooks y mensajes.
  • El origen de un trabajo es el código de origen del flujo de trabajo cuando se ejecutó el trabajo. Es posible que no coincida con la versión actual del Runbook si se actualizó después de ejecutar el trabajo.

Puede utilizar los pasos siguientes para ver los trabajos de un runbook.

  1. En el Portal de administración, seleccione Automation.
  2. Seleccione el nombre de un runbook y seleccione la pestaña Trabajos .
  3. Seleccione la columna Job Created (Trabajo creado ) de un trabajo para ver sus detalles y resultados.
  4. Seleccione la pestaña Historial para ver el historial de trabajos. Seleccione un registro de historial y seleccione Ver detalles en la parte inferior de la pantalla para obtener una vista detallada del registro.
  5. En la pestaña Historial , seleccione Ver origen.

Recuperación del estado del trabajo con Windows PowerShell

Puede usar Get-SmaJob para recuperar los trabajos creados para un runbook y los detalles de un trabajo determinado.

  • Si inicia un runbook con Windows PowerShell mediante Start-SmaRunbook, devuelve el trabajo resultante.
  • Use Get-SmaJobOutput para obtener la salida de un trabajo.

El siguiente comando de ejemplo recupera el último trabajo de un runbook de ejemplo y muestra su estado, los valores proporcionados para los parámetros del runbook y la salida del trabajo.

$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

Configuración de los valores del runbook

Cada runbook tiene varias configuraciones. que puede usar para ayudarle a localizar y administrar los runbooks. También puede cambiar el registro de runbooks mediante la configuración de estos valores. A continuación se describen cada uno de estos valores, con procedimientos sobre cómo modificarlos.

Nombre y descripción

No se puede cambiar el nombre de un runbook una vez creado. La descripción es opcional y puede tener hasta 512 caracteres.

Etiquetas

Las etiquetas permiten asignar diferentes palabras y frases para ayudar a identificar un runbook. Puede especificar varias etiquetas para un runbook separándolas por comas.

Registro

De forma predeterminada, los registros detallados y de progreso no se escriben en el historial de trabajos. Puede cambiar la configuración de un runbook determinado para estas entradas de registro. Para obtener más información sobre estos registros, consulte Salida y mensajes de los runbooks.

Trabajo de runbook designado

De forma predeterminada, se asignará un trabajo de runbook a un trabajo de runbook aleatorio que se va a ejecutar. Puede cambiar la configuración de un runbook determinado para ejecutar el runbook en un runbook worker determinado.

Cambio de la configuración del runbook en el Portal de administración

Puede cambiar la configuración de un runbook en el Portal de administración desde la página Configurar del runbook.

  1. En el Portal de administración, seleccione Automation.

  2. Seleccione la pestaña Runbooks.

  3. Seleccione el nombre de un runbook.

  4. Seleccione la pestaña Configurar.

Cambio de la configuración del runbook con PowerShell

Puede usar el cmdlet Set-SmaRunbookConfiguration para cambiar toda la configuración de un runbook, excepto las etiquetas. Solo puede cambiar y agregar etiquetas para los runbooks existentes mediante el Portal de administración. Solo se pueden establecer etiquetas para runbooks con PowerShell al importar un runbook mediante Import-SmaRunbook.

Los siguientes comandos de ejemplo muestran cómo establecer las propiedades de un runbook. En este ejemplo se agrega una descripción y se especifica la necesidad de registros detallados:

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

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

Cifrado de runbook worker y conexión de SQL Server

Proteja la conexión entre los procesos de trabajo de runbook y los servidores SQL mediante SSL.

Pasos siguientes