Usare monitoraggio e diagnostica con una macchina virtuale Windows e modelli di Azure Resource ManagerUse monitoring and diagnostics with a Windows VM and Azure Resource Manager templates

L'estensione Diagnostica di Azure offre le funzionalità di monitoraggio e diagnostica in una macchina virtuale Windows basata su Azure.The Azure Diagnostics Extension provides the monitoring and diagnostics capabilities on a Windows based Azure virtual machine. È possibile abilitare queste funzionalità nella macchina virtuale includendo l'estensione come parte del modello di Gestione risorse di Azure.You can enable these capabilities on the virtual machine by including the extension as part of the azure resource manager template. Per altre informazioni sull'inclusione di un'estensione come parte di un modello di macchina virtuale, vedere Creazione di modelli di Gestione risorse di Azure con le estensioni di macchina virtuale .See Authoring Azure Resource Manager Templates with VM Extensions for more information on including any extension as part of a virtual machine template. Questo articolo illustra come aggiungere l'estensione Diagnostica di Azure a un modello di macchina virtuale Windows.This article describes how you can add the Azure Diagnostics extension to a windows virtual machine template.

Aggiungere l'estensione Diagnostica di Azure alla definizione della risorsa della VMAdd the Azure Diagnostics extension to the VM resource definition

Per abilitare l'estensione Diagnostica in una macchina virtuale Windows, è necessario aggiungere l'estensione come risorsa della VM nel modello di Gestione risorse.To enable the diagnostics extension on a Windows Virtual Machine you need to add the extension as a VM resource in the Resource manager template.

Per una semplice macchina virtuale basata su Gestione risorse, aggiungere la configurazione dell'estensione alla matrice resources per la macchina virtuale:For a simple Resource Manager based Virtual Machine add the extension configuration to the resources array for the Virtual Machine:

"resources": [
            {
                "name": "Microsoft.Insights.VMDiagnosticsSettings",
                "type": "extensions",
                "location": "[resourceGroup().location]",
                "apiVersion": "2015-06-15",
                "dependsOn": [
                    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
                ],
                "tags": {
                    "displayName": "AzureDiagnostics"
                },
                "properties": {
                    "publisher": "Microsoft.Azure.Diagnostics",
                    "type": "IaaSDiagnostics",
                    "typeHandlerVersion": "1.5",
                    "autoUpgradeMinorVersion": true,
                    "settings": {
                        "xmlCfg": "[base64(concat(variables('wadcfgxstart'), variables('wadmetricsresourceid'), variables('vmName'), variables('wadcfgxend')))]",
                        "storageAccount": "[parameters('existingdiagnosticsStorageAccountName')]"
                    },
                    "protectedSettings": {
                        "storageAccountName": "[parameters('existingdiagnosticsStorageAccountName')]",
                        "storageAccountKey": "[listkeys(variables('accountid'), '2015-05-01-preview').key1]",
                        "storageAccountEndPoint": "https://core.windows.net"
                    }
                }
            }
        ]

Un'altra convenzione comune consiste nell'aggiungere la configurazione dell'estensione al nodo delle risorse radice del modello, invece di definirla nel nodo delle risorse della macchina virtuale.Another common convention is add the extension configuration at the root resources node of the template instead of defining it under the virtual machine's resources node. Con questo approccio è necessario specificare esplicitamente una relazione gerarchica tra l'estensione e la macchina virtuale con i valori name e type.With this approach you have to explicitly specify a hierarchical relation between the extension and the virtual machine with the name and type values. Ad esempio:For example:

"name": "[concat(variables('vmName'),'Microsoft.Insights.VMDiagnosticsSettings')]",
"type": "Microsoft.Compute/virtualMachines/extensions",

L'estensione è sempre associata alla macchina virtuale. È quindi possibile definirla direttamente nel nodo delle risorse della macchina virtuale oppure è possibile definirla a livello di base e usare la convenzione di denominazione gerarchica per associarla alla macchina virtuale.The extension is always associated with the virtual machine, you can either directly define it under the virtual machine's resource node directly or define it at the base level and use the hierarchical naming convention to associate it with the virtual machine.

