Partager via


Envoyer des données à Event Hubs et Stockage (préversion)

Cet article explique comment utiliser l’agent Azure Monitor (AMA) pour charger des données dans Stockage Azure et Event Hubs. Cette fonctionnalité est en préversion.

L’agent Azure Monitor est le nouvel agent de télémétrie consolidé permettant de collecter des données à partir de ressources IaaS telles que des machines virtuelles. En utilisant la fonctionnalité de chargement dans cette préversion, vous pouvez charger les journaux d’activité1 que vous envoyez à des espaces de travail Log Analytics vers Event Hubs et Stockage. Les deux destinations de données utilisent des règles de collecte de données afin de configurer la configuration de collecte pour les agents.

Remarque

L’extension Diagnostics Azure sera déconseillée le 31 mars 2026. Passé cette date, Microsoft ne fournira plus de support pour l’extension Diagnostics Azure.

Notes de bas de page

1 : tous les types de données ne sont pas pris en charge. Reportez-vous à la section Éléments pris en charge pour plus de spécificités.

Migration à partir des extensions Diagnostics Azure pour Linux et Windows (LAD/WAD)

  • L’agent Azure Monitor peut collecter et envoyer des données vers plusieurs destinations, notamment des espaces de travail Log Analytics, Azure Event Hubs et Stockage Azure.
  • Pour voir quelles extensions sont installées sur votre machine virtuelle, sélectionnez Extensions + applications sous Paramètres sur votre machine virtuelle.
  • Supprimez LAD ou WAD après votre configuration de l’agent Azure Monitor pour collecter les mêmes données sur Event Hubs ou Stockage Azure afin d’éviter les données en double.
  • En guise d’alternative au stockage, nous vous recommandons vivement de configurer une table avec le plan Auxiliaire dans votre espace de travail Log Analytics pour bénéficier d’une journalisation économique.

Opérations prises en charge

Types de données

  • Windows :

    • Journaux des événements Windows : vers Event Hub et Stockage
    • Compteurs de performance : Event Hub et Stockage
    • Journaux IIS : vers le blob de Stockage
    • Journaux personnalisés : vers le blob de Stockage
  • Linux :

    • Syslog : vers Event Hub et Stockage
    • Compteurs de performance : vers Event Hub et Stockage
    • Journaux personnalisés / Fichiers journaux - vers le stockage

Systèmes d’exploitation

  • Environnements pris en charge par l’agent d’analyse Azure sur Windows et Linux
  • Cette fonctionnalité est uniquement prise en charge et planifiée afin d’être prise en charge pour les machines virtuelles Azure. Il n’est pas prévu d’apporter cela à des scénarios locaux ou Azure Arc.

Ce qui n'est pas pris en charge

Types de données

  • Windows :
    • Journaux ETW (à venir dans une version ultérieure)
    • Images mémoire après incident Windows (non planifiées ni prises en charge)
    • Journaux des applications (non planifiés ni pris en charge)
    • Journaux de source de l'événement .NET (non planifiés ni pris en charge)

Prérequis

Vous aurez besoin d’une ressource de calcul existante telle qu’une machine virtuelle ou un groupe de machines virtuelles identiques. La machine sur laquelle l’agent Azure Monitor est déployé doit avoir l’identité managée affectée par le système activée ou une identité managée affectée par l’utilisateur associée. Nous vous recommandons vivement d’utiliser une identité managée affectée par l’utilisateur pour une meilleure scalabilité et de meilleures performances. L’agent Azure Monitor doit être configuré de façon à utiliser cette identité managée pour l’authentification, comme décrit dans les prérequis.

Vous devez approvisionner le ou les comptes de stockage nécessaires et/ou hub d’événements sur lesquels vous souhaitez publier des données via l’agent Azure Monitor. En outre, le ou les rôles RBAC intégrés appropriés doivent être attribués à l’identité managée choisie en fonction de la destination de données souhaitée :

  • Table de stockage : rôle Storage Table Data Contributor
  • Objet blob de stockage : rôle Storage Blob Data Contributor
  • Hub d’événements : rôle Azure Event Hubs Data Sender

