Vous devez disposer des autorisations suivantes pour créer des DCR et des associations :
Le tableau suivant répertorie les méthodes permettant de créer des scénarios de collecte de données à l'aide du portail Azure, où le DCR est créé pour vous. Dans ces cas, vous n'avez pas besoin d'interagir directement avec la DCR concernée.
Créer avec le Portail Azure
Le Portail Azure offre une expérience simplifiée de création d’une DCR pour les machines virtuelles et les groupes de machines virtuelles identiques. En utilisant cette méthode, vous n’avez pas besoin de comprendre la structure d’une DCR, sauf si vous souhaitez implémenter une fonctionnalité avancée telle qu’une transformation. Le processus de création de cette DCR avec différentes sources de données est décrit dans Collecter des données avec l’agent Azure Monitor.
Important
Créez votre règle de collecte de données dans la même région que votre espace de travail Log Analytics ou votre espace de travail Azure Monitor de destination. Vous pouvez associer la règle de collecte de données à des machines ou à des conteneurs depuis tout abonnement ou groupe de ressources dans le locataire. Pour envoyer des données entre locataires, vous devez d’abord activer Azure Lighthouse.
Dans le menu Surveiller dans le portail Azure, sélectionnez règles de collecte de données>Créer pour ouvrir la page de création de DCR.
La page De base inclut des informations de base sur la DCR.
Setting |
Description |
Nom de la règle |
Nom de la DCR. Le nom doit être un élément descriptif qui vous aide à identifier la règle. |
Abonnement |
Abonnement pour stocker la DCR. L’abonnement n’a pas besoin d’être le même abonnement que les machines virtuelles. |
Resource group |
Groupe de ressources pour stocker la DCR. Le groupe de ressources n’a pas besoin d’être le même groupe de ressources que les machines virtuelles. |
Région |
Région pour stocker la DCR. La région doit être la même région que tout espace de travail Log Analytics ou Azure Monitor utilisé dans une destination de la DCR. Si vous disposez d’espaces de travail dans différentes régions, créez plusieurs règles de collecte de données associées au même ensemble de machines. |
Type de plate-forme |
Spécifie le type de sources de données qui seront disponibles pour la DCR, Windows ou Linux. Aucun permet les deux. 1 |
Point de terminaison de collecte de données |
Spécifie le point de terminaison de collecte de données (DCE) utilisé pour collecter des données. Le DCE n’est nécessaire que si vous utilisez Azure Monitor Private Links. Cette DCE doit se trouver dans la même région que la DCR. Pour plus d’informations, consultez Comment configurer des points de terminaison de collecte de données en fonction de votre déploiement. |
1 Cette option définit l’attribut kind
dans la DCR. D’autres valeurs peuvent être définies pour cet attribut, mais elles ne sont pas disponibles dans le portail.
Ajout de ressources
La page Ressources vous permet d’ajouter des ressources à associer à la DCR. Sélectionnez + Ajouter des ressources pour sélectionner des ressources. L’agent Azure Monitor sera automatiquement installé sur les ressources sur lesquelles il n’est pas déjà installé.
Important
Le portail active une identité managée affectée par le système sur les ressources cibles, en plus des identités affectées par l’utilisateur (le cas échéant). Pour les applications existantes, à moins que vous ne spécifiez l’identité affectée par l’utilisateur dans la demande, la machine utilise par défaut l’identité affectée par le système à la place.
Si la machine que vous surveillez ne se trouve pas dans la même région que votre espace de travail Log Analytics de destination et que vous collectez des types de données nécessitant un DCE, sélectionnez Activer les points de terminaison de collecte des données et sélectionnez un point de terminaison dans la région de chaque ordinateur surveillé. Si l’ordinateur surveillé se trouve dans la même région que votre espace de travail Log Analytics de destination ou si vous n’avez pas besoin d’un DCE, ne sélectionnez pas de point de terminaison de collecte de données sous l’onglet Resources.
Ajouter des sources de données
La page Collecter et distribuer vous permet d’ajouter et de configurer des sources de données pour la DCR et une destination pour chacun d’eux.
Élément d’écran |
Description |
Source de données |
Sélectionner un Type de source de données et définir les champs associés en fonction du type de source de données que vous sélectionnez. Consultez les articles dans Sources de données pour plus d’informations sur la configuration de chaque type de source de données. |
Destination |
Ajoutez une ou plusieurs destinations pour chaque source de données. Vous pouvez sélectionner plusieurs destinations du même type ou de différents types. Par exemple, vous pouvez sélectionner plusieurs espaces de travail Log Analytics, également appelé hébergement multiple. Consultez les détails de chaque type de données pour les différentes destinations qu’ils prennent en charge. |
Une DCR peut contenir plusieurs sources de données différentes jusqu’à une limite de 10 sources de données dans une seule DCR. Vous pouvez combiner différentes sources de données dans la même DCR, mais il vaut généralement mieux créer différentes DCR pour différents scénarios de collecte de données. Consultez Meilleures pratiques pour la création et la gestion des règles de collecte de données dans Azure Monitor pour obtenir des recommandations sur la façon d’organiser vos règles de collecte de données.
Remarque
L’envoi de données vers les destinations peut prendre jusqu’à 5 minutes lorsque vous créez une règle de collecte de données en utilisant l’Assistant Règle de collecte de données.
Créer avec CLI
Utilisez la commande az monitor data-collection rule create pour créer une DCR à partir de votre fichier JSON.
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
Utilisez la commande az monitor data-collection rule association create pour créer une association entre votre DCR et votre ressource.
az monitor data-collection rule association create --name "my-vm-dcr-association" --rule-id "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr" --resource "subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm"
Créer avec PowerShell
Utilisez la cmdlet New-AzDataCollectionRule pour créer une DCR à partir de votre fichier JSON.
New-AzDataCollectionRule -Name 'my-dcr' -ResourceGroupName 'my-resource-group' -JsonFilePath 'C:\MyNewDCR.json'
Utilisez la commande New-AzDataCollectionRuleAssociation pour créer une association entre votre DCR et votre ressource.
New-AzDataCollectionRuleAssociation -TargetResourceId '/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Compute/virtualMachines/my-vm' -DataCollectionRuleId '/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr' -AssociationName 'my-vm-dcr-association'
Créer avec une API
Utilisez la DCR create API pour créer la DCR à partir de votre fichier JSON. Vous pouvez utiliser toute méthode pour appeler une API REST, comme le présentent les exemples suivants.
$ResourceId = "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
$FilePath = ".\my-dcr.json"
$DCRContent = Get-Content $FilePath -Raw
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2022-06-01") -Method PUT -Payload $DCRContent
ResourceId="/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
FilePath="my-dcr.json"
az rest --method put --url $ResourceId"?api-version=2022-06-01" --body @$FilePath
Créer avec un modèle ARM
Consultez les références suivantes pour définir des contrôleurs de domaine et des associations dans un modèle.
DCR
Utilisez le modèle suivant pour créer une DCR à l’aide d’informations à partir de la structure d’une règle de collecte de données dans Azure Monitor et des exemples de règles de collecte de données (DCR) dans Azure Monitor pour définir le dcr-properties
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"apiVersion": "2021-09-01-preview",
"properties": {
"<dcr-properties>"
}
}
]
}
Association DCR -Machine virtuelle Azure
L’exemple suivant crée une association entre une machine virtuelle Azure et une règle de collecte de données.
Fichier de modèle Bicep
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.Compute/virtualMachines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this virtual machine.'
dataCollectionRuleId: dataCollectionRuleId
}
}
Fichier de modèle ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.Compute/virtualMachines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
Fichier de paramètres
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-azure-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
Association DCR -Serveur avec Arc
L’exemple suivant crée une association entre un serveur avec Azure Arc et une règle de collecte de données.
Fichier de modèle Bicep
@description('The name of the virtual machine.')
param vmName string
@description('The name of the association.')
param associationName string
@description('The resource ID of the data collection rule.')
param dataCollectionRuleId string
resource vm 'Microsoft.HybridCompute/machines@2021-11-01' existing = {
name: vmName
}
resource association 'Microsoft.Insights/dataCollectionRuleAssociations@2021-09-01-preview' = {
name: associationName
scope: vm
properties: {
description: 'Association of data collection rule. Deleting this association will break the data collection for this Arc server.'
dataCollectionRuleId: dataCollectionRuleId
}
}
Fichier de modèle ARM
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of the virtual machine."
}
},
"associationName": {
"type": "string",
"metadata": {
"description": "The name of the association."
}
},
"dataCollectionRuleId": {
"type": "string",
"metadata": {
"description": "The resource ID of the data collection rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRuleAssociations",
"apiVersion": "2021-09-01-preview",
"scope": "[format('Microsoft.HybridCompute/machines/{0}', parameters('vmName'))]",
"name": "[parameters('associationName')]",
"properties": {
"description": "Association of data collection rule. Deleting this association will break the data collection for this Arc server.",
"dataCollectionRuleId": "[parameters('dataCollectionRuleId')]"
}
}
]
}
Fichier de paramètres
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "my-hybrid-vm"
},
"associationName": {
"value": "my-windows-vm-my-dcr"
},
"dataCollectionRuleId": {
"value": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
}
}
}
Pour modifier une DCR, vous pouvez utiliser l'une des méthodes décrites dans la section précédente pour créer une DCR à l'aide d'une version modifiée du JSON.
Si vous avez besoin de récupérer le JSON pour une DCR existante, vous pouvez le copier à partir de la Vue JSON pour la DCR dans le portail Azure. Vous pouvez également la récupérer à l'aide d'un appel d'API, comme indiqué dans l'exemple PowerShell suivant.
Pour créer une règle de collecte des données pour l’exportation des métriques, utilisez le portail Azure, l’interface Azure CLI, PowerShell, l’API ou les modèles ARM.
Dans le menu Surveiller du portail Azure, sélectionnez Règles de collecte des données, puis Créer.
Pour créer une DCR pour collecter des données de métriques de plateforme, sélectionnez le lien en haut de la page.
Dans la page Créer une règle de collecte des données, entrez un nom de règle, sélectionnez un abonnement, une groupe de ressources et une région pour la DCR.
Sélectionnez Activer l’identité managée si vous souhaitez envoyer des métriques à un compte de stockage ou à Event Hubs.
Sélectionnez Suivant.
Dans la page Ressources, sélectionnez Ajouter des ressources pour ajouter les ressources à partir desquelles vous souhaitez collecter des métriques.
Sélectionnez Suivant pour accéder à l’onglet Collecter et livrer.
Sélectionnez Ajouter un nouveau flux de données.
Le type de ressource de la ressource choisie à l’étape précédente est automatiquement sélectionné. Ajoutez d’autres types de ressources si vous souhaitez utiliser cette règle pour collecter des métriques à partir de plusieurs types de ressources à l’avenir.
Sélectionnez Destinations suivantes pour accéder à l’onglet Destinations.
Pour envoyer des métriques à un espace de travail Log Analytics, sélectionnez Journaux Azure Monitor dans le menu déroulant Type de destination.
- Sélectionnez l’abonnement et l’espace de travail Log Analytics dans lesquels vous souhaitez envoyer les métriques.
Pour envoyer des métriques à Event Hubs, sélectionnez Event Hub dans le menu déroulant Type de destination.
- Sélectionnez l’abonnement, l’espace de noms Event Hub et le nom de l’instance Event Hub.
Pour envoyer des métriques à un compte de stockage, sélectionnez Compte de stockage dans le menu déroulant Type de destination.
- Sélectionnez l’abonnement, le compte de stockage et le conteneur d’objets blob dans lesquels vous souhaitez stocker les métriques.
Remarque
Pour envoyer des métriques à un compte de stockage ou à Event Hubs, la ressource qui génère les métriques, la DCR et le compte de stockage ou Event Hub doivent tous se trouver dans la même région.
Pour envoyer des métriques à un espace de travail Log Analytics, la DCR doit se trouver dans la même région que l’espace de travail Log Analytics. La ressource générant les métriques peut se trouver dans n’importe quelle région.
Pour sélectionner le compte de stockage ou Event Hubs comme destination, vous devez activer l’identité managée pour la DCR sous l’onglet Informations de base.
Sélectionnez Enregistrer, puis Vérifier + créer.
Créez un fichier JSON contenant la spécification de la règle de collecte. Pour plus d’informations, consultez spécifications de la DCR. Pour obtenir des exemples de fichiers JSON, consultez Exemples de métriques Exporter des objets JSON.
Important
Le fichier de règle a le même format que celui utilisé pour PowerShell et l’API REST, mais le fichier ne doit pas contenir identity
, le location
ou kind
. Ces paramètres sont spécifiés dans la commande az monitor data-collection rule create
.
Utilisez la commande suivante pour créer une règle de collecte des données pour les métriques à l’aide de l’interface Azure CLI.
az monitor data-collection rule create
--name
--resource-group
--location
--kind PlatformTelemetry
--rule-file
[--identity "{type:'SystemAssigned'}" ]
Pour les destinations Compte de stockage et Event Hubs, vous devez activer l’identité managée pour la DCR à l’aide de --identity "{type:'SystemAssigned'}"
. L’identité n’est pas requise pour les espaces de travail Log Analytics.
Par exemple,
az monitor data-collection rule create
--name cli-dcr-001
--resource-group rg-001
--location centralus
--kind PlatformTelemetry
--identity "{type:'SystemAssigned'}"
--rule-file cli-dcr.json
Copiez le id
et le principalId
de la DCR à utiliser pour attribuer le rôle pour créer une association entre la DCR et une ressource.
"id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/cli-dcr-001",
"identity": {
"principalId": "eeeeeeee-ffff-aaaa-5555-666666666666",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "systemAssigned"
},
Accorder des autorisations d’écriture à l’entité managée
L’identité managée utilisée par la DCR doit disposer d’autorisations d’écriture sur la destination lorsque la destination est un Compte de stockage ou Event Hubs.
Pour accorder des autorisations pour l’entité managée de la règle, attribuez le rôle approprié à l’entité.
Le tableau suivant présente les rôles requis pour chaque type de destination :
Type de destination |
Rôle |
Espace de travail Log Analytics |
non exigé |
Compte de stockage Azure |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
Pour plus d’informations sur l’attribution de rôles, consultez Affecter des rôles Azure à une identité managée.
Pour attribuer un rôle à une identité managée à l’aide de l’interface CLI, utilisez az role assignment create
. Pour plus d’informations, consultez Attributions de rôle – Créer.
Attribuez le rôle approprié à l’identité managée de la DCR.
az role assignment create --assignee <system assigned principal ID> \
--role <`Storage Blob Data Contributor` or `Azure Event Hubs Data Sender` \
--scope <storage account ID or eventhub ID>
L’exemple suivant affecte le rôle Storage Blob Data Contributor
à l’identité managée de la DCR pour un compte de stockage.
az role assignment create --assignee eeeeeeee-ffff-aaaa-5555-666666666666 \
--role "Storage Blob Data Contributor" \
--scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/ed-rg-DCRTest/providers/Microsoft.Storage/storageAccounts/metricsexport001
Créer une association de règles de collecte des données
Après avoir créé la règle de collecte des données, créez une association de règles de collecte des données (DCRA) pour associer la règle à la ressource à surveiller. Pour plus d’informations, consultez Associations de règles de collecte des données – Créer
Utilisez az monitor data-collection rule association create
pour créer une association entre une règle de collecte des données et une ressource.
az monitor data-collection rule association create --name
--rule-id
--resource
L’exemple suivant crée une association entre une règle de collecte des données et un coffre de clés.
az monitor data-collection rule association create --name "keyValut-001" \
--rule-id "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/dcr-cli-001" \
--resource "/subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001"
Créez un fichier JSON contenant la spécification de la règle de collecte. Pour plus d’informations, consultez spécifications de la DCR. Pour obtenir des exemples de fichiers JSON, consultez Exemples de métriques Exporter des objets JSON.
Utilisez la commande New-AzDataCollectionRule
pour créer une règle de collecte des données pour les métriques à l’aide de PowerShell. Pour plus d’informations, consultez New-AzDataCollectionRule.
New-AzDataCollectionRule -Name
-ResourceGroupName
-JsonFilePath
Par exemple,
New-AzDataCollectionRule -Name dcr-powershell-hub -ResourceGroupName rg-001 -JsonFilePath dcr-storage-account.json
Copiez le id
et le IdentityPrincipalId
de la DCR à utiliser pour attribuer le rôle pour créer une association entre la DCR et une ressource.
Id : /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-powershell-hub
IdentityPrincipalId : eeeeeeee-ffff-aaaa-5555-666666666666
IdentityTenantId : 0000aaaa-11bb-cccc-dd22-eeeeee333333
IdentityType : systemAssigned
IdentityUserAssignedIdentity : {
}
Accorder des autorisations d’écriture à l’entité managée
L’identité managée utilisée par la DCR doit disposer d’autorisations d’écriture sur la destination lorsque la destination est un Compte de stockage ou Event Hubs.
Pour accorder des autorisations pour l’entité managée de la règle, attribuez le rôle approprié à l’entité.
Le tableau suivant présente les rôles requis pour chaque type de destination :
Type de destination |
Rôle |
Espace de travail Log Analytics |
non exigé |
Compte de stockage Azure |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
Pour plus d’informations, consultez Attribuer des rôles Azure à une identité managée.
Pour attribuer un rôle à une identité managée à l’aide de PowerShell, consultez New-AzRoleAssignment.
Attribuez le rôle approprié à l’identité managée de la DCR à l’aide de New-AzRoleAssignment
.
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName <roleName> -Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
L’exemple suivant attribue le rôle Azure Event Hubs Data Sender
à l’identité managée de la DCR au niveau de l’abonnement.
New-AzRoleAssignment -ObjectId ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 -RoleDefinitionName "Azure Event Hubs Data Sender" -Scope /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f
Créer une association de règles de collecte des données
Après avoir créé la règle de collecte des données, créez une association de règles de collecte des données (DCRA) pour associer la règle à la ressource à surveiller. Utilisez New-AzDataCollectionRuleAssociation
pour créer une association entre une règle de collecte des données et une ressource. Pour plus d’informations, consultez New-AzDataCollectionRuleAssociation.
New-AzDataCollectionRuleAssociation
-AssociationName <String>
-ResourceUri <String>
-DataCollectionRuleId <String>
L’exemple suivant crée une association entre une règle de collecte des données et un coffre de clés.
New-AzDataCollectionRuleAssociation
-AssociationName keyVault-001-association
-ResourceUri /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.KeyVault/vaults/keyVault-001
-DataCollectionRuleId /subscriptions/bbbb1b1b-cc2c-DD3D-ee4e-ffffff5f5f5f/resourceGroups/rg-dcr/providers/Microsoft.Insights/dataCollectionRules/vaultsDCR001
Créer une règle de collecte des données à l’aide de l’API REST
Pour créer une règle de collecte des données pour les métriques, procédez comme suit :
- Créez la règle de collecte des données.
- Accordez des autorisations pour l’entité managée de la règle pour écrire dans la destination.
- Créez une association de règles de collecte des données.
Créer la règle de collecte de données
Pour créer une DCR à l’aide de l’API REST, vous devez effectuer une demande authentifiée à l’aide d’un jeton du porteur. Pour plus d’informations sur l’authentification auprès d’Azure Monitor, consultez Authentifier les requêtes Azure Monitor.
Utilisez le point de terminaison suivant pour créer une règle de collecte des données pour les métriques à l’aide de l’API REST.
Pour plus d’informations, consultez Règles de collecte des données – Créer.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2023-03-11
Par exemple
https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-001?api-version=2023-03-11
La charge utile est un objet JSON qui définit une règle de collecte. La charge utile est envoyée dans le corps de la requête. Pour plus d’informations sur la structure JSON, consultez Spécifications de la DCR. Pour obtenir des exemples d’objets JSON DCR, consultez Exemples de métriques Exporter des objets JSON.
Accorder des autorisations d’écriture à l’entité managée
L’identité managée utilisée par la DCR doit disposer d’autorisations d’écriture sur la destination lorsque la destination est un Compte de stockage ou Event Hubs.
Pour accorder des autorisations pour l’entité managée de la règle, attribuez le rôle approprié à l’entité.
Le tableau suivant présente les rôles requis pour chaque type de destination :
Type de destination |
Rôle |
Espace de travail Log Analytics |
non exigé |
Compte de stockage Azure |
Storage Blob Data Contributor |
Event Hubs |
Azure Event Hubs Data Sender |
Pour plus d’informations, consultez Attribuer des rôles Azure à une identité managée.
Pour attribuer un rôle à une identité managée à l’aide de REST, consultez Attributions de rôles – Créer
Créer une association de règles de collecte des données
Après avoir créé la règle de collecte des données, créez une association de règles de collecte des données (DCRA) pour associer la règle à la ressource à surveiller. Pour plus d’informations, consultez Associations de règles de collecte des données – Créer
Pour créer une DCRA à l’aide de l’API REST, utilisez le point de terminaison et la charge utile suivants :
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}?api-version=2022-06-0
Corps :
{
"properties":
{
"description": "<DCRA description>",
"dataCollectionRuleId": "/subscriptions/{subscriptionId}/resourceGroups/{resource group name}/providers/Microsoft.Insights/dataCollectionRules/{DCR name}"
}
}
Par exemple,
https://management.azure.com//subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/Microsoft.Compute/virtualMachines/vm002/providers/Microsoft.Insights/dataCollectionRuleAssociations/dcr-la-ws-vm002?api-version=2023-03-11
{
"properties":
{
"description": "Association of platform telemetry DCR with VM vm002",
"dataCollectionRuleId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.Insights/dataCollectionRules/dcr-la-ws"
}
}
Utilisez le modèle suivant pour créer une DCR. Pour plus d’informations, consultez Microsoft.Insights dataCollectionRules.
Fichier de modèle
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the Data Collection Rule to create."
}
},
"location": {
"type": "string",
"metadata": {
"description": "Specifies the location in which to create the Data Collection Rule."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"name": "[parameters('dataCollectionRuleName')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "userassigned" | "systemAssigned",
"userAssignedIdentities": {
"type": "string"
}
},
"location": "[parameters('location')]",
"apiVersion": "2023-03-11",
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"<resourcetype>:<metric name> | Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
Fichier de paramètres
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"dataCollectionRuleName": {
"value": "metrics-dcr-001"
},
"workspaceId": {
"value": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/azuremonitorworkspaceinsights/providers/microsoft.operationalinsights/workspaces/amw-insight-ws"
},
"location": {
"value": "eastus"
}
}
}
Exemple de modèle de DCR :
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/dataCollectionRules",
"apiVersion": "2023-03-11",
"name": "[parameters('dataCollectionRuleName')]",
"location": "[parameters('location')]",
"kind": "PlatformTelemetry",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"dataSources": {
"platformTelemetry": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"name": "myPlatformTelemetryDataSource"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "[parameters('workspaceId')]",
"name": "myDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft.Compute/virtualMachines:Metrics-Group-All",
"Microsoft.Compute/virtualMachineScaleSets:Metrics-Group-All",
"Microsoft.Cache/redis:Metrics-Group-All",
"Microsoft.keyvault/vaults:Metrics-Group-All"
],
"destinations": [
"myDestination"
]
}
]
}
}
]
}
Après avoir créé la DCR et la DCRA, veuillez patienter jusqu’à 30 minutes pour que les données de métriques de la première plateforme apparaissent dans l’espace de travail Log Analytics. Une fois que les données commencent à circuler, la latence d’une série chronologique de métrique de plateforme qui transite vers un espace de travail Log Analytics, un compte de stockage ou Event Hubs est d’environ 3 minutes, selon le type de ressource.
Les métriques de DCR sont collectées automatiquement pour toutes les DCR, et vous pouvez les analyser à l’aide de Metrics Explorer, comme les métriques de plateforme pour d’autres ressources Azure. Pour plus d’informations, consultez Surveiller et dépanner la collecte des données DCR dans Azure Monitor
Les métriques envoyées à un espace de travail Log Analytics sont stockées dans la table AzureMetricsV2
. Utilisez l’Explorateur Log Analytics pour afficher la table et vérifier que les données sont ingérées.
Pour plus d’informations, consultez Vue d’ensemble de Log Analytics dans Azure Monitor.