Per i set di scalabilità di macchine virtuali, la configurazione delle estensioni viene specificata nella proprietà extensionProfile di VirtualMachineProfile.For Virtual Machine Scale Sets the extensions configuration is specified in the extensionProfile property of the VirtualMachineProfile.

La proprietà publisher con valore Microsoft.Azure.Diagnostics e la proprietà type con valore IaaSDiagnostics identificano in modo univoco l'estensione Diagnostica di Azure.The publisher property with the value of Microsoft.Azure.Diagnostics and the type property with the value of IaaSDiagnostics uniquely identify the Azure Diagnostics extension.

Il valore della proprietà name può essere usato per fare riferimento all'estensione nel gruppo di risorse.The value of the name property can be used to refer to the extension in the resource group. Se viene impostato esattamente su Microsoft.Insights.VMDiagnosticsSettings, l'identificazione da parte del portale di Azure risulterà semplificata. I grafici di monitoraggio saranno quindi visualizzati correttamente nel portale di Azure.Setting it specifically to Microsoft.Insights.VMDiagnosticsSettings will enable it to be easily identified by the Azure portal ensuring that the monitoring charts show up correctly in the Azure portal.

Il valore typeHandlerVersion specifica la versione dell'estensione da usare.The typeHandlerVersion specifies the version of the extension you would like to use. Se si imposta la versione secondaria autoUpgradeMinorVersion su true , si assicurerà di ottenere la versione secondaria più recente disponibile dell'estensione.Setting autoUpgradeMinorVersion minor version to true ensures that you will get the latest Minor version of the extension that is available. È consigliabile impostare sempre autoUpgradeMinorVersion su true , in modo che venga usata sempre l'estensione Diagnostica più recente disponibile con tutte le nuove funzionalità e correzioni di bug.It is highly recommended that you always set autoUpgradeMinorVersion to always be true so that you always get to use the latest available diagnostics extension with all the new features and bug fixes.

L'elemento settings contiene proprietà di configurazione per l'estensione che possono essere impostate e lette dall'estensione e sono spesso definite configurazione pubblica.The settings element contains configurations properties for the extension that can be set and read back from the extension (sometimes referred to as public configuration). La proprietà xmlcfg contiene configurazione basata su XML per i log di diagnostica e i contatori delle prestazioni che verranno raccolti dall'agente di diagnostica.The xmlcfg property contains xml based configuration for the diagnostics logs, performance counters etc that will be collected by the diagnostics agent. Per altre informazioni sullo schema XML stesso, vedere Schema di configurazione di diagnostica .See Diagnostics Configuration Schema for more information about the xml schema itself. Una procedura comune consiste nell'archiviare la configurazione XML effettiva come variabile nel modello di Gestione risorse di Azure e quindi concatenare le variabili e codificarle in Base 64 per impostare il valore per xmlcfg.A common practice is to store the actual xml configuration as a variable in the Azure Resource Manager template and then concatenate and base64 encode them to set the value for xmlcfg. Per altre informazioni su come archiviare il codice XML nelle variabili, vedere la sezione relativa alle variabili di configurazione diagnostica .See the section on diagnostics configuration variables to understand more about how to store the xml in variables. La proprietà storageAccount specifica il nome dell'account di archiviazione in cui verranno trasferiti i dati di diagnostica.The storageAccount property specifies the name of the storage account to which diagnostics data will be transferred.

Le proprietà in protectedSettings , a volte definite configurazione privata, possono essere impostate ma non possono essere lette dopo l'impostazione.The properties in protectedSettings (sometimes referred to as private configuration) can be set but cannot be read back after being set. La natura di sola scrittura di protectedSettings risulta utile per l'archiviazione di segreti quali la chiave dell'account di archiviazione in cui verranno scritti i dati di diagnostica.The write-only nature of protectedSettings makes it useful for storing secrets like the storage account key where the diagnostics data will be written.