Créer une règle de collecte de données

Créez une règle de collecte de données afin de collecter des événements et d’envoyer vers Stockage et Event Hub.

  1. Dans le menu du Portail Azure, dans la zone de recherche, tapez modèle, puis sélectionnez Déployer un modèle personnalisé.

    Capture d’écran montrant le Portail Azure avec le modèle entré dans la zone de recherche et Déployer un modèle personnalisé mis en évidence dans les résultats de la recherche.

  2. Sélectionnez Générer votre propre modèle dans l’éditeur.

    Capture d’écran affichant l’écran du portail pour générer un modèle dans l’éditeur.

  3. Collez ce modèle Azure Resource Manager dans l’éditeur :

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "Location for all resources."
        }
        },
        "dataCollectionRulesName": {
        "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
        "type": "String"
        },
        "storageAccountName": {
        "defaultValue": "[concat(resourceGroup().name, 'sa')]",
        "type": "String"
        },
        "eventHubNamespaceName": {
        "defaultValue": "[concat(resourceGroup().name, 'eh')]",
        "type": "String"
        },
        "eventHubInstanceName": {
        "defaultValue": "[concat(resourceGroup().name, 'ehins')]",
        "type": "String"
        }
    },
    "resources": [
        {
        "type": "Microsoft.Insights/dataCollectionRules",
        "apiVersion": "2022-06-01",
        "name": "[parameters('dataCollectionRulesName')]",
        "location": "[parameters('location')]",
        "kind": "AgentDirectToStore",
        "properties": {
            "dataSources": {
            "performanceCounters": [
                {
                "streams": [
                    "Microsoft-Perf"
                ],
                "samplingFrequencyInSeconds": 10,
                "counterSpecifiers": [
                    "\\Process(_Total)\\Working Set - Private",
                    "\\Memory\\% Committed Bytes In Use",
                    "\\LogicalDisk(_Total)\\% Free Space",
                    "\\Network Interface(*)\\Bytes Total/sec"
                ],
                "name": "perfCounterDataSource10"
                }
            ],
            "windowsEventLogs": [
                {
                "streams": [
                    "Microsoft-Event"
                ],
                "xPathQueries": [
                    "Application!*[System[(Level=2)]]",
                    "System!*[System[(Level=2)]]"
                ],
                "name": "eventLogsDataSource"
                }
            ],
            "iisLogs": [
                {
                "streams": [
                    "Microsoft-W3CIISLog"
                ],
                "logDirectories": [
                    "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\"
                ],
                "name": "myIisLogsDataSource"
                }
            ],
            "logFiles": [
                {
                "streams": [
                    "Custom-Text-logs"
                ],
                "filePatterns": [
                    "C:\\JavaLogs\\*.log"
                ],
                "format": "text",
                "settings": {
                    "text": {
                    "recordStartTimestampFormat": "ISO 8601"
                    }
                },
                "name": "myTextLogs"
                }
            ]
            },
            "destinations": {
            "eventHubsDirect": [
                {
                "eventHubResourceId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs', parameters('eventHubNamespaceName'), parameters('eventHubInstanceName'))]",
                "name": "myEh1"
                }
            ],
            "storageBlobsDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedPerf",
                "containerName": "PerfBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedWin",
                "containerName": "WinEventBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedIIS",
                "containerName": "IISBlob"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "blobNamedTextLogs",
                "containerName": "TxtLogBlob"
                }
            ],
            "storageTablesDirect": [
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedPerf",
                "tableName": "PerfTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableNamedWin",
                "tableName": "WinTable"
                },
                {
                "storageAccountResourceId": "[resourceId('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",
                "name": "tableUnnamed"
                }
            ]
            },
            "dataFlows": [
            {
                "streams": [
                "Microsoft-Perf"
                ],
                "destinations": [
                "myEh1",
                "blobNamedPerf",
                "tableNamedPerf",
                "tableUnnamed"
                ]
            },
            {
                "streams": [
                "Microsoft-Event"
                ],
                "destinations": [
                "myEh1",
                "blobNamedWin",
                "tableNamedWin",
                "tableUnnamed"
                ]
            },
            {
                "streams": [
                "Microsoft-W3CIISLog"
                ],
                "destinations": [
                "blobNamedIIS"
                ]
            },
            {
                "streams": [
                "Custom-Text-logs"
                ],
                "destinations": [
                "blobNamedTextLogs"
                ]
            }
            ]
        }
        }
    ]
    }
    
  4. Mettez à jour les valeurs suivantes dans le modèle Azure Resource Manager. Consultez l’exemple de modèle Azure Resource Manager pour un exemple.

    Hub d’événements

    Valeur Description
    dataSources Définissez-la selon vos exigences. Les types pris en charge pour le chargement direct vers Event Hubs pour Windows sont performanceCounters et windowsEventLogs, et pour Linux, performanceCounters et syslog.
    destinations Utilisez eventHubsDirect pour le chargement direct vers Event Hub.
    eventHubResourceId ID de ressource de l’instance Event Hub.

    REMARQUE : il ne s’agit pas de l’ID de ressource de l’espace de noms Event Hub.
    dataFlows Sous dataFlows, incluez le nom de destination.

    Table de stockage

    Valeur Description
    dataSources Définissez-la selon vos exigences. Les types pris en charge pour le chargement direct vers la Table de stockage pour Windows sont performanceCounters et windowsEventLogs, et pour Linux, performanceCounters et syslog.
    destinations Utilisez storageTablesDirect pour le chargement direct vers la table de stockage.
    storageAccountResourceId ID de ressource du compte de stockage.
    tableName Nom de la table dans laquelle le blob JSON avec des données d’événement est chargé.
    dataFlows Sous dataFlows, incluez le nom de destination.

    Objet blob de stockage

    Valeur Description
    dataSources Définissez-la selon vos exigences. Les types pris en charge pour le chargement direct vers le blob de stockage pour Windows sont performanceCounters, windowsEventLogs, iisLogs et logFiles, et pour Linux, performanceCounters, syslog et logFiles.
    destinations Utilisez storageBlobsDirect pour le chargement direct vers le blob de stockage.
    storageAccountResourceId ID de ressource du compte de stockage.
    containerName Nom du conteneur dans lequel le blob JSON avec des données d’événement est chargé.
    dataFlows Sous dataFlows, incluez le nom de destination.
  5. Sélectionnez Enregistrer.

