Как включить аварийные дампы Windows с помощью шаблона Azure ARM

У нас есть решение, работающее на 140 VMS в Azure VMSS.

Как включить любой из этих параметров дампа памяти через шаблон ARM?

За исключением этого, как я могу включить его с помощью скрипта PowerShell?

2 ответа

Решение

Да, вы можете добавить информацию в свой шаблон ARM, используя DSC или CSE, но ksy - это то, что в сценарии. Ниже приведен пример информации, которая должна быть в сценарии, enableDump.ps1

# Setup the Guest OS to collect a kernel dump on an OS crash event
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name CrashDumpEnabled -Type DWord -force -Value 2
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name DumpFile -Type ExpandString -force -Value "%SystemRoot%\MEMORY.DMP"
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\CrashControl' -name NMICrashDump -Type DWord -force -Value 1

Ссылка на значения в скрипте; https://support.microsoft.com/en-us/help/254649/overview-of-memory-dump-file-options-for-windows

Настройка CustomScript в шаблоне Arm может быть такой простой, как;

  {
    "type": "extensions",
    "name": "CustomScriptExtension",
    "apiVersion": "2017-03-30",
    "location": "[parameters('location')]",
    "dependsOn": [
      "[variables('vmName')]"
    ],
    "properties": {
      "publisher": "Microsoft.Compute",
      "type": "CustomScriptExtension",
      "typeHandlerVersion": "1.8",
      "autoUpgradeMinorVersion": true,
      "settings": {
        "fileUris": [
          "https://xxxxxxx.blob.core.windows.net/buildServer1/enableDump.ps1"
        ],
        "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File ./EnableCrashDump.ps1"
      }
    }
  }

Надеюсь это поможет.

Вы не можете сделать это с ARM Template, однако вы можете использовать скрипт или расширение dsc powershell (как часть шаблона arm) для его настройки. примеры этих расширений:

{
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "[concat(variables('vmName'),'/installcustomscript')]",
    "apiVersion": "2015-05-01-preview",
    "location": "[parameters('location')]",
    "properties": {
        "publisher": "Microsoft.Azure.Extensions",
        "type": "CustomScript",
        "typeHandlerVersion": "2.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "fileUris": [
                "[concat(parameters('_artifactsLocation'), '/scripts/hello.sh')]"
            ],
            "commandToExecute": "[parameters('commandToExecute')]"
        }
    }
},
{
    "apiVersion": "2015-05-01-preview",
    "type": "Microsoft.Compute/virtualMachines/extensions",
    "name": "[concat(parameters('vmName'),'/enabledsc')]",
    "location": "[parameters('location')]",
    "properties": {
        "publisher": "Microsoft.Powershell",
        "type": "DSC",
        "typeHandlerVersion": "2.0",
        "settings": {
            "Mode": "[parameters('mode')]",
            "FileUri": "[parameters('fileUri')]"
        },
        "protectedSettings": {
            "StorageAccountName": "[parameters('storageAccountName')]",
            "StorageAccountKey": "[parameters('storageAccountKey')]",
            "RegistrationUrl": "[parameters('registrationUrl')]",
            "RegistrationKey": "[parameters('registrationKey')]"
        }
    }
}

Чтение:
https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-windows
https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/dsc-overview

Другие вопросы по тегам