Exportation de métriques via des règles de collecte de données (préversion)
Les règles de collecte de données (DCR) permettent de collecter les données de monitoring de vos ressources Azure. Pour obtenir la liste des scénarios de collecte de données, consultez Règles de collecte de données – Vue d’ensemble. Vous pouvez désormais utiliser des DCR pour collecter et exporter des métriques de plateforme.
Actuellement, les métriques de plateforme peuvent être collectées à l’aide de DCR et de paramètres de diagnostic. Un nombre croissant de ressources prennent en charge l’exportation de métriques à l’aide de DCR. Pour obtenir la liste des ressources prises en charge, consultez Ressources et régions prises en charge.
L’utilisation de DCR pour exporter des métriques présente les avantages suivants par rapport aux paramètres de diagnostic :
- La configuration de DCR permet d’exporter des métriques avec des dimensions.
- La configuration de DCR permet de filtrer les métriques en fonction de leur nom. Vous pouvez donc exporter uniquement les métriques dont vous avez besoin.
- Les DCR sont plus flexibles et évolutives que les paramètres de diagnostic.
- La latence de bout en bout pour les DCR est inférieure à 3 minutes. Ceci constitue une amélioration majeure par rapport aux paramètres de diagnostic pour lesquels la latence d’exportation de métriques est comprise entre 6 et 10 minutes.
Utilisez l’exportation de métriques via des DCR pour effectuer une exportation continue des données de métriques. Pour interroger les données historiques, utilisez l’API de traitement par lots des métriques de plan de données. Pour obtenir une comparaison des deux services, consultez Requête d’API de traitement par lots des métriques de plan de données et exportation de métriques.
Pour créer des DCR pour des métriques, utilisez l’API REST, Azure CLI ou Azure PowerShell. Pour obtenir des informations sur la création de DCR pour l’exportation de métriques, consultez Créer des règles de collecte de données pour les métriques.
Quand vous créez une DCR, vous devez créer une association de règle de collecte de données (DCRA) pour associer la DCR à la ressource à surveiller. Vous pouvez créer une seule DCR pour de nombreux types de ressources. Pour obtenir des informations sur la création d’une DCRA, consultez Créer des associations de règles de collecte de données. Quand vous utilisez le Portail Azure, la DCRA est créée automatiquement.
Remarque
Il est possible d’utiliser des DCR et des paramètres de diagnostic en même temps. Si vous utilisez des DCR, nous vous recommandons de désactiver les paramètres de diagnostic pour les métriques afin d’éviter la collecte de données en double.
Destinations d’exportation
Vous pouvez exporter les métriques vers l’une des destinations suivantes par DCR :
Espaces de travail Log Analytics.
L’exportation vers des espaces de travail Log Analytics peut couvrir plusieurs régions. L’espace de travail Log Analytics et la DCR doivent se trouver dans la même région, mais les ressources surveillées peuvent se trouver dans n’importe quelle région. Les métriques envoyées à un espace de travail Log Analytics sont stockées dans la tableAzureMetricsV2
.Comptes de stockage Azure.
Le compte de stockage, la DCR et les ressources surveillées doivent se trouver dans la même région.Event Hubs.
Les hubs d’événements, la DCR et les ressources surveillées doivent se trouver dans la même région.
Pour obtenir un échantillon de données dans chaque destination, consultez Données exportées.
Remarque
La latence pour l’exportation de métriques est d’environ 3 minutes. Après la configuration initiale, jusqu’à 15 minutes peuvent s’écouler avant que les métriques ne commencent à apparaître dans la destination.
Limites
Les DCR pour l’exportation de métriques présentent les limitations suivantes :
- Un seul type de destination peut être spécifié par DCR.
- Au maximum, 5 DCR peuvent être associées à une seule ressource Azure.
- L’exportation de mesures par DCR ne prend pas en charge l’exportation de mesures par fragment horaire.
Ressources et régions prises en charge
Les ressources suivantes prennent en charge l’exportation de métriques à l’aide de règles de collecte de données :
Type de ressource | Spécification du flux |
---|---|
Groupe de machines virtuelles identiques | Microsoft.compute/virtualmachinescalesets |
Machines virtuelles | Microsoft.compute/virtualmachines |
Cache Redis | Microsoft.cache/redis |
Hubs IOT | Microsoft.devices/iothubs |
Coffres de clés | Microsoft.keyvault/vaults |
Comptes de stockage | 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 |
Protection des données | Microsoft.dataprotection/backupvaults |
Azure Kubernetes Service | Microsoft.ContainerService/managedClusters |
Régions prises en charge
Vous pouvez créer une DCR pour l’exportation de métriques dans n’importe quelle région, mais les ressources à partir desquelles vous souhaitez exporter des métriques doivent se trouver dans l’une des régions suivantes :
- Australie Est
- USA Centre
- CentralUsEuap
- États-Unis - partie centrale méridionale
- USA Est
- USA Est 2
- Eastus2Euap
- USA Ouest
- USA Ouest 2
- Europe Nord
- Europe Ouest
- Sud du Royaume-Uni
Spécifications des DCR
Les règles de collecte de données sont définies dans un objet JSON. Les propriétés suivantes sont requises pour créer une DCR pour l’exportation de métriques.
Propriété | Description |
---|---|
dataSources.platformTelemetry.streams |
Répertorie les types de ressources et les métriques. Spécifiez Metrics-Group-All pour collecter toutes les métriques de la ressource ou spécifiez des métriques individuelles. Format : <resource type>:Metrics-Group-All | <metric name> Par exemple, Microsoft.Compute/virtualMachines:Percentage CPU |
dataSources.platformTelemetry.name |
Nom de la source de données. |
destinations |
Destination des métriques. Une seule destination est prise en charge par DCR. Types de destinations valides : storageAccounts logAnalytics eventHubs |
dataflows.streams |
Liste des flux à passer à la destination au format suivant : <resource type>:Metrics-Group-All |<metric name> Par exemple, « Microsoft.Compute/virtualMachines:Percentage CPU ». |
dataflows.destinations |
Destination, définie dans la propriété destinations , à laquelle les flux sont passés. |
identity.type |
Type d’identité à utiliser pour la DCR. Obligatoire pour les destinations de compte de stockage. Valeurs correctes : systemAssigned userAssigned |
kind |
Genre de règle de collecte de données. Propriété définie sur PlatformTelemetry pour l’exportation de métriques. |
location |
Emplacement de la DCR. |
Remarque
Un seul type de destination peut être spécifié par DCR.
Format JSON pour l’exportation de métriques DCR
Utilisez le format dans l’objet JSON générique suivant pour créer une DCR pour l’exportation de métriques. Supprimez les destinations indésirables lors de la copie de l’exemple.
{
"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"
}
Remarque
Lors de la création d’une DCR pour l’exportation de métriques à l’aide de l’interface CLI, les propriétés kind
, location
et identity
sont passées en tant qu’arguments et doivent être supprimées de l’objet JSON.
Identités affectées par l’utilisateur et le système
Les identités affectées par l’utilisateur et le système sont prises en charge lors de la création de DCR. Une identité est requise pour les destinations Compte de stockage et Event Hubs. Vous pouvez utiliser une identité affectée par le système ou par l’utilisateur. Pour plus d’informations, consultez Attribuer des rôles Azure à une identité managée.
Pour utiliser une identité affectée par le système, ajoutez l’objet identity
comme suit :
"identity": {
"type": "systemAssigned"
},
Pour utiliser une identité affectée par l’utilisateur, ajoutez l’objet identity
comme suit :
"identity": {
"type": "userassigned",
"userAssignedIdentities": {
"/subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity name>": {}
}
}
Filtrage des métriques
Lorsque vous spécifiez les métriques à exporter, vous pouvez les filtrer par nom ou demander toutes les métriques en utilisant Metrics-Group-All
. Pour obtenir la liste des métriques prises en charge, consultez Métriques et catégories de journaux prises en charge par type de ressource.
Pour spécifier plusieurs métriques du même type de ressource, créez un élément de flux distinct pour chaque métrique.
L’exemple suivant montre comment filtrer les métriques par nom.
{
"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"
}
Exemples d’objets JSON pour l’exportation de métriques
Les exemples suivants illustrent des objets JSON DCR pour l’exportation de métriques vers chaque type de destination.
Espaces de travail Log Analytics
L’exemple suivant montre une règle de collecte de données pour des métriques qui envoie des métriques spécifiques des machines virtuelles et des groupes de machines virtuelles identiques ainsi que l’ensemble des métriques des coffres de clés à un espace de travail 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"
}
Créer des DCR pour l’exportation de métriques
Pour créer des DCR pour l’exportation de métriques, utilisez le Portail Azure, l’interface CLI, PowerShell, l’API REST ou le modèle ARM. Pour plus d’informations, consultez Créer et modifier des règles de collecte de données (DCR) et des associations dans Azure Monitor.
Données exportées
Les exemples suivants montrent les données exportées vers chaque destination.
Espaces de travail Log Analytics
Les données exportées vers un espace de travail Log Analytics sont stockées dans la table AzureMetricsV2
dans l’espace de travail Log Analytics au format suivant :
Colonne | Type | Description |
---|---|---|
Average | real | Valeur moyenne collectée pendant l’intervalle de temps. |
_BilledSize | real | Taille de l’enregistrement en octets |
Count | real | Nombre d’échantillons collectés pendant l’intervalle de temps. |
Dimension | dynamic | Dimension associée de la métrique au format JSON. |
_IsBillable | string | Spécifie si l’ingestion des données est facturable. Quand _IsBillable est false , l’ingestion n’est pas facturée sur votre compte Azure. |
Maximale | real | Valeur maximale collectée pendant l’intervalle de temps. |
MetricCategory | string | Nom de catégorie de la métrique. |
MetricName | string | Nom d’affichage de la métrique. |
MetricResourceType | string | Type de ressource de la ressource Azure rendant compte de la métrique. |
Minimum | real | Valeur minimale collectée pendant l’intervalle de temps. |
_ResourceId | string | Un identificateur unique de la ressource à laquelle l’enregistrement est associé |
SourceSystem | string | Type d’agent ayant collecté l’événement. Par exemple, OpsManager pour l’agent Windows (connexion directe ou Operations Manager), Linux pour tous les agents Linux, ou Azure pour Diagnostics Azure. |
_SubscriptionId | string | Un identificateur unique de l’abonnement auquel l’enregistrement est associé |
TenantId | string | ID de l’espace de travail Log Analytics |
TimeGenerated | DATETIME | Timestamp (UTC) de la génération de l’enregistrement. |
TimeGrain | string | Fragment de temps de la métrique. |
Total | real | Somme de toutes les valeurs de l’intervalle de temps. |
Type | string | Le nom de la table |
UnitName | string | Unité de la métrique. |
Par exemple :
Comptes de stockage
L’exemple suivant montre les données exportées vers un compte de stockage :
{
"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
L’exemple suivant montre une métrique exportée vers Event Hubs.
{
"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"
}