Dela via


Aktivera Uppdateringshantering via en Azure Resource Manager-mall

Viktigt!

Automation Update Management har dragits tillbaka den 31 augusti 2024 och vi rekommenderar att du använder Azure Update Manager. Följ riktlinjerna för migrering från Automation Update Management till Azure Update Manager.

Du kan använda en Azure Resource Manager-mall för att aktivera funktionen Azure Automation Update Management i resursgruppen. Den här artikeln innehåller en exempelmall som automatiserar följande:

  • Automatiserar skapandet av en Azure Monitor Log Analytics-arbetsyta.
  • Automatiserar skapandet av ett Azure Automation-konto.
  • Länkar Automation-kontot till Log Analytics-arbetsytan.
  • Lägger till exempel på Automation-runbooks i kontot.
  • Aktiverar funktionen Uppdateringshantering.

Om du redan har en Log Analytics-arbetsyta och ett Automation-konto distribuerat i en region som stöds i din prenumeration är de inte länkade. Med den här mallen skapas länken och uppdateringshantering distribueras.

Kommentar

Skapande av Automation Kör som-kontot stöds inte när du använder en ARM-mall. Information om hur du skapar ett Kör som-konto manuellt från portalen eller med PowerShell finns i Skapa Kör som-konto.

När du har slutfört de här stegen måste du konfigurera diagnostikinställningar för ditt Automation-konto för att skicka runbook-jobbstatus och jobbströmmar till den länkade Log Analytics-arbetsytan.

API-versioner

I följande tabell visas API-versionen för de resurser som används i det här exemplet.

Resurs Resurstyp API-version
Arbetsyta arbetsytor Förhandsversion 2020-03-01
Automation-konto automatisering Förhandsversion 2020-01-13
Länkade tjänster för arbetsyta arbetsytor Förhandsversion 2020-03-01
Lösningar lösningar Förhandsversion 2015-11-01

Innan du använder mallen

JSON-mallen har konfigurerats för att fråga dig om:

  • Namnet på arbetsytan.
  • Den region som arbetsytan ska skapas i.
  • Namnet på Automation-kontot.
  • Den region som automationskontot ska skapas i.

Följande parametrar i mallen anges med ett standardvärde för Log Analytics-arbetsytan:

  • sku :n är som standard prisnivån per GB som släpptes i prismodellen april 2018.
  • dataRetention är som standard 30 dagar.

Varning

Om du vill skapa eller konfigurera en Log Analytics-arbetsyta i en prenumeration som har valt prismodellen april 2018 är den enda giltiga Log Analytics-prisnivån PerGB2018.

JSON-mallen anger ett standardvärde för de andra parametrar som sannolikt skulle användas som standardkonfiguration i din miljö. Du kan lagra mallen på ett Azure Storage-konto för delad åtkomst i din organisation. Mer information om hur du arbetar med mallar finns i Distribuera resurser med ARM-mallar och Azure CLI.

Om du inte har använt Azure Automation och Azure Monitor tidigare är det viktigt att du förstår följande konfigurationsinformation. De kan hjälpa dig att undvika fel när du försöker skapa, konfigurera och använda en Log Analytics-arbetsyta som är länkad till ditt nya Automation-konto.

  • Granska ytterligare information för att förstå konfigurationsalternativ för arbetsytor fullt ut, till exempel åtkomstkontrollläge, prisnivå, kvarhållning och kapacitetsreservationsnivå.

  • Granska arbetsytemappningar för att ange de regioner som stöds infogade eller i en parameterfil. Endast vissa regioner stöds för att länka en Log Analytics-arbetsyta och ett Automation-konto i din prenumeration.

  • Om du är nybörjare på Azure Monitor-loggar och inte redan har distribuerat en arbetsyta bör du läsa designvägledningen för arbetsytan. Det hjälper dig att lära dig mer om åtkomstkontroll och förstå de strategier för designimplementering som vi rekommenderar för din organisation.

