Включить параметры диагностики на виртуальной машине после того, как она уже подготовлена в Azure.
Галерея Powershell | Диагностика | Лазурь | Майкрософт | Операции | Az.Compute
В этой статье быстро показано, как добавить параметры диагностики на уже подготовленную виртуальную машину. Это может быть необходимо, если моментальный снимок использовался для создания виртуальной машины, а для этого моментального снимка не были включены диагностические настройки. Этот процесс очень быстрый и простой.
Шаг 1. Установите модуль Az.Compute из галереи Powershell.
Конкретная команда, которую мы используем, называется Set-AzVMDiagnosticsExtension и является частью модуля Az.compute. Итак, давайте удостоверимся, что он установлен.
Install-Module -Name Az.Compute -Force
Шаг 2. Настройте учетную запись хранения (необязательно)
Если учетная запись хранения уже создана, ее можно использовать. Если нет, создайте учетную запись хранения в Azure и скопируйте ключ доступа.
Шаг 3. Настройте файл диагностики
Создайте файл с именем «diagnostic-settings.json» и добавьте следующее:
{ "PublicConfig": { "WadCfg": { "DiagnosticMonitorConfiguration": { "overallQuotaInMB": 5120, "WindowsEventLog": { "scheduledTransferPeriod": "PT1M", "DataSource": [ { "name": "Application!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]" }, { "name": "Security!*" }, { "name": "System!*[System[(Level=1 or Level=2 or Level=3 or Level=4)]]" } ] } } }, "StorageAccount": "<your-storage-account>", "StorageType": "TableAndBlob" }, "PrivateConfig": { "storageAccountName": "factrax", "storageAccountKey": "<your-storage-account-key>", "storageAccountEndPoint": "https://core.windows.net" } }
Шаг 4. Примените параметры диагностики к виртуальной машине
Теперь пришло время собрать все это воедино, выполнив следующую команду, которая применит параметры диагностики к выбранной виртуальной машине.
Set-AzVMDiagnosticsExtension -ResourceGroupName <resource-group> -VMName <virtual-machine-name> -DiagnosticsConfigurationPath "<absolute-path>/diagnostic-settings.json"
Бонус:
Вы можете добавить что-то вроде этого, чтобы быть более точным:
{ "location": "", "settings": { "StorageAccount": "<storage account name>", "WadCfg": { "DiagnosticMonitorConfiguration": { "overallQuotaInMB": 5120, "Metrics": { "resourceId": "<the resource id of your vm>", "MetricAggregation": [{ "scheduledTransferPeriod": "PT1H" }, { "scheduledTransferPeriod": "PT1M" } ] }, "DiagnosticInfrastructureLogs": { "scheduledTransferLogLevelFilter": "Error" }, "PerformanceCounters": { "scheduledTransferPeriod": "PT1M", "PerformanceCounterConfiguration": [{ "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Processor Information(_Total)\\% Privileged Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Processor Information(_Total)\\% User Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Processor Information(_Total)\\Processor Frequency", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\System\\Processes", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Process(_Total)\\Thread Count", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Process(_Total)\\Handle Count", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\System\\System Up Time", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\System\\Context Switches/sec", "unit": "CountPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\System\\Processor Queue Length", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\% Committed Bytes In Use", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Available Bytes", "unit": "Bytes", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Committed Bytes", "unit": "Bytes", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Cache Bytes", "unit": "Bytes", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Pool Paged Bytes", "unit": "Bytes", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Pool Nonpaged Bytes", "unit": "Bytes", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Pages/sec", "unit": "CountPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Memory\\Page Faults/sec", "unit": "CountPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Process(_Total)\\Working Set", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Process(_Total)\\Working Set - Private", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\% Disk Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\% Disk Read Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\% Disk Write Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\% Idle Time", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Bytes/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Read Bytes/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Write Bytes/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Transfers/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Reads/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Disk Writes/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk sec/Transfer", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk sec/Read", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk sec/Write", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk Queue Length", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk Read Queue Length", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Avg. Disk Write Queue Length", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\% Free Space", "unit": "Percent", "sampleRate": "PT60S" }, { "counterSpecifier": "\\LogicalDisk(_Total)\\Free Megabytes", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Bytes Total/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Bytes Sent/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Bytes Received/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Packets/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Packets Sent/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Packets Received/sec", "unit": "BytesPerSecond", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Packets Outbound Errors", "unit": "Count", "sampleRate": "PT60S" }, { "counterSpecifier": "\\Network Interface(*)\\Packets Received Errors", "unit": "Count", "sampleRate": "PT60S" } ] }, "WindowsEventLog": { "scheduledTransferPeriod": "PT1M", "DataSource": [{ "name": "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" }, { "name": "Security!*[System[band(Keywords,4503599627370496)]]" }, { "name": "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]" } ] } } } }, "protectedSettings": { "storageAccountName": "<storage account name>", "storageAccountKey": "<storage account key>", "storageAccountEndPoint": "https://core.windows.net/" } }