Specificare l'account di archiviazione di diagnostica come parametroSpecifying diagnostics storage account as parameters

Il frammento di codice JSON dell'estensione Diagnostica precedente presuppone due parametri existingdiagnosticsStorageAccountName e existingdiagnosticsStorageResourceGroup per specificare l'account di archiviazione di diagnostica in cui verranno archiviati i dati di diagnostica.The diagnostics extension json snippet above assumes two parameters existingdiagnosticsStorageAccountName and existingdiagnosticsStorageResourceGroup to specify the diagnostics storage account where diagnostics data will be stored. Se si specifica l'account di archiviazione di diagnostica come parametro, sarà possibile modificare con maggiore facilità l'account di archiviazione di diagnostica in diversi ambienti. È ad esempio possibile usare un account di archiviazione di diagnostica per i test e un account di archiviazione diverso per la distribuzione di produzione.Specifying the diagnostics storage account as a parameter makes it easy to change the diagnostics storage account across different environments e.g. you may want to use a different diagnostics storage account for testing and a different one for your production deployment.

    "existingdiagnosticsStorageAccountName": {
        "type": "string",
        "metadata": {
    "description": "The name of an existing storage account to which diagnostics data will be transfered."
        }        
    },
    "existingdiagnosticsStorageResourceGroup": {
        "type": "string",
        "metadata": {
    "description": "The resource group for the storage account specified in existingdiagnosticsStorageAccountName"
          }
    }

È consigliabile specificare un account di archiviazione di diagnostica in un gruppo di risorse diverso rispetto al gruppo di risorse per la macchina virtuale.It is best practice to specify a diagnostics storage account in a different resource group than the resource group for the virtual machine. Un gruppo di risorse può essere considerato come un'unità di distribuzione con una durata specifica. È possibile distribuire e ridistribuire una macchina virtuale ogni volta che vengono applicati aggiornamenti della configurazione, ma è consigliabile continuare ad archiviare i dati di diagnostica nello stesso account di archiviazione nelle distribuzioni della macchina virtuale.A resource group can be considered to be a deployment unit with its own lifetime, a virtual machine can be deployed and redeployed as new configurations updates are made it to it but you may want to continue storing the diagnostics data in the same storage account across those virtual machine deployments. La disponibilità dell'account di archiviazione in una risorsa diversa consente all'account di archiviazione di accettare i dati da diverse distribuzioni di macchina virtuale, semplificando la risoluzione dei problemi nelle diverse versioni.Having the storage account in a different resource enables the storage account to accept data from various virtual machine deployments making it easy to troubleshoot issues across the various versions.

Nota

Se si crea un modello di macchina virtuale Windows da Visual Studio, è possibile configurare l'account di archiviazione predefinito in modo che usi lo stesso account di archiviazione in cui è stato caricato il VHD della macchina virtuale.If you create a windows virtual machine template from Visual Studio the default storage account might be set to use the same storage account where the virtual machine VHD is uploaded. Ciò consente di semplificare la configurazione iniziale della VM.This is to simplify initial setup of the VM. È consigliabile effettuare il refactoring del modello in modo che usi un account di archiviazione diverso, che possa essere passato come parametro.You should re-factor the template to use a different storage account that can be passed in as a parameter.

variabili di configurazione diagnosticaDiagnostics configuration variables

Il frammento di codice JSON dell'estensione Diagnostica precedente definisce una variabile accountid per semplificare il recupero della chiave dell'account di archiviazione per l'archiviazione dei dati di diagnostica:The diagnostics extension json snippet above defines an accountid variable to simplify getting the storage account key for the diagnostics storage:

"accountid": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/',parameters('existingdiagnosticsStorageResourceGroup'), '/providers/','Microsoft.Storage/storageAccounts/', parameters('existingdiagnosticsStorageAccountName'))]"

