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 TabelleAzureMetricsV2
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 einer Datensammlungsregel (Data Collection Rule, DCR) für den Export von Metriken.
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:
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"
}