Windows sanal makinesi için bir Azure İzleyici şablonu kullanarak konuk işletim sistemi ölçümlerini Azure Resource Manager ölçüm deposuna gönderme

Azure sanal makinelerinin konuk işletim sistemi performans verileri diğer platform ölçümleri gibi otomatik olarak toplanmaz. Azure İzleyici ölçüm veritabanında konuk işletim sistemi ölçümlerini toplamak için Azure İzleyici Ölçümler'in neredeyse gerçek zamanlı uyarı, grafik, yönlendirme ve bir veri akışından erişim gibi tüm özellikleriyle birlikte kullanıla bir tanılama uzantısını REST API. Bu makalede, bir Windows sanal makinesi için konuk işletim sistemi performans ölçümlerini bir sanal makine şablonu kullanarak ölçümler veritabanına gönderme işlemi Resource Manager açıklanmıştır.

Not

Tanılama uzantısını Azure portal kullanarak konuk işletim sistemi ölçümlerini toplamak üzere yapılandırma hakkında ayrıntılar için bkz. Windows Azure tanılama uzantısını (WAD)yükleme ve yapılandırma.

Şablon dağıtmaya yeni Resource Manager şablon dağıtımları, bunların yapısı ve söz dizimi hakkında bilgi edinmek.

Önkoşullar

Verileri Azure İzleyici havuzu olarak ayarlama

Bu Azure Tanılama, ölçümleri ve günlükleri farklı konumlara yönlendirmek için "veri havuzu" adlı bir özellik kullanır. Aşağıdaki adımlarda, yeni "Resource Manager" veri havuzu kullanarak vm dağıtmak için bir Resource Manager şablonu ve PowerShell'in nasıl Azure İzleyici gösterebilirsiniz.

Yazma Resource Manager şablonu

Bu örnek için genel kullanıma açık bir örnek şablon kullanabilirsiniz. Başlangıç şablonları https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.compute/vm-simple-windows şudur: .

  • Azuredeploy.js, bir sanal makinenin dağıtımı için Resource Manager yapılandırılmış bir sanal makine şablonudur.

  • Azuredeploy.parameters.json , VM 'niz için ayarlamak istediğiniz Kullanıcı adı ve parola gibi bilgileri depolayan bir parametre dosyasıdır. Dağıtım sırasında Kaynak Yöneticisi şablonu bu dosyada ayarlanan parametreleri kullanır.

Her iki dosyayı da yerel olarak indirin ve kaydedin.

Üzerinde azuredeploy.parameters.jsDeğiştir

Dosyadaki azuredeploy.parameters.js açın

  1. AdminUserName ve VM için adminPassword değerlerini girin. Bu parametreler VM 'ye uzaktan erişim için kullanılır. VM 'nizin ele geçirilmesini önlemek için bu şablondaki değerleri kullanmayın. Botlar, genel GitHub depolarında Kullanıcı adları ve parolalar için internet 'i tarar. Bu varsayılanlar ile VM 'Leri test etmek olasıdır.

  2. VM için benzersiz bir DnsName oluşturun.

Üzerinde azuredeploy.jsDeğiştir

Dosyadaki azuredeploy.js açın

StorageAccountName girdisinden sonra şablonun değişkenler bölümüne bir depolama hesabı kimliği ekleyin.

