Condividi tramite


Esportazione di metriche tramite regole di raccolta dati (anteprima)

Le regole di raccolta dati (DCR) vengono usate per raccogliere dati di monitoraggio dalle risorse di Azure. Per un elenco di scenari di raccolta dati, vedere Regole di raccolta dati - Panoramica. È ora possibile usare DCR per raccogliere ed esportare metriche della piattaforma.

Attualmente, le metriche della piattaforma possono essere raccolte usando sia DCR che Impostazioni di diagnostica. Un numero crescente di risorse supporta l'esportazione delle metriche tramite DCR. Per un elenco delle risorse supportate, vedere Risorse e aree supportate.

L'uso di DCR per esportare le metriche offre i vantaggi seguenti rispetto a Impostazioni di diagnostica:

  • La configurazione di DCR consente di esportare metriche con dimensioni.
  • La configurazione di DCR consente di filtrare le metriche in base al nome, in modo da poter esportare solo le metriche necessarie.
  • Le DCR sono più flessibili e scalabili rispetto a Impostazioni di diagnostica.
  • La latenza end-to-end per le DCR è inferiore ai 3 minuti. Si tratta di un miglioramento fondamentale rispetto a Impostazioni di diagnostica, in cui la latenza di esportazione delle metriche è di 6-10 minuti.

Usare l'esportazione delle metriche tramite DCR per l'esportazione continua dei dati delle metriche. Per eseguire query su dati storici, usare l'API Batch metriche del piano dati. Per un confronto dei due servizi, vedere Query batch su metriche del piano dati vs. esportazione delle metriche.

Creare DCR per le metriche usando l'API REST, l'interfaccia della riga di comando di Azure o Azure PowerShell. Per informazioni su come creare DCR per l'esportazione delle metriche, vedere Creare regole di raccolta dati per le metriche.

Quando si crea un record di controllo di dominio, è necessario creare un'associazione di regole di raccolta dati (DCRA) per associare la DCR alla risorsa da monitorare. È possibile creare una singola DCR per molti tipi di risorse. Per informazioni su come creare una DCRA, vedere Creare associazioni di regole di raccolta dati. Quando si usa il portale di Azure, la DCRA viene creata automaticamente.

Nota

È possibile usare DCR e Impostazioni di diagnostica contemporaneamente. È consigliabile disabilitare le impostazioni di diagnostica per le metriche quando si usano DCR per evitare la duplicazione di raccolta dati.

Destinazioni di esportazione

Le metriche possono essere esportate in una delle destinazioni seguenti per DCR:

  • Aree di lavoro Log Analytics.
    L'esportazione in aree di lavoro Log Analytics può essere in più aree. L'area di lavoro Log Analytics e la DCR devono trovarsi nella stessa area, ma le risorse monitorate possono trovarsi in qualsiasi area. Le metriche inviate a un'area di lavoro Log Analytics vengono archiviate nella tabella AzureMetricsV2.

  • Account di archiviazione di Azure.
    L'account di archiviazione, la DCR e le risorse monitorate devono trovarsi nella stessa area.

  • Hub eventi.
    Gli hub eventi, la DCR e le risorse monitorate devono trovarsi nella stessa area.

Per un esempio dei dati in ogni destinazione, vedere Dati esportati.

Nota

La latenza per l'esportazione delle metriche è di circa 3 minuti. Attendere fino a 15 minuti perché le metriche inizino a essere mostrate nella destinazione dopo la configurazione iniziale.

Limiti

I DCR per l'esportazione delle metriche presentano le limitazioni seguenti:

  • È possibile specificare un solo tipo di destinazione per ogni DCR.
  • Un massimo di 5 DCR può essere associato a una singola risorsa di Azure.
  • L'esportazione delle metriche da parte di DCR non supporta l'esportazione di metriche con granularità oraria.

Risorse e aree supportate

