Metrikexport mithilfe von Datensammlungsregeln (Vorschau)

Datensammlungsregeln (Data Collection Rules, DCRs) werden verwendet, um Überwachungsdaten von Ihren Azure-Ressourcen zu sammeln. Eine Liste des Datensammlungsszenarien finden Sie unter Datensammlungsregeln – Übersicht. DCRs lassen sich jetzt verwenden, um Plattformmetriken zu sammeln und zu exportieren.

Derzeit können Plattformmetriken mit DCR- und Diagnoseeinstellungen erfasst werden. Eine wachsende Anzahl von Ressourcen unterstützt den Metrikexport mithilfe von DCRs. Eine Liste der unterstützenden Ressourcen finden Sie unter Unterstützte Ressourcen und Regionen.

Die Verwendung von DCRs zum Exportieren von Metriken bietet die folgenden Vorteile gegenüber Diagnoseeinstellungen:

  • Die DCR-Konfiguration ermöglicht das Exportieren von Metriken mit Dimensionen.
  • Mit der DCR-Konfiguration können Sie nach Metriknamen filtern. So haben Sie die Möglichkeit, nur die Metriken zu exportieren, die Sie benötigen.
  • DCRs sind im Vergleich zu Diagnoseeinstellungen flexibler und besser skalierbar.
  • Die Gesamtlatenz liegt bei DCRs innerhalb von 3 Minuten. Dies ist eine wesentliche Verbesserung gegenüber Diagnoseeinstellungen, bei denen die Latenz beim Metrikexport 6–10 Minuten beträgt.

Verwenden Sie den Metrikexport über DCRs für den fortlaufenden Export von Metrikdaten. Verwenden Sie zum Abfragen historischer Daten die Batch-API für Metriken auf Datenebene. Einen Vergleich der beiden Dienste finden Sie unter Abfragen der Batch-API für Metriken auf Datenebene im Vergleich zum Exportieren von Metriken.

Sie erstellen DCRs für Metriken mithilfe der REST-API, der Azure-Befehlszeilenschnittstelle oder mit Azure PowerShell. Weitere Informationen zum Erstellen von DCRs für den Metrikexport finden Sie unter Erstellen von Datensammlungsregeln für Metriken.

Wenn Sie eine DCR erstellen, müssen Sie auch Zuordnung für diese Datensammlungsregel (Data Collection Rule Association, DCRA) erstellen, um die DCR der zu überwachenden Ressource zuzuordnen. Sie können eine einzelne DCR für viele Ressourcentypen erstellen. Weitere Informationen zum Erstellen einer DCRA finden Sie unter Erstellen von Zuordnungen für Datensammlungsregeln. Bei Verwendung des Azure-Portals wird die DCRA automatisch erstellt.

Hinweis

Es ist möglich, DCRs und Diagnoseeinstellungen gleichzeitig zu verwenden. Es wird jedoch empfohlen, bei Verwendung von DCRs die Diagnoseeinstellungen für Metriken zu deaktivieren, um eine doppelte Datensammlung zu vermeiden.

Exportziele

Metriken können mit einer DCR zu einem der folgenden Ziele exportiert werden:

  • Log Analytics-Arbeitsbereiche.
    Das Exportieren in Log Analytics-Arbeitsbereiche kann regionenübergreifend erfolgen. Der Log Analytics-Arbeitsbereich und die DCR müssen sich in derselben Region befinden, aber die überwachten Ressourcen können sich in beliebigen Regionen befinden. Die an einen Log Analytics-Arbeitsbereich gesendeten Metriken werden in der Tabelle AzureMetricsV2 gespeichert.

  • Azure Storage-Konten.
    Das Speicherkonto, die DCR und die überwachten Ressourcen müssen sich alle in derselben Region befinden.

  • Event Hubs.
    Die Event Hubs-Instanz, die DCR und die überwachten Ressourcen müssen sich alle in derselben Region befinden.

Ein Beispiel für Daten in jedem Ziel finden Sie unter Exportierte Daten.

Hinweis

Beim Exportieren von Metriken tritt eine Latenz von ca. 3 Minuten auf. Es kann nach der Ersteinrichtung bis zu 15 Minuten dauern, bis Metriken am Ziel verfügbar sind.

Begrenzungen

