Partager via


Gérer les runbooks pour Service Management Automation

En tant qu’administrateur SMA (Service Management Automation), vous devez configurer et exécuter des runbooks. Activités, notamment la configuration des Runbook Workers et la planification et le suivi des runbooks. Il existe deux runbooks système inclus avec SMA en plus des runbooks que vous créez :

  • DiscoverAllLocalModules : s’exécute immédiatement après l’installation d’un Runbook Worker. Ce runbook découvre tous les modules natifs sur le système Windows Server sur lequel le Runbook Worker est installé. Il extrait les activités et les métadonnées d’activité pour ces modules afin que leurs activités puissent être utilisées lorsque vous créez des runbooks dans Microsoft Azure Pack.
  • SetAutomationModuleActivityMetadata : s’exécute immédiatement après l’importation d’un module dans SMA. Ce runbook extrait les activités et les métadonnées d’activité d’un module nouvellement importé afin que ses activités puissent être utilisées lorsque vous créez des runbooks dans Microsoft Azure Pack.

Configurer des Runbook Workers

Par défaut, lorsque vous démarrez un travail de runbook dans SMA, il est choisi par un runbook worker aléatoire. Toutefois, vous souhaiterez peut-être utiliser un Runbook Worker spécifique. Pour ce faire, utilisez la propriété RunbookWorker . En savoir plus sur l’exécution du runbook.

Désignez un Runbook Worker avec le module complémentaire PowerShell ISE.

  1. Dans la configuration du module complémentaire SMA ISE, connectez-vous >avec votre compte SMA. Une fois connecté, vous pouvez voir vos runbooks sous l’onglet Runbooks .
  2. Sous l’onglet Runbooks , sélectionnez un ou plusieurs runbooks à exécuter sur un Runbook Worker particulier.
  3. Sélectionnez Configurer et, dans Configurer les propriétés du Runbook, sélectionnez un Runbook Worker dans le menu déroulant.
  4. Sélectionnez Apporter des modifications.

Désigner un Runbook Worker via le module PowerShell SMA

Vous pouvez également définir la propriété runbook Worker à l’aide de la commande de ligne de commande suivante :

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

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

Vous pouvez voir la liste de tous les Runbook Workers déployés comme suit :

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

Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port

Remarque

Vous ne pouvez pas utiliser le portail Microsoft Azure Pack pour désigner un Runbook Worker. Utilisez le module complémentaire SMA ISE ou les applets de commande PowerShell.

Planifier des runbooks

Pour planifier un runbook à démarrer à une heure spécifiée, vous le liez à une ou plusieurs planifications. Une planification peut être configurée pour s’exécuter une seule fois ou définie pour se répéter. Un Runbook peut être lié à plusieurs planifications et une planification peut avoir plusieurs Runbooks qui lui sont liés.

Créer une planification

Vous pouvez créer une planification avec le portail de gestion ou Windows PowerShell.

Créer une planification dans le portail de gestion

  1. Dans le portail de gestion, sélectionnez Automation.
  2. Sous l’onglet Ressources , sélectionnez Ajouter un paramètre>Ajouter une planification.
  3. Entrez un nom et une description pour la nouvelle planification, puis sélectionnez s’il exécutera une fois ou tous les jours.
  4. Spécifiez une heure de début et les autres options requises. Le fuseau horaire de l’heure de début correspond au fuseau horaire de l’ordinateur local.

Créer une planification avec Windows PowerShell

Vous pouvez utiliser l’applet de commande Set-SmaSchedule pour créer une planification ou modifier une planification existante. Vous devez spécifier l’heure de début de la planification et s’il doit s’exécuter une ou plusieurs fois.

L’exemple suivant crée une planification appelée My Daily Schedule. Il commence le jour actuel et se poursuit pendant un an tous les jours à midi.

$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 peut être lié à plusieurs planifications et une planification peut avoir plusieurs Runbooks qui lui sont liés. Si un runbook a des paramètres, vous pouvez fournir des valeurs pour qu’elles soient utilisées au démarrage du runbook. Vous devez fournir des valeurs pour tous les paramètres obligatoires.

  1. Dans le portail de gestion, sélectionnez Runbooks Automation>.
  2. Sélectionnez le nom du runbook à planifier, puis sélectionnez l’onglet Planification .
  3. Si le runbook est actuellement lié à une planification, sélectionnez Lien. Sélectionnez Ensuite Lier à une nouvelle planification, puis créez-en un, ou sélectionnez Lier à une planification existante, puis sélectionnez une planification.
  4. Si le Runbook possède des paramètres, le système vous demande d'entrer leurs valeurs.