Le risorse seguenti supportano l'esportazione delle metriche usando le regole di raccolta dati:

Tipo di risorsa Specifica del flusso
Set di scalabilità di macchine virtuali Microsoft.compute/virtualmachinescalesets
Macchine virtuali Microsoft.compute/virtualmachines
Cache Redis Microsoft.cache/redis
Hub IOT Microsoft.devices/iothubs
Key Vault Microsoft.keyvault/vaults
Account di archiviazione Microsoft.storage/storageaccounts
Microsoft.storage/Storageaccounts/blobservices
Microsoft.storage/storageaccounts/fileservices
Microsoft.storage/storageaccounts/queueservices
Microsoft.storage/storageaccounts/tableservices
SQL Server Microsoft.sql/servers
Microsoft.sql/servers/databases
Operational Insights Microsoft.operationalinsights/workspaces
Servizi multimediali Microsoft.media/mediaservices
Microsoft.media/mediaservices/streamingendpoints
Microsoft.media/mediaservices/liveevents
Protezione dei dati Microsoft.dataprotection/backupvaults
Servizio Azure Kubernetes Microsoft.ContainerService/managedClusters

Aree supportate

È possibile creare una DCR per l'esportazione di metriche in qualsiasi area, ma le risorse da cui si vogliono esportare le metriche devono trovarsi in una delle aree seguenti:

  • Australia orientale
  • Stati Uniti centrali
  • CentralUsEuap
  • Stati Uniti centro-meridionali
  • Stati Uniti orientali
  • Stati Uniti orientali 2
  • Eastus2Euap
  • Stati Uniti occidentali
  • West US 2
  • Europa settentrionale
  • Europa occidentale
  • Regno Unito meridionale

Specifiche di DCR

Le regole di raccolta dati vengono definite in un oggetto JSON. Per creare una DCR per l'esportazione di metriche sono necessarie le proprietà seguenti.

Proprietà Descrizione
dataSources.platformTelemetry.streams Elenca i tipi di risorsa e le metriche. Specificare Metrics-Group-All per raccogliere tutte le metriche per la risorsa o specificare singole metriche. Formato: <resource type>:Metrics-Group-All | <metric name>
Ad esempio, Microsoft.Compute/virtualMachines:Percentage CPU
dataSources.platformTelemetry.name Nome dell'origine dati.
destinations Destinazione per le metriche. Per DCR, è supportata una sola destinazione.
Tipi di destinazioni validi:
storageAccounts
logAnalytics
eventHubs
dataflows.streams Elenco di flussi da passare alla destinazione nel formato: <resource type>:Metrics-Group-All |<metric name>
Ad esempio, Microsoft.Compute/virtualMachines:Percentage CPU"
dataflows.destinations Destinazione a cui passare i flussi come definito nella proprietà destinations.
identity.type Tipo di identità da usare per la DCR. Obbligatorio per destinazioni dell'account di archiviazione.
Valori validi:
systemAssigned
userAssigned
kind Tipo di regola di raccolta dati. Impostare su PlatformTelemetry per l'esportazione di metriche.
location Posizione della DCR.

Nota

È possibile specificare un solo tipo di destinazione per ogni DCR.

Formato JSON per l'esportazione di DCR per le metriche