Créer une association DCR et déployer l’agent Azure Monitor

Utilisez un déploiement de modèle personnalisé pour créer l’association DCR et le déploiement AMA.

  1. Dans le menu du Portail Azure, dans la zone de recherche, tapez modèle, puis sélectionnez Déployer un modèle personnalisé.

    Capture d’écran montrant le Portail Azure avec le modèle entré dans la zone de recherche et Déployer un modèle personnalisé mis en évidence dans les résultats de la recherche.

  2. Sélectionnez Générer votre propre modèle dans l’éditeur.

    Capture d’écran affichant l’écran du portail pour générer un modèle dans l’éditeur.

  3. Collez ce modèle Azure Resource Manager dans l’éditeur.

    {
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vmName": {
        "defaultValue": "[concat(resourceGroup().name, 'vm')]",
        "type": "String"
        },
        "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
            "description": "Location for all resources."
        }
        },
        "dataCollectionRulesName": {
        "defaultValue": "[concat(resourceGroup().name, 'DCR')]",
        "type": "String",
        "metadata": {
            "description": "Data Collection Rule Name"
        }
        },
        "dcraName": {
        "type": "string",
        "defaultValue": "[concat(uniquestring(resourceGroup().id), 'DCRLink')]",
        "metadata": {
            "description": "Name of the association."
        }
        },
        "identityName": {
        "type": "string",
        "defaultValue": "[concat(resourceGroup().name, 'UAI')]",
        "metadata": {
            "description": "Managed Identity"
        }
        }
    },
    "resources": [
        {
        "type": "Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations",
        "name": "[concat(parameters('vmName'),'/microsoft.insights/', parameters('dcraName'))]",
        "apiVersion": "2021-04-01",
        "properties": {
            "description": "Association of data collection rule. Deleting this association will break the data collection for this virtual machine.",
            "dataCollectionRuleId": "[resourceID('Microsoft.Insights/dataCollectionRules',parameters('dataCollectionRulesName'))]"
        }
        },
        {
        "type": "Microsoft.Compute/virtualMachines/extensions",
        "name": "[concat(parameters('vmName'), '/AMAExtension')]",
        "apiVersion": "2020-06-01",
        "location": "[parameters('location')]",
        "dependsOn": [
            "[resourceId('Microsoft.Compute/virtualMachines/providers/dataCollectionRuleAssociations', parameters('vmName'), 'Microsoft.Insights', parameters('dcraName'))]"
        ],
        "properties": {
            "publisher": "Microsoft.Azure.Monitor",
            "type": "AzureMonitorWindowsAgent",
            "typeHandlerVersion": "1.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
            "authentication": {
                "managedIdentity": {
                "identifier-name": "mi_res_id",
                "identifier-value": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',parameters('identityName'))]"
                }
            }
            }
        }
        }
    ]
    }
    
  4. Sélectionnez Enregistrer.