Vous pouvez utiliser Start-SmaRunbook avec le paramètre ScheduleName pour lier une planification à un runbook. Vous pouvez spécifier des valeurs avec le paramètre Parameters . En savoir plus sur les valeurs des paramètres.

Les exemples de commandes suivants montrent comment lier une planification à 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

Suivre les runbooks

Lorsque vous démarrez un runbook dans SMA, un travail est créé. Une tâche est une instance d'exécution unique d'un Runbook. Un runbook unique peut avoir plusieurs travaux, chacun avec son propre ensemble de valeurs pour les paramètres du runbook.

  • Si la propriété RunbookWorker du runbook est renseignée, ce serveur Worker va traiter le travail.
  • Si le serveur worker n’est pas disponible, le travail échoue avec une erreur.
  • Si la propriété RunbookWorker n’est pas remplie, SMA sélectionne de façon aléatoire un serveur worker disponible pour traiter la requête.

Le diagramme suivant montre le cycle de vie d’un travail de runbook pour les runbooks PowerShell Workflow.

Diagramme montrant le flux de travail PowerShell.

Le diagramme suivant montre le cycle de vie d’un travail de runbook pour les runbooks de script PowerShell.

Diagramme montrant le script PowerShell.

Statut de tâche

Le tableau suivant décrit les différents statuts possibles pour une tâche.

Statut Description
Terminée La tâche s'est terminée avec succès.
Échec La tâche s’est terminée avec une exception.
Mis(e) en file d’attente La tâche attend que les ressources d'un travail Automation deviennent disponibles afin de pouvoir être démarrée.
Démarrage en cours La tâche a été attribuée à un travail et le système est en train de le démarrer.
En cours de reprise Le système est en cours de reprise de la tâche après qu'elle a été suspendue.
En cours d’exécution La tâche est en cours d'exécution.
Arrêté La tâche a été arrêtée par l'utilisateur avant qu'elle n'ait été terminée.
Arrêt en cours Le système est en cours d'arrêt de la tâche.
Interrompu La tâche a été suspendue par l'utilisateur, le système ou une commande du Runbook. Un travail suspendu peut être redémarré. Il reprend à partir de son dernier point de contrôle ou à partir du début du runbook s’il n’a aucun point de contrôle.

Le runbook est suspendu uniquement par le système dans le cas d’une exception qui a la possibilité de reprendre. Par défaut, ErrorActionPreference est défini sur Continuer, ce qui signifie que le travail continue à s’exécuter lorsqu’une exception se produit. Si cette variable est définie sur Arrêter, le travail est suspendu lorsqu’une exception se produit.
Suspension Le système tente de suspendre le travail à la demande de l’utilisateur. Le Runbook doit atteindre son prochain point de contrôle avant de pouvoir être suspendu. S’il a déjà passé son dernier point de contrôle, il se termine avant de pouvoir être suspendu.

Afficher l’état du travail dans le portail de gestion

Le tableau de bord Automation affiche un résumé de tous les runbooks dans l’environnement SMA.

  • Le graphique récapitulatif affiche le nombre total de tâches de tous les Runbooks qui sont passées par chaque état sur un nombre donné de jours ou d'heures.
  • Vous pouvez sélectionner la période dans le coin supérieur droit du graphique.
  • L’axe horaire du graphique change en fonction du type d’intervalle de temps que vous sélectionnez.
  • Vous pouvez choisir d’afficher la ligne d’un état particulier en cliquant dessus en haut de l’écran.

Affichez le tableau de bord comme suit :

  1. Dans le portail de gestion, sélectionnez Automation.
  2. Sélectionnez l'onglet Tableau de bord .

Afficher le tableau de bord

Le tableau de bord du Runbook affiche le résumé d'un seul Runbook. Le graphique récapitulatif affiche le nombre total de tâches du Runbook qui sont passées par chaque état sur un nombre donné de jours ou d'heures. Vous pouvez sélectionner l’intervalle de temps en haut à droite du graphique. L’axe horaire du graphique change en fonction du type d’intervalle de temps que vous sélectionnez. Vous pouvez choisir d’afficher la ligne d’un état particulier en cliquant dessus en haut de l’écran.

Affichez le tableau de bord comme suit :

  1. Dans le portail de gestion, sélectionnez Automation.
  2. Sélectionnez le nom d’un runbook.
  3. Sélectionnez l'onglet Tableau de bord .

Affichage des détails d’une tâche