Die folgenden Einschränkungen gelten für DCRs für den Metrikexport:

  • Pro DCR kann nur ein Zieltyp angegeben werden.
  • Einer einzelnen Azure-Ressource können maximal 5 DCRs zugeordnet werden.
  • Der Export von Metriken durch DCR unterstützt nicht den Export von Metriken mit stündlicher Granularität.

Unterstützte Ressourcen und Regionen

Die folgenden Ressourcen unterstützen den Metrikexport mithilfe von Datensammlungsregeln:

Ressourcentyp Datenstromspezifikation
Skalierungsgruppen für virtuelle Computer Microsoft.compute/virtualmachinescalesets
Virtuelle Computer Microsoft.compute/virtualmachines
Redis Cache Microsoft.cache/redis
IoT Hubs Microsoft.devices/iothubs
Schlüsseltresore Microsoft.keyvault/vaults
Speicherkonten 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
Media Services Microsoft.media/mediaservices
Microsoft.media/mediaservices/streamingendpoints
Microsoft.media/mediaservices/liveevents
Datenschutz Microsoft.dataprotection/backupvaults
Azure Kubernetes Service Microsoft.ContainerService/managedClusters

Unterstützte Regionen

Sie können eine DCR für den Metrikexport in einer beliebigen Region erstellen, aber die Ressourcen, von denen Sie Metriken exportieren möchten, müssen sich in einer der folgenden Regionen befinden:

  • Australien (Osten)
  • USA (Mitte)
  • CentralUsEuap
  • USA Süd Mitte
  • East US
  • USA (Ost) 2
  • Eastus2Euap
  • USA (Westen)
  • USA, Westen 2
  • Nordeuropa
  • Europa, Westen
  • UK, Süden

DCR-Spezifikationen

Datensammlungsregeln werden in einem JSON-Objekt definiert. Die folgenden Eigenschaften sind erforderlich, um eine DCR für den Metrikexport zu erstellen.

Eigenschaft Beschreibung
dataSources.platformTelemetry.streams Listet die Ressourcentypen und Metriken auf. Geben Sie Metrics-Group-All an, um alle Metriken für die Ressource zu sammeln, oder geben Sie einzelne Metriken an. Format: <resource type>:Metrics-Group-All | <metric name>
Beispiel: Microsoft.Compute/virtualMachines:Percentage CPU
dataSources.platformTelemetry.name Den Namen der Datenquelle.
destinations Das Ziel für die Metriken. Pro DCR wird nur ein Ziel unterstützt.
Gültige Zieltypen:
storageAccounts
logAnalytics
eventHubs
dataflows.streams Eine Liste der Datenströme, die an das Ziel übergeben werden sollen, im Format <resource type>:Metrics-Group-All |<metric name>.
Beispiel: „Microsoft.Compute/virtualMachines:Percentage CPU“
dataflows.destinations Das Ziel, an das die Datenströme übergeben werden sollen, wie in der destinations-Eigenschaft definiert.
identity.type Der Identitätstyp, der für die DCR verwendet werden soll. Erforderlich für Speicherkontoziele.
Gültige Werte:
systemAssigned
userAssigned
kind Der Typ der Datensammlungsregel. Legen Sie für den Metrikexport den Wert PlatformTelemetry fest.
location Der Speicherort der DCR.

Hinweis

Pro DCR kann nur ein Zieltyp angegeben werden.

JSON-Format für DCRs für den Metrikexport

Verwenden Sie das Format im folgenden generischen JSON-Objekt, um eine DCR für den Metrikexport zu erstellen. Entfernen Sie unerwünschte Ziele, wenn Sie das Beispiel kopieren.

{
    "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"
}

Hinweis

Beim Erstellen einer DCR für den Metrikexport mithilfe der Befehlszeilenschnittstelle werden kind, location und identity als Argumente übergeben und müssen aus dem JSON-Objekt entfernt werden.

Benutzer- und systemseitig zugewiesene Identitäten

Beim Erstellen von DCRs werden sowohl benutzer- als auch systemseitig zugewiesene Identitäten unterstützt. Wenn als Ziel ein Speicherkonto oder Event Hubs verwendet wird, ist eine Identität erforderlich. Sie können systemseitig oder eine benutzerseitig zugewiesene Identität verwenden. Weitere Informationen finden Sie unter Zuweisen von Azure-Rollen zu einer verwalteten Identität.

Um eine systemseitig zugewiesene Identität zu verwenden, fügen Sie das identity-Objekt wie folgt hinzu:

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