Usare il formato nell'oggetto JSON generico seguente per creare un record di controllo di dominio per l'esportazione delle metriche. Rimuovere le destinazioni indesiderate durante la copia dell'esempio.

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                    // a list of resource types and metrics to collect metrics from
                        "<resourcetype>:<metric name> | Metrics-Group-All", 
                        "<resourcetype>:<metric name> | Metrics-Group-All"
                    ],
                    "name": "<data sources name>"
                }
            ]
        },
        "destinations": {
            // Choose a single destination type of either logAnalytics, storageAccounts, or eventHubs
            "logAnalytics": [
                {
                    "workspaceResourceId": "workspace Id",
                    "name": "<destination name>"
                }
            ],    
            "storageAccounts": [
                {
                    "storageAccountResourceId": "<storage account Id>", 
                    "containerName": "<container name>",
                    "name": "<destination name>"
                }
            ],
            "eventHubs": [ 
                 { 
                    "eventHubResourceId": "event hub id", 
                     "name": "<destination name>" 
                 } 
             ],     },
        "dataFlows": [
            {
                "streams": [
                 // a list of resource types and metrics to pass to the destination
                        "<resourcetype>:<metric name> | Metrics-Group-All", 
                        "<resourcetype>:<metric name> | Metrics-Group-All"               
                         ],
                "destinations": [
                    "<destination name>"               
                ]
            }
        ]
    },
    // identity is required for Storage Account and Event Hubs destinations
    "identity": {
         "type": "userassigned", 
         "userAssignedIdentities": { 
					 "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/DRCIdentity": {} 
         }    
    },
"kind": "PlatformTelemetry",
    "location": "eastus"
}

Nota

Quando si crea una DCR per l'esportazione di metriche usando l'interfaccia della riga di comando, kind, location e identity vengono passati come argomenti e devono essere rimossi dall'oggetto JSON.

Identità assegnate dall'utente e dal sistema

Le identità assegnate dall'utente e dal sistema sono supportate durante la creazione di DCR. È necessaria un'identità per le destinazioni dell'account di archiviazione e di Hub eventi. È possibile usare un'identità assegnata dal sistema o assegnata dall'utente. Per altre informazioni, vedere Assegnare ruoli di Azure a un'identità gestita.

Per usare un'identità assegnata dal sistema, aggiungere l'oggetto identity come segue:

    "identity": {
         "type": "systemAssigned"
    },

Per usare un'identità assegnata dall'utente, aggiungere l'oggetto identity come segue:

    "identity": {
         "type": "userassigned", 

         "userAssignedIdentities": { 
           "/subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity name>": {} 
         }    

    }

Filtrare metriche

Quando si specificano le metriche da esportare, è possibile filtrarle in base al nome o richiedere tutte le metriche usando Metrics-Group-All. Per un elenco delle metriche supportate, vedere Metriche supportate e categorie di log per tipo di risorsa.

Per specificare più metriche dello stesso tipo di risorsa, creare un elemento di flusso separato per ogni metrica.

L'esempio seguente illustra come filtrare le metriche in base al nome.

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",  
                        "Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
                        "Microsoft.Cache/redis:Cache Hits"
                    ],
                    "name": "myPlatformTelemetryDataSource"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/arg-001/providers/microsoft.operationalinsights/workspaces/loganalyticsworkspace001",
                    "name": "destinationName"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft.Compute/virtualMachines:Percentage CPU",
                    "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                    "Microsoft.Compute/virtualMachines:Inbound Flows",
                    "Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
                    "Microsoft.Cache/redis:Cache Hits"
                ],
                "destinations": [
                    "destinationName"
                ]
            }
        ]
    },
    "kind": "PlatformTelemetry",
    "location": "eastus"
}

Le metriche campione esportano oggetti JSON

Gli esempi seguenti illustrano gli oggetti JSON DCR campione per l'esportazione di metriche in ogni tipo di destinazione.

Aree di lavoro di Log Analytics

L'esempio seguente illustra una regola di raccolta dati per metriche che invia metriche specifiche da macchine virtuali, set di scalabilità di macchine virtuali e tutte le metriche dell'insieme di credenziali delle chiavi a un'area di lavoro Log Analytics:

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",
                        "Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
                         "Microsoft.KeyVault/vaults:Metrics-Group-All"
                    ],
                    "name": "myPlatformTelemetryDataSource"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [ 
                { 
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/microsoft.operationalinsights/workspaces/laworkspace001", 
                    "name": "ladestination" 
                } 
            ] 
        },
        "dataFlows": [
            {
                "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",
                        "Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
                        "Microsoft.KeyVault/vaults:Metrics-Group-All"
                        ],    
                "destinations": [
                    "ladestination"
                    
                ]
            }
        ]
    },