Vous pouvez afficher la liste de tous les travaux qui ont été créés pour un runbook donné, avec leur état le plus récent.

  • Vous pouvez filtrer la liste par état du travail et la plage de dates pour la dernière modification du travail.
  • Sélectionnez le nom d’un travail pour afficher ses informations détaillées et sa sortie.
  • La vue détaillée de la tâche inclut les valeurs des paramètres du Runbook qui ont été fournies à cette tâche.
  • L’historique des tâches comprend les messages de sortie, d’avertissement et d’erreur, ainsi que les horodatages de création de l’enregistrement.
  • En savoir plus sur la sortie et les messages du runbook.
  • La source d’une tâche est le code source du flux de travail au moment de l’exécution de la tâche. Elle peut être différente de la version actuelle du runbook si elle a été mise à jour après l’exécution de la tâche.

Vous pouvez utiliser les étapes suivantes pour afficher les tâches d'un Runbook.

  1. Dans le portail de gestion, sélectionnez Automation.
  2. Sélectionnez le nom d’un runbook, puis sélectionnez l’onglet Travaux .
  3. Sélectionnez la colonne Job Created pour qu’un travail affiche ses détails et sa sortie.
  4. Sélectionnez l’onglet Historique pour afficher l’historique des tâches. Sélectionnez un enregistrement d’historique et sélectionnez Afficher les détails en bas de l’écran pour obtenir une vue détaillée de l’enregistrement.
  5. Sous l’onglet Historique, sélectionnez Afficher la source.

Récupérer l’état du travail à l’aide de Windows PowerShell

Vous pouvez utiliser la commande Get-SmaJob pour récupérer les tâches créées pour un runbook et les détails d’une tâche particulière.

  • Si vous démarrez un runbook avec Windows PowerShell à l’aide de Start-SmaRunbook, il retourne le travail résultant.
  • Utilisez Get-SmaJobOutput pour obtenir la sortie d’un travail.

L’exemple de commande suivant récupère le dernier travail d’un exemple de runbook et affiche son état, les valeurs fournies pour les paramètres du runbook et la sortie du travail.

$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

Configurer les paramètres du runbook

Chaque runbook a plusieurs paramètres. Vous pouvez utiliser ces paramètres pour localiser et gérer les runbooks. Vous pouvez également modifier la journalisation des runbooks en configurant ces paramètres. Chacun de ces paramètres est décrit ci-dessous, suivi de procédures sur la façon de les modifier.

Nom et description

Vous ne pouvez pas modifier le nom d’un runbook après sa création. La Description est facultative et peut comporter jusqu’à 512 caractères.

Balises

Les balises permettent d'attribuer des mots et des expressions distincts pour permettre d'identifier un Runbook. Vous pouvez spécifier plusieurs balises pour un Runbook en les séparant par des virgules.

Logging

Par défaut, les enregistrements Verbose et Progress ne sont pas écrits dans l’historique des travaux. Vous pouvez modifier les paramètres d'un Runbook donné pour enregistrer ces informations. Pour en savoir plus sur ces informations, consultez Sortie et messages de runbook.

Runbook Worker désigné

Par défaut, un travail de runbook doit être affecté à un runbook worker aléatoire à exécuter. Vous pouvez modifier les paramètres d’un runbook particulier pour exécuter le runbook sur un Runbook Worker particulier.

Modifier les paramètres du runbook dans le portail de gestion

Vous pouvez modifier les paramètres d’un runbook dans le portail de gestion à partir de la page Configurer pour le runbook.

  1. Dans le portail de gestion, sélectionnez Automation.

  2. Sélectionnez l'onglet Runbooks .

  3. Sélectionnez le nom d’un runbook.

  4. Sélectionnez l'onglet Configurer .

Modifier les paramètres du runbook avec PowerShell

Vous pouvez utiliser l’applet de commande Set-SmaRunbookConfiguration pour modifier tous les paramètres d’un runbook, à l’exception des balises. Vous pouvez uniquement modifier et ajouter des balises pour les runbooks existants à l’aide du portail de gestion. Vous ne pouvez définir des balises que pour les runbooks avec PowerShell lorsque vous importez un runbook à l’aide d’Import-SmaRunbook.

Les exemples de commandes suivants montrent comment définir les propriétés d'un Runbook. Cet exemple ajoute une description et spécifie que les enregistrements détaillés doivent être enregistrés :

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

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

Chiffrer la connexion Runbook Worker et SQL Server

Sécurisez la connexion entre les processus Runbook Worker et le serveur SQL à l’aide de SSL.

Étapes suivantes