Verwalten von Runbooks für Service Management Automation
Als Administrierende für Service Management Automation (SMA) müssen Sie Runbooks konfigurieren und ausführen. Aktivitäten, einschließlich der Einrichtung der Runbook-Mitarbeitenden und der Planung und Nachverfolgung von Runbooks. Zusätzlich zu den Runbooks, die Sie selbst verfassen, sind zwei System-Runbooks im Lieferumfang von SMA enthalten:
- DiscoverAllLocalModules: Wird sofort nach der Installation eines Runbook Workers ausgeführt. Dieses Runbook ermittelt alle systemeigenen Module auf dem Windows Server-System, auf dem der Runbook Worker installiert ist. Es extrahiert Aktivitäten und Aktivitäts-Metadaten für diese Module, so dass ihre Aktivitäten verwendet werden können, wenn Sie Runbooks in Microsoft Azure Pack erstellen.
- SetAutomationModuleActivityMetadata: Wird sofort nach dem Import eines Moduls in SMA ausgeführt. Dieses Runbook extrahiert Aktivitäten und Aktivitätsmetadaten aus einem neu importierten Modul, sodass seine Aktivitäten verwendet werden können, wenn Sie Runbooks in Microsoft Azure Pack erstellen.
Konfigurieren von Runbook Workers
Wenn Sie einen Runbook-Job in SMA starten, wird dieser standardmäßig von einem zufälligen Runbook Worker ausgewählt. Möglicherweise möchten Sie jedoch einen bestimmten Runbook Worker verwenden. Verwenden Sie dazu die Eigenschaft RunbookWorker. Erfahren Sie mehr über die Ausführung von Runbooks.
Bestimmen Sie einen Runbook Worker mit dem PowerShell ISE-Add-on.
- In der SMA ISE Add-on >Konfiguration melden Sie sich mit Ihrem SMA-Konto an. Nach der Anmeldung können Sie Ihre Runbooks auf der Registerkarte Runbooks sehen.
- Wählen Sie auf der Registerkarte Runbooks ein oder mehrere Runbooks aus, die gegen einen bestimmten Runbook Worker ausgeführt werden sollen.
- Wählen Sie Konfigurieren, und wählen Sie unter Runbook-Eigenschaften konfigurieren einen Runbook Worker aus dem Dropdown-Menü.
- Wählen Sie Änderungen vornehmen.
Festlegen eines Runbook Workers über das SMA PowerShell-Modul
Sie können die Runbook Worker-Eigenschaft auch mit dem folgenden Befehlszeilen-Befehl festlegen:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName
Sie können eine Liste aller Runbook Worker sehen, die wie folgt bereitgestellt werden:
$webServer = 'https://MyServer'
$port = 9090
Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port
Hinweis
Sie können derzeit nicht das Microsoft Azure Pack-Portal verwenden, um einen Runbook Worker festzulegen. Verwenden Sie entweder das SMA ISE Add-on oder PowerShell Cmdlets.
Planen von Runbooks
Um ein Runbook zu einem bestimmten Zeitpunkt zu starten, verknüpfen Sie es mit einem oder mehreren Zeitplänen. Ein Zeitplan kann so konfiguriert werden, dass er einmal ausgeführt wird oder so festgelegt ist, dass er erneut auftritt. Ein Runbook kann mit mehreren Zeitplänen verknüpft werden, und mit einem Zeitplan können mehrere Runbooks verknüpft sein.
Erstellen eines Zeitplans
Sie können einen Zeitplan mit dem Verwaltungsportal oder mit Windows PowerShell erstellen.
Erstellen eines Zeitplans im Verwaltungsportal
- Wählen Sie im Verwaltungsportal Automatisierung.
- Wählen Sie auf der Registerkarte Assets Einstellung hinzufügen>Zeitplan hinzufügen.
- Geben Sie einen Namen und eine Beschreibung für den neuen Zeitplan ein, und wählen Sie aus, ob er Einmal oder Täglich ausgeführt werden soll.
- Geben Sie eine Startzeit und die anderen Optionen nach Bedarf an. Die Zeitzone der Startzeit entspricht der Zeitzone des lokalen Computers.
Erstellen eines Zeitplans mit Windows PowerShell
Sie können das Cmdlet Set-SmaSchedule verwenden, um einen Zeitplan zu erstellen oder einen vorhandenen Zeitplan zu ändern. Sie müssen die Startzeit für den Zeitplan festlegen und angeben, ob er einmal oder wiederholt ausgeführt werden soll.
Das folgende Beispiel erstellt einen neuen Zeitplan mit dem Namen Mein täglicher Zeitplan. Er beginnt am aktuellen Tag und wird ein Jahr lang jeden Tag um 12 Uhr fortgesetzt.
$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
Verknüpfen eines Zeitplans mit einem Runbook
Ein Runbook kann mit mehreren Zeitplänen verknüpft werden, und mit einem Zeitplan können mehrere Runbooks verknüpft sein. Wenn ein Runbook Parameter hat, können Sie Werte für diese Parameter angeben, die beim Start des Runbooks verwendet werden sollen. Sie müssen Werte für alle obligatorischen Parameter angeben.
Verknüpfen eines Zeitplans im Verwaltungsportal
- Wählen Sie im Verwaltungsportal Automation>Runbooks.
- Wählen Sie den Namen des Runbooks, das Sie einplanen möchten, und wählen Sie die Registerkarte Zeitplan.
- Wenn das Runbook momentan mit einem Zeitplan verknüpft ist, wählen Sie Link. Wählen Sie dann Link zu einem neuen Zeitplan und erstellen Sie einen neuen Zeitplan, oder wählen Sie Link zu einem bestehenden Zeitplan und wählen Sie einen Zeitplan.
- Wenn das Runbook über Parameter verfügt, werden Sie zur Eingabe von Werten für diese Parameter aufgefordert.
Verknüpfen eines Zeitplans mit Windows PowerShell
Sie können Start-SmaRunbook mit dem Parameter ScheduleName verwenden, um einen Zeitplan mit einem Runbook zu verknüpfen. Sie können Werte mit dem Parameter Parameter angeben. Erfahren Sie mehr über Parameterwerte.
Die folgenden Beispielbefehle zeigen, wie Sie einen Zeitplan mit einem Runbook verknüpfen können.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params
Nachverfolgen von Runbooks
Wenn Sie ein Runbook in SMA starten, wird ein Job angelegt. Ein Auftrag ist eine einzelne Ausführungsinstanz eines Runbooks. Ein einzelnes Runbook kann mehrere Aufträge haben, von denen jeder seine eigenen Werte für die Runbook-Parameter festlegt.
- Wenn die Eigenschaft RunbookWorker des Runbooks ausgefüllt ist, wird dieser Worker-Server den Auftrag bearbeiten.
- Wenn der Worker-Server nicht verfügbar ist, schlägt der Auftrag mit einem Fehler fehl.
- Wenn die Eigenschaft RunbookWorker nicht angegeben ist, wählt SMA zufällig einen verfügbaren Worker-Server aus, um die Anforderung zu bearbeiten.
Das folgende Diagramm zeigt den Lebenszyklus eines Runbook-Auftrags für PowerShell Workflow-Runbooks.
Das folgende Diagramm zeigt den Lebenszyklus eines Runbook-Auftrags für PowerShell-Skript-Runbooks.
Auftragsstatus
Die folgende Tabelle beschreibt die verschiedenen Status, die für einen Auftrag möglich sind.
Status | Beschreibung |
---|---|
Abgeschlossen | Der Auftrag wurde erfolgreich abgeschlossen. |
Fehler | Der Auftrag endete mit einer Ausnahme. |
In Warteschlange | Der Auftrag wartet darauf, dass Ressourcen für einen Automation-Worker verfügbar werden, damit er gestartet werden kann. |
Wird gestartet | Der Auftrag wurde einem Worker zugewiesen, und das System ist in Begriff, ihn zu starten. |
Wird fortgesetzt | Das System ist in Begriff, den Auftrag fortzusetzen, nachdem er angehalten wurde. |
Wird ausgeführt | Der Auftrag wird ausgeführt. |
Beendet | Der Auftrag wurde vom Benutzer beendet, bevor er abgeschlossen wurde. |
Wird beendet | Das System ist in Begriff, den Auftrag zu beenden. |
Ausgesetzt | Der Auftrag wurde vom Benutzer, vom System oder von einem Befehl im Runbook angehalten. Ein unterbrochener Auftrag kann wieder gestartet werden. Er wird vom letzten Checkpoint aus fortgesetzt oder vom Anfang des Runbooks, wenn es keine Checkpoints hat. Das Runbook wird nur vom System im Falle einer Ausnahme angehalten, die eine Möglichkeit zum Fortsetzen hat. Standardmäßig ist ErrorActionPreference auf Fortführen festgelegt, was bedeutet, dass der Job weiterläuft, wenn eine Ausnahme auftritt. Wenn diese Variable auf Stop festgelegt ist, wird der Auftrag beim Auftreten einer Ausnahme unterbrochen. |
Wird angehalten | Das System versucht, den Auftrag auf Anforderung des Benutzenden zu unterbrechen. Das Runbook muss den nächsten Prüfpunkt erreichen, bevor es angehalten werden kann. Wenn er seinen letzten Checkpoint bereits passiert hat, wird er abgeschlossen, bevor er unterbrochen werden kann. |
Anzeigen des Auftragsstatus über das Verwaltungsportal
Das Automation-Dashboard zeigt eine Zusammenfassung aller Runbooks in der SMA-Umgebung.
- Das Zusammenfassungsdiagramm zeigt die Gesamtzahl der Aufträge für alle Runbooks, die während einer bestimmten Anzahl von Tagen oder Stunden den jeweiligen Status erreicht haben.
- Sie können in der oberen rechten Ecke des Diagramms einen Zeitraum auswählen.
- Die Zeitachse des Diagramms ändert sich entsprechend des Typs des von Ihnen gewählten Zeitraums.
- Sie können wählen, ob die Zeile für einen bestimmten Status angezeigt werden soll, indem Sie oben auf dem Bildschirm auf die Zeile klicken.
Zeigen Sie das Dashboard wie folgt an:
- Wählen Sie im Verwaltungsportal Automatisierung.
- Klicken Sie auf die Registerkarte Dashboard .
Anzeigen des Dashboards
Das Runbook-Dashboard zeigt eine Zusammenfassung für ein einzelnes Runbook. Das Zusammenfassungsdiagramm zeigt die Gesamtzahl der Aufträge für das Runbook, die während einer bestimmten Anzahl von Tagen oder Stunden den jeweiligen Status erreicht haben. Sie können den Zeitraum in der oberen rechten Ecke des Diagramms auswählen. Die Zeitachse des Diagramms ändert sich entsprechend des Typs des von Ihnen gewählten Zeitraums. Sie können wählen, ob die Zeile für einen bestimmten Status angezeigt werden soll, indem Sie oben auf dem Bildschirm auf die Zeile klicken.
Zeigen Sie das Dashboard wie folgt an:
- Wählen Sie im Verwaltungsportal Automatisierung.
- Klicken Sie auf den Namen eines Runbook.
- Klicken Sie auf die Registerkarte Dashboard .
Anzeigen von Auftragsdetails
Sie können eine Liste aller Aufträge, die für ein bestimmtes Runbook erstellt wurden, sowie deren aktuellen Status anzeigen.
- Sie können die Liste nach Auftragsstatus und Datumsbereich für die letzte Änderung des Auftrags filtern.
- Wählen Sie den Namen eines Auftrags aus, um seine detaillierten Informationen und seine Ausgabe anzuzeigen.
- Die Detailansicht des Auftrags enthält die Werte für die Runbookparameter, die für diesen Auftrag bereitgestellt wurden.
- Der Auftragsverlauf enthält Ausgabe-, Warn- und Fehlermeldungen mit Zeitstempeln, wann der Datensatz erstellt wurde.
- Erfahren Sie mehr über Runbook-Ausgaben und -eldungen.
- Die Quelle für einen Auftrag ist der Quellcode des Workflows, wenn der Auftrag ausgeführt wurde. Diese stimmt möglicherweise nicht mit der aktuellen Version des Runbook überein, wenn es nach der Ausführung des Auftrags aktualisiert wurde.
Zeigen Sie die Aufträge für ein Runbook mithilfe der folgenden Schritte an.
- Wählen Sie im Verwaltungsportal Automatisierung.
- Wählen Sie den Namen eines Runbook und wählen Sie die Registerkarte Jobs.
- Wählen Sie die Spalte Erstellter Auftrag für einen Auftrag aus, um dessen Details und Ausgabe anzuzeigen.
- Wählen Sie die Registerkarte Verlauf, um den Auftragsverlauf anzuzeigen. Wählen Sie einen Verlaufsdatensatz aus und wählen Sie Details anzeigen am unteren Rand des Bildschirms, um eine detaillierte Ansicht des Datensatzes zu erhalten.
- Wählen Sie auf der Registerkarte Verlauf die Option Quelle anzeigen.
Abrufen des Auftragsstatus mit Windows PowerShell
Mit Get-SmaJob können Sie die für ein Runbook erstellten Jobs und die Details eines bestimmten Jobs erhalten.
- Wenn Sie ein Runbook mit Windows PowerShell über Start-SmaRunbook starten, wird der resultierende Auftrag zurückgegeben.
- Verwenden Sie Get-SmaJobOutput, um die Ausgabe eines Jobs zu erhalten.
Der folgende Beispielbefehl erhält den letzten Auftrag für ein Beispiel-Runbook und zeigt seinen Status, die für die Runbook-Parameter bereitgestellten Werte und die Ausgabe des Auftrags an.
$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
Konfigurieren von Runbookeinstellungen
Jedes Runbook verfügt über mehrere Einstellungen. Sie können diese Einstellungen verwenden, um Runbooks zu finden und zu verwalten. Sie können die Runbookprotokollierung auch ändern, indem Sie diese Einstellungen konfigurieren. Nachfolgend wird jede dieser Einstellungen beschrieben, und Sie erfahren, wie die Einstellungen geändert werden können.
Name und Beschreibung
Sie können den Namen eines Runbooks nach dessen Erstellung nicht mehr ändern. Die Beschreibung ist optional und kann bis zu 512 Zeichen umfassen.
Tags
Tags ermöglichen es Ihnen, bestimmte Wörter oder Ausdrücke zuzuweisen, um ein Runbook zu identifizieren. Sie können mehrere Tags für ein Runbook angeben, wenn sie diese durch Kommas voneinander trennen.
Logging
Standardmäßig werden Verbose- und Verlaufsdatensätze nicht in den Auftragsverlauf geschrieben. Sie können die Einstellungen für ein bestimmtes Runbook ändern, um diese Datensätze zu protokollieren. Weitere Informationen zu diesen Datensätzen finden Sie unter Runbookausgabe und Meldungen.
Festgelegter Runbook-Worker
Standardmäßig wird ein Runbook-Auftrag einem zufälligen Runbook-Worker zur Ausführung zugewiesen. Sie können die Einstellungen für ein bestimmtes Runbook ändern, um das Runbook auf einem bestimmten Runbook-Worker auszuführen.
Ändern der Runbookeinstellungen im Verwaltungsportal
Sie können die Einstellungen für ein Runbook im Verwaltungsportal auf der Seite Konfigurieren für das Runbook ändern.
Wählen Sie im Verwaltungsportal Automatisierung.
Wählen Sie die Registerkarte Runbooks .
Klicken Sie auf den Namen eines Runbook.
Wählen Sie die Registerkarte Konfigurieren aus.
Ändern von Runbookeinstellungen mit PowerShell
Sie können das Cmdlet Set-SmaRunbookConfiguration verwenden, um alle Einstellungen für ein Runbook mit Ausnahme von Tags festzulegen. Sie können Tags für die vorhandenen Runbooks nur über das Verwaltungsportal ändern und hinzufügen. Sie können die Tags für Runbooks nur mit PowerShell festlegen, wenn Sie ein Runbook mit Import-SmaRunbook importieren.
Die folgenden Beispielbefehle zeigen, wie Sie die Eigenschaften für ein Runbook festlegen. Dieses Beispiel fügt eine Beschreibung hinzu und gibt an, dass ausführliche Datensätze protokolliert werden sollen:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true
Verschlüsseln der Runbook-Worker- und SQL-Serververbindung
Sichern Sie die Verbindung zwischen den Runbook- Worker-Prozessen und dem SQL-Server mit SSL.
Nächste Schritte
- Informationen zum Verwalten globaler Ressourcen.
- Erfahren Sie mehr über die Rolle von SMA in einer Microsoft Azure Pack-Implementierung.