"kind": "PlatformTelemetry",
    "location": "centralus"
}

Creare DCR per l'esportazione delle metriche

Creare DCR per l'esportazione di metriche usando il portale di Azure, l'interfaccia della riga di comando, PowerShell, l'API REST o il modello di Resource Manager. Per altre informazioni, vedere Creare e modificare regole di raccolta dati e associazioni in Monitoraggio di Azure.

Dati esportati

Negli esempi seguenti vengono illustrati i dati esportati in ogni destinazione.

Aree di lavoro Log Analytics

I dati esportati in un'area di lavoro Log Analytics vengono archiviati nella tabella AzureMetricsV2 nell'area di lavoro Log Analytics nel formato seguente:

Column Type Descrizione
Media real Valore medio raccolto durante l'intervallo di tempo.
_BilledSize real Dimensioni del record in byte
Count real Numero di campioni raccolti durante l'intervallo di tempo.
Dimensione dynamic Dimensione associata della metrica in formato JSON.
_IsBillable string Specifica se l'inserimento dei dati è fatturabile. Quando _IsBillable è false, l'inserimento dati non viene fatturato all'account Azure
Massimo real Valore massimo raccolto durante l'intervallo di tempo.
MetricCategory string Nome della categoria della metrica.
MetricName string Nome visualizzato della metrica.
MetricResourceType string Tipo di risorsa della risorsa di Azure che crea report per la metrica.
Requisiti minimi real Valore minimo raccolto durante l'intervallo di tempo.
_ResourceId string Identificatore univoco della risorsa a cui è associato il record.
SourceSystem string Tipo di agente da cui è stato raccolto l'evento. Ad esempio, OpsManager per l'agente Windows, la connessione diretta o Operations Manager, Linux per tutti gli agenti Linux o Azure per Diagnostica di Azure
_SubscriptionId string Identificatore univoco della sottoscrizione a cui è associato il record
TenantId string L'ID dell'area di lavoro Log Analytics
TimeGenerated datetime Timestamp (ora UTC) di quando è stato generato il record.
TimeGrain string Intervallo di tempo della metrica.
Totale real Somma di tutti i valori nell'intervallo di tempo.
Type string Nome della tabella
UnitName string Unità della metrica.

Ad esempio:

Screenshot di una query di Log Analytics della tabella AzureMetricsV2.

Account di archiviazione

L'esempio seguente mostra i dati esportati in un account di archiviazione:

{
    "Average": "31.5",
    "Count": "2",
    "Maximum": "52",
    "Minimum": "11",
    "Total": "63",
    "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
    "time": "2024-08-20T14:13:00.0000000Z",
    "unit": "MilliSeconds",
    "metricName": "ServiceApiLatency",
    "timeGrain": "PT1M",
    "dimension": {
        "ActivityName": "vaultget",
        "ActivityType": "vault",
        "StatusCode": "200",
        "StatusCodeClass": "2xx"
    }
}

Hub eventi

L'esempio seguente mostra una metrica esportata in Hub eventi.

    {
      "Average": "1",
      "Count": "1",
      "Maximum": "1",
      "Minimum": "1",
      "Total": "1",
      "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
      "time": "2024-08-22T13:43:00.0000000Z",
      "unit": "Count",
      "metricName": "ServiceApiHit",
      "timeGrain": "PT1M",
      "dimension": {
        "ActivityName": "keycreate",
        "ActivityType": "key"
      },
      "EventProcessedUtcTime": "2024-08-22T13:49:17.1233030Z",
      "PartitionId": 0,
      "EventEnqueuedUtcTime": "2024-08-22T13:46:04.5570000Z"
    }

Passaggi successivi