La proprietà xmlcfg per l'estensione Diagnostica viene definita mediante più variabili concatenate.The xmlcfg property for the diagnostics extension is defined using multiple variables that are concatenated together. I valori di questi variabili sono in XML, quindi è necessario inserire correttamente il carattere di escape durante la configurazione delle variabili JSON.The values of these variables are in xml so they need to be escaped correctly when setting the json variables.

L'esempio seguente illustra il codice XML di configurazione di diagnostica che raccoglie i contatori delle prestazioni standard a livello di sistema, insieme ad alcuni registri eventi di Windows e log di infrastruttura di diagnostica.The following describes the diagnostics configuration xml that collects standard system level performance counters along with some windows event logs and diagnostics infrastructure logs. I caratteri di escape e la formattazione sono corretti, quindi è possibile incollare la configurazione direttamente nella sezione del modello relativa alle variabili.It has been escaped and formatted correctly so that the configuration can directly be pasted into the variables section of your template. Per un esempio più facile da leggere del codice XML di configurazione, vedere Schema di configurazione di diagnostica .See the Diagnostics Configuration Schema for a more human readable example of the configuration xml.

    "wadlogs": "<WadCfg> <DiagnosticMonitorConfiguration overallQuotaInMB=\"4096\" xmlns=\"http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration\"> <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter=\"Error\"/> <WindowsEventLog scheduledTransferPeriod=\"PT1M\" > <DataSource name=\"Application!*[System[(Level = 1 or Level = 2)]]\" /> <DataSource name=\"Security!*[System[(Level = 1 or Level = 2)]]\" /> <DataSource name=\"System!*[System[(Level = 1 or Level = 2)]]\" /></WindowsEventLog>",
    "wadperfcounters1": "<PerformanceCounters scheduledTransferPeriod=\"PT1M\"><PerformanceCounterConfiguration counterSpecifier=\"\\Processor(_Total)\\% Processor Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU utilization\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor(_Total)\\% Privileged Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU privileged time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor(_Total)\\% User Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"CPU user time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Processor Information(_Total)\\Processor Frequency\" sampleRate=\"PT15S\" unit=\"Count\"><annotation displayName=\"CPU frequency\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\System\\Processes\" sampleRate=\"PT15S\" unit=\"Count\"><annotation displayName=\"Processes\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Process(_Total)\\Thread Count\" sampleRate=\"PT15S\" unit=\"Count\"><annotation displayName=\"Threads\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Process(_Total)\\Handle Count\" sampleRate=\"PT15S\" unit=\"Count\"><annotation displayName=\"Handles\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\% Committed Bytes In Use\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Memory usage\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\Available Bytes\" sampleRate=\"PT15S\" unit=\"Bytes\"><annotation displayName=\"Memory available\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\Committed Bytes\" sampleRate=\"PT15S\" unit=\"Bytes\"><annotation displayName=\"Memory committed\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\Memory\\Commit Limit\" sampleRate=\"PT15S\" unit=\"Bytes\"><annotation displayName=\"Memory commit limit\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\% Disk Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Disk active time\" locale=\"en-us\"/></PerformanceCounterConfiguration>",
    "wadperfcounters2": "<PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\% Disk Read Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Disk active read time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\% Disk Write Time\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Disk active write time\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Transfers/sec\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk operations\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Reads/sec\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk read operations\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Writes/sec\" sampleRate=\"PT15S\" unit=\"CountPerSecond\"><annotation displayName=\"Disk write operations\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Bytes/sec\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk speed\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Read Bytes/sec\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk read speed\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\PhysicalDisk(_Total)\\Disk Write Bytes/sec\" sampleRate=\"PT15S\" unit=\"BytesPerSecond\"><annotation displayName=\"Disk write speed\" locale=\"en-us\"/></PerformanceCounterConfiguration><PerformanceCounterConfiguration counterSpecifier=\"\\LogicalDisk(_Total)\\% Free Space\" sampleRate=\"PT15S\" unit=\"Percent\"><annotation displayName=\"Disk free space (percentage)\" locale=\"en-us\"/></PerformanceCounterConfiguration></PerformanceCounters>",
    "wadcfgxstart": "[concat(variables('wadlogs'), variables('wadperfcounters1'), variables('wadperfcounters2'), '<Metrics resourceId=\"')]",
    "wadmetricsresourceid": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name , '/providers/', 'Microsoft.Compute/virtualMachines/')]",
    "wadcfgxend": "\"><MetricAggregation scheduledTransferPeriod=\"PT1H\"/><MetricAggregation scheduledTransferPeriod=\"PT1M\"/></Metrics></DiagnosticMonitorConfiguration></WadCfg>"