Distribuera mallen

  1. Kopiera och klistra in följande JSON-syntax i filen:

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "workspaceName": {
          "type": "string",
          "metadata": {
            "description": "Workspace name"
          }
        },
        "sku": {
          "type": "string",
          "defaultValue": "pergb2018",
          "allowedValues": [
            "pergb2018",
            "Free",
            "Standalone",
            "PerNode",
            "Standard",
            "Premium"
          ],
          "metadata": {
            "description": "Pricing tier: perGB2018 or legacy tiers (Free, Standalone, PerNode, Standard or Premium), which are not available to all customers."
          }
        },
        "dataRetention": {
          "type": "int",
          "defaultValue": 30,
          "minValue": 7,
          "maxValue": 730,
          "metadata": {
            "description": "Number of days to retain data."
          }
        },
        "location": {
          "type": "string",
          "defaultValue": "[resourceGroup().location]",
          "metadata": {
            "description": "Specifies the location in which to create the workspace."
          }
        },
        "automationAccountName": {
          "type": "string",
          "metadata": {
            "description": "Automation account name"
          }
        },
        "sampleGraphicalRunbookName": {
          "type": "String",
          "defaultValue": "AzureAutomationTutorial"
        },
        "sampleGraphicalRunbookDescription": {
          "type": "String",
          "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)."
        },
        "samplePowerShellRunbookName": {
          "type": "String",
          "defaultValue": "AzureAutomationTutorialScript"
        },
        "samplePowerShellRunbookDescription": {
          "type": "String",
          "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)."
        },
        "samplePython2RunbookName": {
          "type": "String",
          "defaultValue": "AzureAutomationTutorialPython2"
        },
        "samplePython2RunbookDescription": {
          "type": "String",
          "defaultValue": "An example runbook that gets all the Resource Manager resources by using the Run As account (service principal)."
        },
        "_artifactsLocation": {
          "type": "string",
          "defaultValue": "[deployment().properties.templateLink.uri]",
          "metadata": {
            "description": "URI to artifacts location"
          }
        },
        "_artifactsLocationSasToken": {
          "type": "securestring",
          "defaultValue": "",
          "metadata": {
            "description": "The sasToken required to access _artifactsLocation.  When the template is deployed using the accompanying scripts, a sasToken will be automatically generated"
          }
        }
      },
      "variables": {
        "Updates": {
            "name": "[concat('Updates', '(', parameters('workspaceName'), ')')]",
            "galleryName": "Updates"
          }
      },
      "resources": [
        {
          "type": "Microsoft.OperationalInsights/workspaces",
          "apiVersion": "2020-08-01",
          "name": "[parameters('workspaceName')]",
          "location": "[parameters('location')]",
          "properties": {
            "sku": {
              "name": "[parameters('sku')]"
            },
            "retentionInDays": "[parameters('dataRetention')]",
            "features": {
              "searchVersion": 1,
              "legacy": 0
            }
          }
        },
      {
        "apiVersion": "2015-11-01-preview",
        "location": "[parameters('location')]",
        "name": "[variables('Updates').name]",
        "type": "Microsoft.OperationsManagement/solutions",
        "id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.OperationsManagement/solutions/', variables('Updates').name)]",
        "dependsOn": [
          "[concat('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]"
        ],
        "properties": {
          "workspaceResourceId": "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]"
        },
        "plan": {
          "name": "[variables('Updates').name]",
          "publisher": "Microsoft",
          "promotionCode": "",
          "product": "[concat('OMSGallery/', variables('Updates').galleryName)]"
        }
      },
        {
          "type": "Microsoft.Automation/automationAccounts",
          "apiVersion": "2020-01-13-preview",
          "name": "[parameters('automationAccountName')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('workspaceName')]"
          ],
          "identity": {
            "type": "SystemAssigned"
          },
          "properties": {
            "sku": {
              "name": "Basic"
            }
          },
          "resources": [
            {
              "type": "runbooks",
              "apiVersion": "2020-01-13-preview",
              "name": "[parameters('sampleGraphicalRunbookName')]",
              "location": "[parameters('location')]",
              "dependsOn": [
                "[parameters('automationAccountName')]"
              ],
              "properties": {
                "runbookType": "GraphPowerShell",
                "logProgress": "false",
                "logVerbose": "false",
                "description": "[parameters('sampleGraphicalRunbookDescription')]",
                "publishContentLink": {
                  "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.graphrunbook', parameters('_artifactsLocationSasToken')))]",
                  "version": "1.0.0.0"
                }
              }
            },
            {
              "type": "runbooks",
              "apiVersion": "2020-01-13-preview",
              "name": "[parameters('samplePowerShellRunbookName')]",
              "location": "[parameters('location')]",
              "dependsOn": [
                "[parameters('automationAccountName')]"
              ],
              "properties": {
                "runbookType": "PowerShell",
                "logProgress": "false",
                "logVerbose": "false",
                "description": "[parameters('samplePowerShellRunbookDescription')]",
                "publishContentLink": {
                  "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorial.ps1', parameters('_artifactsLocationSasToken')))]",
                  "version": "1.0.0.0"
                }
              }
            },
            {
              "type": "runbooks",
              "apiVersion": "2020-01-13-preview",
              "name": "[parameters('samplePython2RunbookName')]",
              "location": "[parameters('location')]",
              "dependsOn": [
                "[parameters('automationAccountName')]"
              ],
              "properties": {
                "runbookType": "Python2",
                "logProgress": "false",
                "logVerbose": "false",
                "description": "[parameters('samplePython2RunbookDescription')]",
                "publishContentLink": {
                  "uri": "[uri(parameters('_artifactsLocation'), concat('scripts/AzureAutomationTutorialPython2.py', parameters('_artifactsLocationSasToken')))]",
                  "version": "1.0.0.0"
                }
              }
            }
          ]
        },
        {
          "type": "Microsoft.OperationalInsights/workspaces/linkedServices",
          "apiVersion": "2020-08-01",
          "name": "[concat(parameters('workspaceName'), '/' , 'Automation')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('workspaceName')]",
            "[parameters('automationAccountName')]"
          ],
          "properties": {
            "resourceId": "[resourceId('Microsoft.Automation/automationAccounts', parameters('automationAccountName'))]"
          }
        }
      ]
    }
    
  2. Redigera mallen för att uppfylla dina krav. Överväg att skapa en Resource Manager-parameterfil i stället för att skicka parametrar som infogade värden.

  3. Spara filen i en lokal mapp som deployUMSolutiontemplate.json.

  4. Nu är det dags att distribuera den här mallen. Du kan använda antingen PowerShell eller Azure CLI. När du uppmanas att ange en arbetsyta och ett Automation-kontonamn anger du ett namn som är globalt unikt för alla Azure-prenumerationer.

    PowerShell

    New-AzResourceGroupDeployment `
        -Name <deployment-name> `
        -ResourceGroupName <resource-group-name> `
        -TemplateFile deployUMSolutiontemplate.json `
        -_artifactsLocation "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
    

    Azure CLI

    az deployment group create --resource-group <my-resource-group> --name <my-deployment-name> --template-file deployUMSolutiontemplate.json --parameters _artifactsLocation="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.automation/101-automation/azuredeploy.json"
    

    Det kan ta några minuter att slutföra distributionen. När det är klart visas ett meddelande som liknar följande som innehåller resultatet:

    Exempelresultat när distributionen är klar

Granska distribuerade resurser

  1. Logga in på Azure-portalen.

  2. Öppna automationskontot som du skapade i Azure Portal.

  3. Välj Runbooks i den vänstra rutan. På sidan Runbooks visas tre självstudier som skapats med Automation-kontot.

    Självstudier för runbooks som skapats med Automation-konto

  4. I den vänstra rutan väljer du Länkad arbetsyta. På sidan Länkad arbetsyta visas den Log Analytics-arbetsyta som du angav tidigare länkad till ditt Automation-konto.

    Automation-konto som är länkat till Log Analytics-arbetsytan

  5. I den vänstra rutan väljer du Uppdateringshantering. På sidan Uppdateringshantering visas utvärderingssidan utan information som ett resultat av att bara aktiveras och datorer inte har konfigurerats för hantering.

    Funktionsutvärderingsvy för uppdateringshantering

Rensa resurser

När du inte längre behöver dem tar du bort lösningen Uppdateringar på Log Analytics-arbetsytan, avlänkar Automation-kontot från arbetsytan och tar sedan bort Automation-kontot och arbetsytan.

Nästa steg