// Find these lines.
"variables": {
    "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'sawinvm')]",

// Add this line directly below.
    "accountid": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",

Bu Yönetilen Hizmet Kimliği (MSI) uzantısını kaynaklar bölümünün en üstündeki şablona ekleyin. Uzantı, Azure Izleyici 'nin yayılmakta olan ölçümleri kabul etmesini sağlar.

//Find this code.
"resources": [
// Add this code directly below.
    {
        "type": "Microsoft.Compute/virtualMachines/extensions",
        "name": "[concat(variables('vmName'), '/', 'WADExtensionSetup')]",
        "apiVersion": "2017-12-01",
        "location": "[resourceGroup().location]",
        "dependsOn": [
            "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" ],
        "properties": {
            "publisher": "Microsoft.ManagedIdentity",
            "type": "ManagedIdentityExtensionForWindows",
            "typeHandlerVersion": "1.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
                "port": 50342
            }
        }
    },

Azure 'un MSI uzantısına bir sistem kimliği atamasını sağlamak için kimlik yapılandırmasını VM kaynağına ekleyin. Bu adım, sanal makinenin kendisi hakkındaki Konuk ölçümlerini Azure Izleyici 'ye yaymasını sağlar.

// Find this section
                "subnet": {
            "id": "[variables('subnetRef')]"
            }
        }
        }
    ]
    }
},
{
    "apiVersion": "2017-03-30",
    "type": "Microsoft.Compute/virtualMachines",
    "name": "[variables('vmName')]",
    "location": "[resourceGroup().location]",
    // add these 3 lines below
    "identity": {
    "type": "SystemAssigned"
    },
    //end of added lines
    "dependsOn": [
    "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
    "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
    ],
    "properties": {
    "hardwareProfile": {
    ...

Windows sanal makinesinde tanılama uzantısını etkinleştirmek için aşağıdaki yapılandırmayı ekleyin. Basit Kaynak Yöneticisi tabanlı bir sanal makine için uzantı yapılandırmasını, sanal makine için kaynaklar dizisine ekleyebiliriz. Bölümün sonraki kısımlarında yer alan — "sinks" "AzMonSink" satırı ve buna karşılık gelen "SinksConfig" satırı, uzantının ölçümleri doğrudan — Azure İzleyici. Performans sayaçlarını gerektiğinde ekleyebilir veya kaldırabilirsiniz.

        "networkProfile": {
            "networkInterfaces": [
            {
                "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
            }
            ]
        },
"diagnosticsProfile": {
    "bootDiagnostics": {
    "enabled": true,
    "storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob]"
    }
}
},
//Start of section to add
"resources": [
{
            "type": "Microsoft.Compute/virtualMachines/extensions",
            "name": "[concat(variables('vmName'), '/', 'Microsoft.Insights.VMDiagnosticsSettings')]",
            "apiVersion": "2017-12-01",
            "location": "[resourceGroup().location]",
            "dependsOn": [
            "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
            ],
            "properties": {
            "publisher": "Microsoft.Azure.Diagnostics",
            "type": "IaaSDiagnostics",
            "typeHandlerVersion": "1.12",
            "autoUpgradeMinorVersion": true,
            "settings": {
                "WadCfg": {
                "DiagnosticMonitorConfiguration": {
    "overallQuotaInMB": 4096,
    "DiagnosticInfrastructureLogs": {
                    "scheduledTransferLogLevelFilter": "Error"
        },
                    "Directories": {
                    "scheduledTransferPeriod": "PT1M",
    "IISLogs": {
                        "containerName": "wad-iis-logfiles"
                    },
                    "FailedRequestLogs": {
                        "containerName": "wad-failedrequestlogs"
                    }
                    },
                    "PerformanceCounters": {
                    "scheduledTransferPeriod": "PT1M",
                    "sinks": "AzMonSink",
                    "PerformanceCounterConfiguration": [
                        {
                        "counterSpecifier": "\\Memory\\Available Bytes",
                        "sampleRate": "PT15S"
                        },
                        {
                        "counterSpecifier": "\\Memory\\% Committed Bytes In Use",
                        "sampleRate": "PT15S"
                        },
                        {
                        "counterSpecifier": "\\Memory\\Committed Bytes",
                        "sampleRate": "PT15S"
                        }
                    ]
                    },
                    "WindowsEventLog": {
                    "scheduledTransferPeriod": "PT1M",
                    "DataSource": [
                        {
                        "name": "Application!*"
                        }
                    ]
                    },
                    "Logs": {
                    "scheduledTransferPeriod": "PT1M",
                    "scheduledTransferLogLevelFilter": "Error"
                    }
                },
                "SinksConfig": {
                    "Sink": [
                    {
                        "name" : "AzMonSink",
                        "AzureMonitor" : {}
                    }
                    ]
                }
                },
                "StorageAccount": "[variables('storageAccountName')]"
            },
            "protectedSettings": {
                "storageAccountName": "[variables('storageAccountName')]",
                "storageAccountKey": "[listKeys(variables('accountid'),'2015-06-15').key1]",
                "storageAccountEndPoint": "https://core.windows.net/"
            }
            }
        }
        ]
//End of section to add

Her iki dosyayı da kaydedin ve kapatın.

Resource Manager dağıtma

Not

Azure Tanılama uzantısının 1.5 veya daha yüksek bir sürümünü çalıştırmanız ve autoUpgradeMinorVersion: özelliğinin uygulama şablonunda 'true' olarak Resource Manager gerekir. Azure daha sonra VM'yi başlatırken uygun uzantıyı yükler. Şablonda bu ayarlar yoksa, bunları değiştirin ve şablonu yeniden yazın.

Resource Manager şablonu dağıtmak için Azure PowerShell.

  1. PowerShell’i başlatın.

  2. kullanarak Azure'da oturum Login-AzAccount açma.

  3. kullanarak abonelikler listenizi Get-AzSubscription edinin.

  4. Sanal makineyi oluşturmak/güncelleştirmek için şu abonelikte kullanmakta olduğunu ayarlayın:

    Select-AzSubscription -SubscriptionName "<Name of the subscription>"
    
  5. Dağıtılacak VM için yeni bir kaynak grubu oluşturmak için aşağıdaki komutu çalıştırın:

     New-AzResourceGroup -Name "<Name of Resource Group>" -Location "<Azure Region>"
    
  6. Vm'yi Resource Manager şablonu kullanarak dağıtmak için aşağıdaki Resource Manager çalıştırın.

    Not

    Mevcut bir VM'yi güncelleştirmek isterseniz, aşağıdaki komutun sonuna -Mode Incremental eklemeniz gerekir.

    New-AzResourceGroupDeployment -Name "<NameThisDeployment>" -ResourceGroupName "<Name of the Resource Group>" -TemplateFile "<File path of your Resource Manager template>" -TemplateParameterFile "<File path of your parameters file>"
    
  7. Dağıtımınız başarılı olduktan sonra VM,Azure portal ölçümler yayına Azure İzleyici.

    Not

    Seçili vmSkuSize ile ilgili hatalara neden olabilir. Bu durumda, dosyanıza azuredeploy.jsve vmSkuSize parametresinin varsayılan değerini güncelleştirin. Bu durumda " Standard_DS1_v2" önerilir.

Ölçümlerinizi grafikle

  1. Azure portalında oturum açın.

  2. Sol taraftaki menüden izleyici' yi seçin.

  3. Izleyici sayfasında ölçümler' i seçin.

    Ölçümler sayfası

  4. Toplama süresini son 30 dakika olarak değiştirin.

  5. Kaynak açılan menüsünde, oluşturduğunuz VM 'yi seçin. Şablonda adı değiştirmediyseniz, SimpleWinVM2 olması gerekir.

  6. Ad alanları açılan menüsünde Azure. VM. Windows. Guest ' i seçin.

  7. Ölçümler açılan menüsünde, % Kullanımdaki bellek kaydedilmiş bayt' ı seçin.

Sonraki adımlar