Runbooks beheren voor Service Management Automation
Als SMA-beheerder (Service Management Automation) moet u runbooks configureren en uitvoeren. Activiteiten, waaronder het instellen van runbookmedewerkers 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. Het extraheert activiteiten en activiteitenmetagegevens voor deze modules, 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. Met dit runbook worden activiteiten en activiteitenmetagegevens geëxtraheerd uit een zojuist geïmporteerde module, zodat de activiteiten kunnen worden gebruikt wanneer u runbooks in Microsoft Azure Pack maakt.
De runbook workers configureren
Wanneer u standaard een runbook-taak in SMA start, wordt deze door een willekeurige runbook-werknemer gekozen. Mogelijk wilt u echter een specifieke runbook worker gebruiken. Gebruik hiervoor de eigenschap RunbookWorker. Meer informatie over runbook-uitvoering.
Een runbook worker aanwijzen met de PowerShell ISE-invoegtoepassing.
- Meld u aan met uw SMA-account in de SMA ISE-invoegtoepassing >Configuration. Nadat u zich hebt aangemeld, ziet u uw runbooks op het tabblad Runbooks.
- Selecteer op het tabblad Runbooks een of meer runbooks die u wilt uitvoeren op een bepaalde runbook worker.
- Selecteer configureren en selecteer in Runbookeigenschappen configurereneen 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 de volgende opdrachtprompt:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName
Je ziet een lijst met alle runbook workers die als volgt zijn uitgerold:
$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 een runbook wilt plannen om op een specifiek tijdstip te beginnen, koppelt u het aan een of meerdere planningen. Een schema kan worden geconfigureerd om één keer te worden uitgevoerd of ingesteld om opnieuw te worden uitgevoerd. Een runbook kan worden gekoppeld aan meerdere planningen en een schema kan meerdere runbooks eraan koppelen.
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 Automation-.
- Selecteer op het tabblad Assets de optie Instelling toevoegen>en vervolgensPlanning toevoegen.
- Voer een naam en beschrijving in voor de nieuwe planning en selecteer of het wordt uitgevoerd Eenmalig of Dagelijks.
- Vul een begintijd inen de andere opties naar behoefte. 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 bestaand schema te wijzigen. U moet de begintijd voor de planning opgeven en of deze eenmaal of herhaaldelijk moet worden uitgevoerd.
In het volgende voorbeeld wordt een nieuw schema gemaakt met de naam Mijn dagelijkse planning. Het begint op de huidige dag en gaat elke dag om de middag voor één jaar door.
$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 een schema kan meerdere runbooks eraan koppelen. Als een runbook parameters bevat, kunt u waarden opgeven die moeten worden gebruikt wanneer het runbook wordt gestart. U moet waarden opgeven voor verplichte parameters.
Een planning koppelen in de beheerportal
- Selecteer in de beheerportal Automation>Runbooks.
- Selecteer de naam van het runbook dat u wilt inplannen en selecteer het tabblad Planning.
- Als het runbook momenteel is gekoppeld aan een schema, selecteert u Koppeling. Selecteer vervolgens Koppeling naar een nieuw schemaen maak een nieuw schema of selecteer Koppeling naar een bestaand schema en selecteer een planning.
- Als het runbook parameters bevat, wordt u gevraagd om hun waarden.
Schema koppelen met Windows PowerShell
U kunt de Start-SmaRunbook gebruiken met de parameter ScheduleName 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 planning koppelt aan een runbook.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params
Runbooks bijhouden
Wanneer u een runbook in SMA start, wordt er een taak gemaakt. Een taak is een enkele uitvoeringsinstantie 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 werkserver uitgevoerd.
- Als de werkserver niet beschikbaar is, mislukt de taak met een fout.
- Als de eigenschap RunbookWorker niet is ingevuld, selecteert SMA willekeurig een beschikbare workerserver 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 worden de verschillende statussen beschreven die mogelijk zijn voor een taak.
Status | Beschrijving |
---|---|
Volbracht | De taak is voltooid. |
Mislukt | De taak is beëindigd met een uitzondering. |
In de wachtrij geplaatst | De taak wacht tot middelen op een automatiseringsmedewerker beschikbaar zijn, zodat deze kan worden gestart. |
Beginnend | De taak is toegewezen aan een werknemer en het systeem is bezig het te starten. |
Hervatten | Het systeem is bezig met het hervatten van de taak nadat deze is onderbroken. |
Hardlopen | De taak wordt uitgevoerd. |
Gestopt | De taak is gestopt door de gebruiker voordat deze is voltooid. |
Stoppen | Het systeem is bezig met het stoppen van de taak. |
Opgeschort | De taak is onderbroken door de gebruiker, door het systeem of door een opdracht in het runbook. Een taak die is onderbroken, kan opnieuw worden gestart. Het hervat vanaf zijn laatste controlepunt, of vanaf het begin van het runbook als er geen controlepunten zijn. Het runbook wordt alleen opgeschort door het systeem in het geval van een uitzondering die een mogelijkheid heeft om te hervatten. Standaard is ErrorActionPreference ingesteld op Doorgaan, wat betekent dat de taak actief blijft 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 te schorten op verzoek van de gebruiker. Het runbook moet het volgende controlepunt bereiken voordat het kan worden onderbroken. Als het al voorbij het laatste controlepunt is, voltooit het zichzelf voordat het kan worden onderbroken. |
Taakstatus weergeven in de beheerportal
Het Automation-dashboard toont een overzicht van alle runbooks in de SMA-omgeving.
- In de samenvattingsgrafiek ziet u het aantal totale taken voor alle runbooks die elke status hebben ingevoerd gedurende een bepaald aantal dagen of uren.
- U kunt het tijdsbereik in de rechterbovenhoek van de grafiek selecteren.
- De tijdsas van de grafiek wordt gewijzigd op basis van het type tijdsbereik dat u selecteert.
- U kunt kiezen of u de regel voor een bepaalde status wilt weergeven door erop te klikken boven aan het scherm.
Geef het dashboard als volgt weer:
- Selecteer in het beheerportaal Automation.
- Selecteer het tabblad Dashboard.
Het dashboard weergeven
Het Runbook-dashboard toont een samenvatting voor één runbook. In de samenvattingsgrafiek ziet u het aantal totale taken voor het runbook dat elke status gedurende een bepaald aantal dagen of uren heeft ingevoerd. U kunt het tijdsbereik in de rechterbovenhoek van de grafiek selecteren. De tijdsas van de grafiek wordt gewijzigd op basis van het type tijdsbereik dat u selecteert. U kunt kiezen of u de regel voor een bepaalde status wilt weergeven door erop te klikken boven aan het scherm.
Geef het dashboard als volgt weer:
- Selecteer in het Beheerportaal Automation.
- Selecteer de naam van een runbook.
- Selecteer het tabblad Dashboard.
Taakdetails weergeven
U kunt een lijst bekijken met alle taken die zijn aangemaakt 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 aan die taak zijn verstrekt.
- De taakgeschiedenis bevat uitvoer-, waarschuwings- en foutberichten met tijdstempels van wanneer de record is gemaakt.
- Meer te weten komen over de uitvoer van runbooks 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 het is bijgewerkt nadat de taak is uitgevoerd.
U kunt de volgende stappen gebruiken om de opdrachten voor een runbook weer te geven.
- Selecteer in de beheerportal Automation-.
- Selecteer de naam van een runbook en vervolgens het tabblad Taken.
- Selecteer de kolom Taak aangemaakt om de details en uitvoer van een taak weer te geven.
- Selecteer het tabblad Geschiedenis om de taakgeschiedenis weer te geven. Selecteer een geschiedenisrecord en selecteer Details weergeven onder aan het scherm voor een gedetailleerde weergave van de record.
- Selecteer in het tabblad Geschiedenis de optie Bron weergeven.
Taakstatus ophalen met Windows PowerShell
U kunt de Get-SmaJob gebruiken om de taken op te halen die zijn gemaakt voor een runbook en de details van een bepaalde taak.
- Als u een runbook met Windows PowerShell start 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 vinden en te beheren. U kunt ook de logregistratie van runbooks aanpassen 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 mag maximaal 512 tekens bevatten.
Tags
Met tags kunt u afzonderlijke woorden en woordgroepen toewijzen om te helpen een runbook te identificeren. U kunt meerdere tags voor een runbook opgeven door ze te scheiden met komma's.
Logboekregistratie
Uitgebreide records en voortgangsrecords worden standaard 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-medewerker
Standaard wordt een runbooktaak toegewezen aan een willekeurige runbook worker om uit te voeren. U kunt de instellingen voor een specifiek runbook wijzigen om het runbook uit te voeren op een specifieke runbook-worker.
Runbookinstellingen wijzigen in de beheerportal
U kunt de instellingen voor een runbook wijzigen op de pagina Configureren voor het runbook in de Beheerportal.
Selecteer in de beheerportal Automation.
Selecteer het tabblad Runbooks.
Selecteer de naam van een runbook.
Selecteer het tabblad 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 behulp van Import-SmaRunbook.
De volgende voorbeeldopdrachten laten zien hoe u de eigenschappen voor een runbook instelt. In dit voorbeeld wordt een beschrijving toegevoegd en wordt aangegeven dat uitgebreide records moeten worden vastgelegd:
$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 Server-verbinding versleutelen
de verbinding tussen runbook worker processen en SQL-server beveiligen met BEHULP van SSL.
Volgende stappen
- Lees meer over het beheren van wereldwijde activa.
- Meer informatie over de rol van SMA in een Microsoft Azure Pack-implementatie.