Résolution des problèmes

Utilisez la section suivante pour résoudre les problèmes d’envoi de données à Event Hubs et Stockage.

Données introuvables dans le stockage de blob du compte de stockage

  • Vérifiez que le rôle intégré Storage Blob Data Contributor est attribué avec l’identité managée sur le compte de stockage.
  • Vérifiez que l’identité managée est attribuée à la machine virtuelle.
  • Vérifiez que les paramètres AMA ont un paramètre d’identité managée.

Données introuvables dans le stockage de la table du compte de stockage

  • Vérifiez que le rôle intégré Storage Table Data Contributor est attribué avec l’identité managée sur le compte de stockage.
  • Vérifiez que l’identité managée est attribuée à la machine virtuelle.
  • Vérifiez que les paramètres AMA ont un paramètre d’identité managée.

Données qui ne transitent pas vers Event Hub

  • Vérifiez que le rôle intégré Azure Event Hubs Data Sender est attribué avec l’identité managée sur l’instance Event Hub.
  • Vérifiez que l’identité managée est attribuée à la machine virtuelle.
  • Vérifiez que les paramètres AMA ont un paramètre d’identité managée.

Convergence AMA et WAD/LAD

L’agent d’analyse Azure prend-il en charge le chargement des données dans Application Insights ?

Non, cette prise en charge ne fait pas partie de la feuille de route. Application Insights est désormais alimenté par les espaces de travail Log Analytics.

L’agent d’analyse Azure prend-il en charge les images mémoire après incident Windows en tant que type de données à charger ?

Non, cette prise en charge ne fait pas partie de la feuille de route. L’agent d’analyse Azure est destiné aux journaux de télémétrie et non aux types de fichiers volumineux.

Cela signifie-t-il que les extensions de diagnostic Linux (LAD) et Windows (WAD) ne sont plus prises en charge/mises hors service ?

LAD et WAD seront mis hors service le 31 mars 2026. Hormis les correctifs de sécurité nécessaires et les corrections de bogues et de régressions, il n’y a pas d’améliorations ni de développement de fonctionnalités prévues pour WAD/LAD. Nous vous recommandons vivement de passer à l’agent Azure Monitor dès que possible.

Comment configurer AMA pour les destinations d’Event Hubs et de données de stockage

Aujourd’hui, l’expérience de configuration consiste à utiliser l’API DCR.

WAD et LAD seront-elles toujours activement développées ?

WAD et LAD ne recevront que des correctifs/de la sécurité à l’avenir. La plupart des fonds d’ingénierie sont consacrés à l’agent d’analyse Azure. Nous vous recommandons vivement de migrer vers l’agent d’analyse Azure pour tirer parti de toutes ses fonctionnalités impressionnantes.

Voir aussi