Compartir a través de


Administración de runbooks para Service Management Automation

Como administrador de Service Management Automation (SMA), debes 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 crees:

  • 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 el trabajo de runbook. 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 inicias un trabajo de runbook en SMA, se elige mediante un trabajo de runbook aleatorio. Sin embargo, es posible que quieras usar un trabajo de runbook específico. Para ello, usa la propiedad RunbookWorker. Obtén más información sobre la ejecución de runbook.

Designa un trabajo de runbook con el complemento ISE de PowerShell.

  1. En la >Configuración del complemento ISE de SMA, inicia sesión con tu cuenta de SMA. Después del inicio de sesión, puedes ver los runbooks en la pestaña Runbooks.
  2. En la pestaña Runbooks, selecciona uno o varios runbooks para ejecutarse en un trabajo de runbook determinado.
  3. Selecciona Configurar y, en Configurar propiedades de runbook, selecciona un trabajo de runbook en el menú desplegable.
  4. Selecciona Realizar cambios.

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

También puedes establecer la propiedad 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

Puedes ver una lista de todos los trabajos de runbook implementados de la siguiente manera:

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

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Nota:

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

Programar runbooks

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

Crear programación

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

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

  1. En el Portal de administración, selecciona Automatización.
  2. En la pestaña Activos, selecciona Agregar configuración>Agregar programación.
  3. Escribe un nombre y una descripción para la nueva programación y selecciona si se ejecutará Una vez o Diariamente.
  4. Especifica una Hora de inicio y las demás opciones como sea necesario. La zona horaria de la hora de inicio coincidirá con la zona horaria del equipo local.

Crear una programación con Windows PowerShell

Puedes usar el cmdlet Set-SmaSchedule para crear una programación o modificar una programación existente. Debes especificar la hora de inicio de la programación y si se debe ejecutar una vez o repetidamente.

En el ejemplo siguiente se crea una nueva programación denominada Mi programación diaria. Comienza en el día actual y continúa durante un año cada día a mediodía.

$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, puedes proporcionar valores para usar cuando se inicie el runbook. Debes proporcionar valores para cualquier parámetro obligatorio.

  1. En el Portal de administración, selecciona Automatización>Runbooks.
  2. Selecciona el nombre del runbook que se va a programar y selecciona la pestaña Programar.
  3. Si el runbook está vinculado actualmente a una programación, selecciona Vincular. Después, selecciona Vincular a una programación nueva y crea una nueva o selecciona Vincular a una programación existente y selecciona una programación.
  4. Si el runbook tiene parámetros, se le pedirán sus valores.

Puedes usarStart-SmaRunbook con el parámetro ScheduleName para vincular una programación a un runbook. Puedes especificar valores con el parámetro Parameters. Más información sobre valores de parámetros.

Los comandos de ejemplo siguientes 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 se hará cargo del 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.

Estado Descripción
Completado 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.
Starting (iniciándose) 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ó.
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. Se puede volver a iniciar un trabajo suspendido. Se reanuda desde su último punto de control o desde el principio del runbook si no tiene puntos de control.

El sistema solo suspende el runbook en el caso de una excepción que tenga la posibilidad de reanudarse. De forma predeterminada, ErrorActionPreference se establece en Continue, lo que significa que el trabajo sigue ejecutándose cuando se produce una excepción. Si esta variable se establece 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.

Ver un estado de trabajo en el Portal de administración

El panel de Automatización 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 selecciones.
  • Puedes elegir si quieres mostrar la línea de un estado determinado haciendo clic en él en la parte superior de la pantalla.

Muestra el panel de la manera siguiente:

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

Mostrar el 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. Puedes 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 selecciones. Puedes elegir si quieres mostrar la línea de un estado determinado haciendo clic en él en la parte superior de la pantalla.

Muestra el panel de la manera siguiente:

  1. En el Portal de administración, selecciona Automatización.
  2. Selecciona 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.

  • Puedes filtrar esta lista por estado del trabajo y el intervalo de fechas del último cambio del trabajo.
  • Haz clic en el nombre de un trabajo para ver su información detallada y la 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.
  • Obtén más información sobre salida y mensajes de runbook.
  • El origen de un trabajo es el código fuente del flujo de trabajo cuando se ejecutó el trabajo. Este puede que no sea el mismo que 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, selecciona Automatización.
  2. Selecciona el nombre de un runbook y selecciona la pestaña Trabajos.
  3. Haz clic en la columna Trabajo creado de un trabajo para ver sus detalles y la salida.
  4. Selecciona la pestaña Historial para ver el historial de trabajos. Selecciona un registro de historial y selecciona Ver detalles en la parte inferior de la pantalla para obtener una vista detallada del registro.
  5. En la pestaña Historial, selecciona Ver origen.

Recuperar el estado del trabajo con Windows PowerShell

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

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

Los comandos de ejemplo siguientes recuperan el último trabajo para un runbook de ejemplo y muestran su estado, los valores proporcionados para los parámetros de 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 opciones del runbook

Cada runbook tiene varias configuraciones. Puedes usar esta configuración para ayudar a localizar y administrar runbooks. También puedes cambiar el registro del runbook mediante la configuración de estas opciones. A continuación, se describen todas estas opciones seguidas de procedimientos acerca de cómo modificarlas.

Nombre y descripción

No puedes cambiar el nombre de un runbook después de su creación. 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, un trabajo de runbook se asignará a un trabajo de runbook aleatorio que se va a ejecutar. Puedes cambiar la configuración de un runbook determinado para ejecutar el runbook en un trabajo de runbook determinado.

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

Puedes 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, selecciona Automatización.

  2. Seleccione la pestaña Runbooks .

  3. Selecciona el nombre de un runbook.

  4. Seleccione la pestaña Configurar.

Cambiar la configuración del runbook con PowerShell

Puedes usar el cmdlet Set-SmaRunbookConfiguration para cambiar toda la configuración de un runbook, excepto las etiquetas. Solo puedes cambiar y agregar etiquetas para los runbooks existentes mediante el Portal de administración. Solo puedes 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 que se deben registrar 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 la conexión del trabajo de runbook y SQL Server

Protege la conexión entre los procesos de trabajo de runbook y SQL Server mediante SSL.

Pasos siguientes