Runbooks beheren voor Service Management Automation
Belangrijk
Deze versie van Service Management Automation (SMA) heeft het einde van de ondersteuning bereikt. U wordt aangeraden een upgrade uit te voeren naar SMA 2022.
Als SMA-beheerder (Service Management Automation) moet u runbooks configureren en uitvoeren. Activiteiten zoals het instellen van runbook workers en het plannen en bijhouden van runbooks. Er zijn twee systeemrunbooks die zijn opgenomen in SMA naast de runbooks die u ontwerpt:
- DiscoverAllLocalModules: wordt direct uitgevoerd nadat u een runbook worker hebt geïnstalleerd. Dit runbook detecteert alle systeemeigen modules op het Windows Server-systeem waarop de runbook worker is geïnstalleerd. Er worden activiteiten en metagegevens van activiteiten voor deze modules geëxtraheerd, zodat hun activiteiten kunnen worden gebruikt wanneer u runbooks in Microsoft Azure Pack maakt.
- SetAutomationModuleActivityMetadata: wordt direct uitgevoerd nadat u een module in SMA hebt geïmporteerd. Dit runbook extraheert activiteiten en metagegevens van activiteiten uit een zojuist geïmporteerde module, zodat de activiteiten kunnen worden gebruikt wanneer u runbooks in Microsoft Azure Pack ontwerpt.
Runbook workers configureren
Wanneer u een runbooktaak start in SMA, wordt deze standaard gekozen door een willekeurige runbook worker. U kunt echter een specifieke runbook worker gebruiken. Gebruik hiervoor de eigenschap RunbookWorker . Meer informatie over runbookuitvoering.
Wijs een runbook worker aan met de PowerShell ISE-invoegtoepassing.
- Meld u in de configuratie van de SMA ISE-invoegtoepassing > aan met uw SMA-account. Nadat u zich hebt aangemeld, ziet u uw runbooks op het tabblad Runbooks .
- Selecteer op het tabblad Runbooks een of meer runbooks die moeten worden uitgevoerd op een bepaalde runbook worker.
- Selecteer Configureren en selecteer in Runbookeigenschappen configureren een runbook worker in de vervolgkeuzelijst.
- Selecteer Wijzigingen aanbrengen.
Een runbook worker aanwijzen via de SMA PowerShell-module
U kunt de eigenschap runbook worker ook instellen met behulp van de volgende opdrachtregelopdracht:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName
U ziet als volgt een lijst met alle runbook workers die zijn geïmplementeerd:
$webServer = 'https://MyServer'
$port = 9090
Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port
Notitie
U kunt momenteel de Microsoft Azure Pack-portal niet gebruiken om een runbook worker aan te wijzen. Gebruik de SMA ISE-invoegtoepassing of PowerShell-cmdlets.
Runbooks plannen
Als u wilt plannen dat een runbook op een opgegeven tijdstip begint, koppelt u het aan een of meer planningen. Een schema kan worden geconfigureerd om eenmaal te worden uitgevoerd of ingesteld op herhaling. Een runbook kan worden gekoppeld aan meerdere planningen en er kunnen meerdere runbooks aan een planning worden gekoppeld.
Een planning maken
U kunt een planning maken met de beheerportal of met Windows PowerShell.
Een planning maken in de beheerportal
- Selecteer in de beheerportal de optie Automation.
- Selecteer op het tabblad Assetsde optie Instelling> ToevoegenSchema toevoegen.
- Voer een naam en beschrijving in voor de nieuwe planning en selecteer of deze Eenmalig of Dagelijks wordt uitgevoerd.
- Geef een begintijd op en geef indien nodig de andere opties op. De tijdzone van de begintijd komt overeen met de tijdzone van de lokale computer.
Een planning maken met Windows PowerShell
U kunt de cmdlet Set-SmaSchedule gebruiken om een planning te maken of om een bestaande planning te wijzigen. U moet de begintijd voor de planning opgeven en of deze één keer of herhaaldelijk moet worden uitgevoerd.
In het volgende voorbeeld wordt een nieuwe planning gemaakt met de naam Mijn dagelijkse planning. Het begint op de huidige dag en duurt één jaar per dag om 's middags.
$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
Een planning koppelen aan een runbook
Een runbook kan worden gekoppeld aan meerdere planningen en er kunnen meerdere runbooks aan een planning worden gekoppeld. Als een runbook parameters heeft, kunt u waarden opgeven die moeten worden gebruikt wanneer het runbook wordt gestart. U moet waarden opgeven voor de verplichte parameters.
Een planning koppelen in de beheerportal
- SelecteerAutomation-runbooks> in de beheerportal.
- Selecteer de naam van het runbook dat u wilt plannen en selecteer het tabblad Planning .
- Als het runbook momenteel is gekoppeld aan een schema, selecteert u Koppelen. Selecteer vervolgens Koppelen aan een nieuwe planning en maak een nieuwe, of selecteer Koppelen aan een bestaande planning en selecteer een planning.
- Als het runbook parameters heeft, wordt u gevraagd waarden op te geven.
Planning koppelen aan Windows PowerShell
U kunt Start-SmaRunbook met de parameter ScheduleName gebruiken om een schema aan een runbook te koppelen. U kunt waarden opgeven met de parameter Parameters . Meer informatie over parameterwaarden.
De volgende voorbeeldopdrachten laten zien hoe u een schema aan een runbook koppelt.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params
Runbooks volgen
Wanneer u een runbook start in SMA, wordt er een taak gemaakt. Een taak is één uitvoeringsexemplaar van een runbook. Eén runbook kan meerdere taken hebben, elk met een eigen set waarden voor de runbookparameters.
- Als de eigenschap RunbookWorker van het runbook is ingevuld, wordt de taak door die werkrolserver uitgevoerd.
- Als de werkrolserver niet beschikbaar is, mislukt de taak met een fout.
- Als de eigenschap RunbookWorker niet is ingevuld, selecteert SMA willekeurig een beschikbare werkrolserver om de aanvraag te verwerken.
In het volgende diagram ziet u de levenscyclus van een runbooktaak voor PowerShell Workflow-runbooks.
In het volgende diagram ziet u de levenscyclus van een runbooktaak voor PowerShell-scriptrunbooks.
Taakstatus
In de volgende tabel wordt beschreven welke status een taak kan hebben.
Status | Beschrijving |
---|---|
Voltooid | De taak is voltooid. |
Mislukt | De taak is beëindigd met een uitzondering. |
In wachtrij | De taak wacht totdat de bronnen op een Automation Worker beschikbaar zijn, zodat de taak kan worden gestart. |
Starten | De taak is toegewezen aan een werknemer en wordt momenteel door het systeem gestart. |
Hervatten | De onderbroken taak wordt momenteel door het systeem hervat. |
Wordt uitgevoerd | De taak wordt uitgevoerd. |
Gestopt | De gebruiker heeft de taak gestopt voordat deze is voltooid. |
Stoppen | De taak wordt momenteel door het systeem gestopt. |
Onderbroken | De taak is door de gebruiker, door het systeem of door een opdracht in het runbook onderbroken. Een taak die is onderbroken, kan opnieuw worden gestart. Het wordt hervat vanaf het laatste controlepunt of vanaf het begin van het runbook als het geen controlepunten heeft. Het runbook wordt alleen door het systeem onderbroken in het geval van een uitzondering die de mogelijkheid heeft om te hervatten. ErrorActionPreference is standaard ingesteld op Doorgaan, wat betekent dat de taak wordt uitgevoerd wanneer er een uitzondering optreedt. Als deze variabele is ingesteld op Stoppen, wordt de taak onderbroken wanneer er een uitzondering optreedt. |
Onderbreken | Het systeem probeert de taak op verzoek van de gebruiker te onderbreken. Runbook moet het volgende controlepunt bereiken voordat de taak kan worden onderbroken. Als het laatste controlepunt al is verstreken, wordt het voltooid voordat het kan worden onderbroken. |
Taakstatus weergeven in de beheerportal
Het Automation-dashboard bevat een overzicht van alle runbooks in de SMA-omgeving.
- De overzichtsgrafiek toont u het totale aantal taken voor alle runbooks die elke status over een bepaald aantal dagen of uren hebben gehad.
- U kunt in de rechterbovenhoek van de grafiek het tijdsbereik selecteren.
- De tijdas van de grafiek verandert afhankelijk van het type tijdsbereik dat u selecteert.
- U kunt kiezen of u de lijn voor een bepaalde status wilt weergeven door erop te klikken bovenaan het scherm.
Geef het dashboard als volgt weer:
- Selecteer in de beheerportal de optie Automation.
- Selecteer het tabblad Dashboard.
Het dashboard weergeven
Het runbookdashboard bevat een overzicht voor één runbook. De overzichtsgrafiek toont u het totale aantal taken voor het runbook dat elke status over een bepaald aantal dagen of uren heeft gehad. U kunt het tijdsbereik in de rechterbovenhoek van de grafiek selecteren. De tijdas van de grafiek verandert afhankelijk van het type tijdsbereik dat u selecteert. U kunt kiezen of u de lijn voor een bepaalde status wilt weergeven door erop te klikken bovenaan het scherm.
Geef het dashboard als volgt weer:
- Selecteer in de beheerportal de optie Automation.
- Selecteer de naam van een runbook.
- Selecteer het tabblad Dashboard.
Taakdetails weergeven
U kunt een lijst weergeven met alle taken die zijn gemaakt voor een bepaald runbook en hun meest recente status.
- U kunt de lijst filteren op taakstatus en het datumbereik voor de laatste wijziging in de taak.
- Selecteer de naam van een taak om de gedetailleerde informatie en de uitvoer ervan weer te geven.
- De gedetailleerde weergave van de taak bevat de waarden voor de runbookparameters die zijn opgegeven voor die taak.
- De taakgeschiedenis bevat onder andere uitvoer, waarschuwingen en foutberichten met tijdstempels die aangeven wanneer de record is gemaakt.
- Meer informatie over runbookuitvoer en -berichten.
- De bron voor een taak is de broncode van de werkstroom toen de taak werd uitgevoerd. Dit is mogelijk niet hetzelfde als de huidige versie van het runbook als deze is bijgewerkt nadat de taak werd uitgevoerd.
U kunt de volgende stappen gebruiken om de taken voor een runbook weer te geven.
- Selecteer in de beheerportal de optie Automation.
- Selecteer de naam van een runbook en selecteer het tabblad Taken .
- Selecteer de kolom Taak gemaakt voor een taak om de details en uitvoer ervan weer te geven.
- Selecteer het tabblad Geschiedenis om de geschiedenis weer te geven. Selecteer een geschiedenisrecord en selecteer Details weergeven onderaan het scherm voor een gedetailleerde weergave van de record.
- Selecteer op het tabblad Geschiedenisde optie Bron weergeven.
Taakstatus ophalen met behulp van Windows PowerShell
U kunt Get-SmaJob gebruiken om de taken die voor een runbook zijn gemaakt, en de details voor een bepaalde taak op te halen.
- Als u een runbook start met Windows PowerShell met behulp van Start-SmaRunbook, wordt de resulterende taak geretourneerd.
- Gebruik Get-SmaJobOutput om de uitvoer van een taak op te halen.
Met de volgende voorbeeldopdracht wordt de laatste taak voor een voorbeeldrunbook opgehaald en worden de status, de waarden voor de runbookparameters en de uitvoer van de taak weergegeven.
$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
Runbookinstellingen configureren
Elk runbook heeft meerdere instellingen. U kunt deze instellingen gebruiken om runbooks te zoeken en te beheren. U kunt de logboekregistratie van runbooks ook wijzigen door deze instellingen te configureren. Elk van deze instellingen wordt hieronder beschreven, gevolgd door procedures voor het wijzigen ervan.
Naam en beschrijving
U kunt de naam van een runbook niet wijzigen nadat het is gemaakt. De Beschrijving is optioneel en bevat maximaal 512 tekens.
Tags
Met labels kunt u verschillende woorden en woordgroepen toewijzen ter identificatie van een runbook. U kunt meerdere tags voor een runbook opgeven door deze te scheiden met komma's.
Logboekregistratie
Standaard worden uitgebreide records en voortgangsrecords niet naar de taakgeschiedenis geschreven. U kunt de instellingen voor een bepaald runbook wijzigen om deze records te registreren. Zie Runbook Output and Messagesvoor meer informatie over deze records.
Aangewezen runbook worker
Standaard moet een runbooktaak worden toegewezen aan een willekeurige runbook worker om uit te voeren. U kunt de instellingen voor een bepaald runbook wijzigen om het runbook uit te voeren op een bepaalde runbook worker.
Runbookinstellingen wijzigen in de beheerportal
U kunt de instellingen voor een runbook in de beheerportal wijzigen op de pagina Configureren voor het runbook.
Selecteer in de beheerportal de optie Automation.
Selecteer het tabblad Runbooks .
Selecteer de naam van een runbook.
Selecteer de tab Configureren.
Runbookinstellingen wijzigen met PowerShell
U kunt de cmdlet Set-SmaRunbookConfiguration gebruiken om alle instellingen voor een runbook te wijzigen, met uitzondering van tags. U kunt alleen tags voor de bestaande runbooks wijzigen en toevoegen met behulp van de beheerportal. U kunt alleen tags instellen voor runbooks met PowerShell wanneer u een runbook importeert met Import-SmaRunbook.
De volgende voorbeeldopdrachten tonen hoe de eigenschappen van een runbook te configureren. In dit voorbeeld wordt een beschrijving toegevoegd en wordt aangegeven dat uitgebreide records moeten worden geregistreerd:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true
Runbook worker- en SQL-serververbinding versleutelen
Beveilig de verbinding tussen de Runbook Worker-processen en SQL Server met behulp van SSL.
Volgende stappen
- Meer informatie over het beheren van globale assets.
- Meer informatie over de rol van SMA in een Microsoft Azure Pack-implementatie.