Il nodo XML della definizione Metrics nella configurazione precedente è un elemento di configurazione importante, perché definisce il modo in cui i contatori delle prestazioni specificati in precedenza nel codice XML nel nodo PerformanceCounter verranno aggregati e archiviati.The Metrics definition xml node in the above configuration is an important configuration element as it defines how the performance counters defined earlier in the xml in PerformanceCounter node will be aggregated and stored.

Importante

Queste metriche guidano i grafici di monitoraggio e gli avvisi nel portale di Azure.These metrics drive the monitoring charts and alerts in the Azure portal. Il nodo Metriche con resourceID e MetricAggregation deve essere incluso nella configurazione di diagnostica per la macchina virtuale per visualizzare i dati di monitoraggio della macchina virtuale nel portale di Azure.The Metrics node with the resourceID and MetricAggregation must be included in the diagnostics configuration for your VM if you want to see the VM monitoring data in the Azure portal.

L'esempio seguente illustra il codice XML per le definizioni delle metriche:The following is an example of the xml for metrics definitions:

    <Metrics resourceId="/subscriptions/subscription().subscriptionId/resourceGroups/resourceGroup().name/providers/Microsoft.Compute/virtualMachines/vmName">
        <MetricAggregation scheduledTransferPeriod="PT1H"/>
        <MetricAggregation scheduledTransferPeriod="PT1M"/>
    </Metrics>

L'attributo resourceID identifica in modo univoco la macchina virtuale nella sottoscrizione.The resourceID attribute uniquely identifies the virtual machine in your subscription. Assicurarsi di usare le funzioni subscription() e resourceGroup(), in modo che il modello aggiorni automaticamente questi valori in base alla sottoscrizione e al gruppo di risorse in cui si effettua la distribuzione.Make sure to use the subscription() and resourceGroup() functions so that the template automatically updates those values based on the subscription and resource group you are deploying to.

Se si creano più macchine virtuali in un ciclo, sarà necessario popolare il valore resourceID con una funzione copyIndex(), in modo da distinguere correttamente ogni singola VM.If you are creating multiple Virtual Machines in a loop then you will have to populate the resourceID value with an copyIndex() function to correctly differentiate each individual VM. Il valore xmlCfg può essere aggiornato per supportare questa operazione, in modo analogo al seguente:The xmlCfg value can be updated to support this as follows:

"xmlCfg": "[base64(concat(variables('wadcfgxstart'), variables('wadmetricsresourceid'), concat(parameters('vmNamePrefix'), copyindex()), variables('wadcfgxend')))]", 

Il valore MetricAggregation impostato su PT1H e PT1M indica un'aggregazione pari a un'ora e un'aggregazione pari a un minuto.The MetricAggregation value of PT1H and PT1M signify an aggregation over a minute and an aggregation over an hour.

Tabelle WADMetrics nell'archiviazioneWADMetrics tables in storage