Um eine benutzerseitig zugewiesene Identität zu verwenden, fügen Sie das identity-Objekt wie folgt hinzu:

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

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

    }

Filtern von Metriken

Wenn Sie die zu exportierenden Metriken angeben, können Sie die Metriken anhand des Namens filtern oder mit Metrics-Group-All alle Metriken anfordern. Eine Liste der unterstützten Metriken finden Sie unter Unterstützte Metriken und Protokollkategorien nach Ressourcentyp.

Wenn Sie mehrere Metriken aus demselben Ressourcentyp angeben möchten, erstellen Sie für jede Metrik ein separates Datenstromelement.

Das folgende Beispiel veranschaulicht das Filtern von Metriken anhand des Namens.

{
    "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"
}

JSON-Beispielobjekte für den Metrikexport

Die folgenden Beispiele zeigen DCR-JSON-Objekte für den Metrikexport zu verschiedenen Zieltypen.

Log Analytics-Arbeitsbereiche

Das folgende Beispiel zeigt eine Datensammlungsregel für Metriken, die bestimmte Metriken von VMs und VM-Skalierungsgruppen sowie alle Schlüsseltresormetriken an einen Log Analytics-Arbeitsbereich sendet:

{
    "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"
}

Erstellen von DCRs für den Metrikexport

Sie können für das Erstellen von DCRs für den Metrikexport das Azure-Portal, die Befehlszeilenschnittstelle, PowerShell, die REST-API oder eine ARM-Vorlage verwenden. Weitere Informationen finden Sie unter Erstellen und Bearbeiten von Datensammlungsregeln (DCRs) und Zuordnungen in Azure Monitor.

Exportierte Daten

Die folgenden Beispiele zeigen die Daten, die an jedes Ziel exportiert wurden.

Log Analytics-Arbeitsbereiche

Die in einen Log Analytics-Arbeitsbereich exportierten Daten werden in der Tabelle AzureMetricsV2 im Log Analytics-Arbeitsbereich im folgenden Format gespeichert:

Spalte Type Beschreibung
Average real Durchschnittswert, der im Zeitbereich erfasst wurde
_BilledSize real Die Datensatzgröße in Bytes.
Anzahl real Die Anzahl der im Zeitbereich gesammelten Stichproben
Dimension dynamisch Zugeordnete Dimension der Metrik im JSON-Format
_IsBillable Zeichenfolge Gibt an, ob die Erfassung der Daten gebührenpflichtig ist. Wenn _IsBillable auf false festgelegt ist, wird die Datenerfassung Ihrem Azure-Konto nicht in Rechnung gestellt.
Maximum real Maximalwert, der im Zeitbereich erfasst wurde
MetricCategory Zeichenfolge Kategoriename der Metrik
MetricName Zeichenfolge Anzeigename der Metrik
MetricResourceType Zeichenfolge Ressourcentyp der Azure-Ressource, von der die Metrik gemeldet wurde
Mindestanforderungen real Kleinster Wert, der im Zeitbereich erfasst wurde
_ResourceId Zeichenfolge Ein eindeutiger Bezeichner für die Ressource, der der Datensatz zugeordnet ist.
SourceSystem Zeichenfolge Typ des Agents, von dem das Ereignis gesammelt wurde. Beispiel: OpsManager für den Windows-Agent (direkte Verbindung oder Operations Manager), Linux für alle Linux-Agents oder Azure für die Azure-Diagnose
_SubscriptionId Zeichenfolge Ein eindeutiger Bezeichner für das Abonnement, dem der Datensatz zugeordnet ist.
TenantId Zeichenfolge Die ID des Log Analytics-Arbeitsbereichs.
TimeGenerated datetime Zeitstempel (UTC), wann der Datensatz generiert wurde
TimeGrain Zeichenfolge Aggregationsintervall der Metrik
Gesamt real Summe aller Werte im Zeitbereich
type Zeichenfolge Der Name der Tabelle.
UnitName Zeichenfolge Einheit der Metrik

Zum Beispiel:

Screenshot einer Log Analytics-Abfrage der Tabelle „AzureMetricsV2“

Speicherkonten

Das folgende Beispiel zeigt Daten, die in ein Speicherkonto exportiert wurden:

{
    "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"
    }
}

Event Hubs

Das folgende Beispiel zeigt eine Metrik, die in Event Hubs exportiert wurde:

    {
      "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"
    }

Nächste Schritte