Включить параметры диагностики на виртуальной машине после того, как она уже подготовлена ​​в 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/"
    }
}