La configurazione precedente relativa a Metrics consentirà di generare tabelle nell'account di archiviazione di diagnostica con le convenzioni di denominazione seguenti:The Metrics configuration above will generate tables in your diagnostics storage account with the following naming conventions:

  • WADMetrics : prefisso standard per tutte le tabelle WADMetricsWADMetrics : Standard prefix for all WADMetrics tables
  • PT1H o PT1M: indica che la tabella contiene dati aggregati per un periodo pari a un'ora o un minutoPT1H or PT1M : Signifies that the table contains aggregate data over 1 hour or 1 minute
  • P10D : indica che la tabella conterrà dati per 10 giorni a partire dal momento in cui la tabella ha iniziato a raccogliere i dati.P10D : Signifies the table will contain data for 10 days from when the table started collecting data
  • V2S : costante di tipo stringa.V2S : String constant
  • yyyymmdd : data a partire dalla quale la tabella ha iniziato a raccogliere i dati.yyyymmdd : The date at which the table started collecting data

Esempio: WADMetricsPT1HP10DV2S20151108 includerà i dati aggregati delle metriche per un periodo pari a un'ora per 10 giorni a partire dall'11 nov 2015Example: WADMetricsPT1HP10DV2S20151108 will contain metrics data aggregated over an hour for 10 days starting on 11-Nov-2015

Ogni tabella WADMetrics includerà le colonne seguenti:Each WADMetrics table will contain the following columns:

  • PartitionKey: la chiave di partizione viene costruita in base al valore di resourceID per identificare in modo univoco la risorsa di macchina virtuale,PartitionKey: The partitionkey is constructed based on the resourceID value to uniquely identify the VM resource. ad esempio: 002Fsubscriptions::002FresourceGroups:002F:002Fproviders:002FMicrosoft:002ECompute:002FvirtualMachines:002Ffor e.g. : 002Fsubscriptions::002FresourceGroups:002F:002Fproviders:002FMicrosoft:002ECompute:002FvirtualMachines:002F
  • RowKey: usa il formato :.RowKey : Follows the format :. Il calcolo relativo ai tick temporali decrescenti corrisponde al numero massimo di tick temporali meno l'ora di inizio del periodo di aggregazione.The descending time tick calculation is max time ticks minus the time of the beginning of the aggregation period. Ad esempio,E.g. se il periodo di campionamento è iniziato il 10 novembre 2015 alle 00:00 UTC, il calcolo sarà il seguente: DateTime.MaxValue.Ticks - (new DateTime(2015,11,10,0,0,0,DateTimeKind.Utc).Ticks).if the sample period started on 10-Nov-2015 and 00:00Hrs UTC then the calculation would be: DateTime.MaxValue.Ticks - (new DateTime(2015,11,10,0,0,0,DateTimeKind.Utc).Ticks). Per il contatore delle prestazioni dei byte disponibile della memoria, la riga avrà un aspetto analogo al seguente: 2519551871999999999__:005CMemory:005CAvailable:0020BytesFor the memory available bytes performance counter the row key will look like: 2519551871999999999__:005CMemory:005CAvailable:0020Bytes
  • CounterName : nome del contatore delle prestazioni.CounterName : Is the name of the performance counter. Corrisponde al valore counterSpecifier definito nel file di configurazione XML.This matches the counterSpecifier defined in the xml config.
  • Maximum : valore massimo del contatore delle prestazioni nel periodo di aggregazione.Maximum : The maximum value of the performance counter over the aggregation period.
  • Minimum : valore minimo del contatore delle prestazioni nel periodo di aggregazione.Minimum : The minimum value of the performance counter over the aggregation period.
  • Total : somma di tutti i valori del contatore delle prestazioni rilevati nel periodo di aggregazione.Total : The sum of all values of the performance counter reported over the aggregation period.
  • Count : numero totale di valori rilevati per il contatore delle prestazioni.Count : The total number of values reported for the performance counter.
  • Average : valore medio (totale/conteggio) del contatore delle prestazioni nel periodo di aggregazione.Average : The average (total/count) value of the performance counter over the aggregation period.

Passaggi successiviNext Steps