Povolení řešení Update Management s využitím šablony Azure Resource Manageru

Šablonu Azure Resource Manageru můžete použít k povolení funkce Azure Automation Update Management ve vaší skupině prostředků. Tento článek obsahuje ukázkovou šablonu, která automatizuje následující:

  • Automatizuje vytvoření pracovního prostoru služby Log Analytics v Azure Monitoru.
  • Automatizuje vytvoření účtu služby Azure Automation.
  • Propojuje účet Automation s pracovním prostorem služby Log Analytics.
  • Přidává do účtu ukázkové runbooky služby Automation.
  • Povolí funkci Update Management.

Pokud už máte pracovní prostor služby Log Analytics a účet Automation nasazený v podporované oblasti ve vašem předplatném, nejsou propojené. Pomocí této šablony se úspěšně vytvoří odkaz a nasadí řešení Update Management.

Poznámka:

Vytvoření účtu Automation Spustit jako se při použití šablony ARM nepodporuje. Pokud chcete účet Spustit jako vytvořit ručně z portálu nebo pomocí PowerShellu, přečtěte si téma Vytvoření účtu Spustit jako.

Po dokončení těchto kroků je potřeba nakonfigurovat nastavení diagnostiky pro váš účet Automation, abyste mohli odesílat stav úlohy runbooku a streamy úloh do propojeného pracovního prostoru služby Log Analytics.

Verze rozhraní API

Následující tabulka uvádí verzi rozhraní API pro prostředky použité v tomto příkladu.

Prostředek Typ prostředku Verze rozhraní API
Pracovní prostor Pracovní prostory 2020-03-01-preview
Účet Automation automatizace 13. 13. 2020
Propojené služby pracovního prostoru Pracovní prostory 2020-03-01-preview
Řešení řešení 2015-11-01-preview

Před použitím šablony

Šablona JSON je nakonfigurovaná tak, aby vás vyzve k zadání:

  • Název pracovního prostoru.
  • Oblast, ve které se má pracovní prostor vytvořit.
  • Název účtu Automation.
  • Oblast, ve které se má účet Automation vytvořit.

Následující parametry v šabloně jsou nastaveny s výchozí hodnotou pro pracovní prostor služby Log Analytics:

  • SKU se ve výchozím nastavení nastaví na cenovou úroveň v GB vydané v cenovém modelu z dubna 2018.
  • výchozí hodnota dataRetention je 30 dnů.

Upozorňující

Pokud chcete vytvořit nebo nakonfigurovat pracovní prostor služby Log Analytics v předplatném, které se přihlásilo k cenovému modelu z dubna 2018, je jedinou platnou cenovou úrovní Log Analytics PerGB2018.

Šablona JSON určuje výchozí hodnotu pro ostatní parametry, které by se pravděpodobně použily jako standardní konfigurace ve vašem prostředí. Šablonu můžete uložit do účtu úložiště Azure pro sdílený přístup ve vaší organizaci. Další informace o práci se šablonami najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.

Pokud s Azure Automation a Azure Monitorem začínáte, je důležité, abyste porozuměli následujícím podrobnostem konfigurace. Můžou vám pomoct vyhnout se chybám při pokusu o vytvoření, konfiguraci a použití pracovního prostoru služby Log Analytics propojeného s vaším novým účtem Automation.

  • Projděte si další podrobnosti , abyste plně porozuměli možnostem konfigurace pracovního prostoru, jako je režim řízení přístupu, cenová úroveň, uchovávání a úroveň rezervace kapacity.

  • Zkontrolujte mapování pracovních prostorů a určete podporované oblasti vložené nebo v souboru parametrů. Pro propojení pracovního prostoru služby Log Analytics a účtu Automation ve vašem předplatném se podporují jenom určité oblasti.

  • Pokud s protokoly služby Azure Monitor teprve začínáte a ještě jste nenasadili pracovní prostor, měli byste si projít pokyny k návrhu pracovního prostoru. Pomůže vám získat informace o řízení přístupu a porozumět strategiím implementace návrhu, které doporučujeme pro vaši organizaci.

Nasazení šablony

  1. Zkopírujte a vložte do souboru následující syntaxi JSON:

    {
      "$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. Upravte šablonu tak, aby splňovala vaše požadavky. Místo předávání parametrů jako vložených hodnot zvažte vytvoření souboru parametrů Resource Manageru.

  3. Uložte tento soubor do místní složky jako deployUMSolutiontemplate.json.

  4. Jste připraveni k nasazení této šablony. Můžete použít PowerShell nebo Azure CLI. Když se zobrazí výzva k zadání názvu pracovního prostoru a účtu Automation, zadejte název, který je globálně jedinečný pro všechna předplatná Azure.

    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"
    

    Dokončení nasazení může trvat několik minut. Po dokončení se zobrazí zpráva podobná následujícímu, která obsahuje výsledek:

    Example result when deployment is complete

Kontrola nasazených prostředků

  1. Přihlaste se k portálu Azure.

  2. Na webu Azure Portal otevřete účet Automation, který jste vytvořili.

  3. V levém podokně vyberte Runbooky. Na stránce Runbooky jsou uvedené tři runbooky kurzů vytvořené pomocí účtu Automation.

    Tutorial runbooks created with Automation account

  4. V levém podokně vyberte Propojený pracovní prostor. Na stránce Propojeného pracovního prostoru se zobrazí pracovní prostor služby Log Analytics, který jste zadali dříve, propojený s vaším účtem Automation.

    Automation account linked to the Log Analytics workspace

  5. V levém podokně vyberte Update Management. Na stránce Správa aktualizací se zobrazí stránka posouzení bez jakýchkoli informací v důsledku toho, že je právě povolená, a počítače nejsou nakonfigurované pro správu.

    Update Management feature assessment view

Vyčištění prostředků

Pokud je už nepotřebujete, odstraňte řešení Aktualizace v pracovním prostoru služby Log Analytics, zrušte propojení účtu Automation s pracovním prostorem a pak odstraňte účet a pracovní prostor Automation.

Další kroky