Collecter des événements et des compteurs de performances à partir de machines virtuelles avec l’agent Azure Monitor

Cet article explique comment collecter des événements et des compteurs de performances à partir de machines virtuelles à l’aide de l’agent Azure Monitor.

Conditions préalables

Pour effectuer cette procédure, vous devez disposer de ce qui suit :

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

Vous pouvez définir une règle de collecte de données pour envoyer des données de plusieurs ordinateurs à plusieurs espaces de travail Log Analytics, y compris les espaces de travail dans une autre région ou locataire. Créez la règle de collecte de données dans la même région que celle où se trouve votre espace de travail Log Analytics. Vous pouvez envoyer les données d’événement Windows et Syslog aux Journaux Azure Monitor uniquement. Vous pouvez envoyer les compteurs de performance à la fois aux Métriques Azure Monitor et aux Journaux Azure Monitor.

Notes

À ce stade, les ressources Microsoft.HybridCompute (serveurs avec Azure Arc) ne peuvent pas être consultées dans Metrics Explorer (l’expérience utilisateur Portail Azure), mais elles peuvent être acquises via l’API REST Metrics (Espaces de noms de métriques : Liste, Définitions de métriques : Liste et Métriques : Liste).

Notes

Pour envoyer des données entre locataires, vous devez d’abord activer Azure Lighthouse.

  1. Dans le menu Monitor, sélectionnez Règles de collecte des données.

  2. Sélectionnez Créer pour créer une règle de collecte de données et des associations.

    Capture d’écran montrant le bouton Créer sur l’écran Règles de collecte de données.

  3. Entrez un nom de règle et spécifiez un abonnement, un groupe de ressources, une région et un type de plateforme.

    • Région spécifie l’emplacement où la règle de collecte de données sera créée. Les machines virtuelles et leurs associations peuvent se trouver dans n’importe quel abonnement ou groupe de ressources dans le locataire.
    • Type de plateforme spécifie le type des ressources auxquelles cette règle peut s’appliquer. L’option Personnalisé permet d’appliquer les types Windows et Linux.

    Capture d’écran montrant l’onglet De base sur l’écran Règle de collecte de données.

  4. Dans l’onglet Ressources :

    1. Sélectionnez + Ajouter des ressources et associez des ressources à la règle de collecte de données. Les ressources peuvent être des machines virtuelles, des groupes de machines virtuelles identiques et Azure Arc pour serveurs. Le portail Azure installe l’agent Azure Monitor 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 vous avez besoin d’un isolement réseau à l’aide de liaisons privées, sélectionnez des points de terminaison existants dans la même région pour les ressources respectives ou créez un point de terminaison.

    2. Sélectionnez Activer les points de terminaison de collecte de données.

    3. Sélectionnez un point de terminaison de collecte de données pour chacune des ressources associées à la règle de collecte de données.

    Capture d’écran montrant l’onglet Ressources de l’écran Règle de collecte de données.

  5. Sous l’onglet Collecter et livrer, sélectionnez Ajouter une source de données pour ajouter une source de données et définir une destination.

  6. Sélectionnez un type de source de données.

  7. Sélectionnez les données que vous souhaitez collecter. Pour les compteurs de performances, vous pouvez sélectionner un jeu d’objets prédéfini et leur taux d’échantillonnage. Pour les événements, vous pouvez sélectionner parmi un ensemble de journaux et de niveaux de gravité.

    Capture d'écran du formulaire du portail Azure permettant de sélectionner les compteurs de performance de base dans une règle de collecte de données.

  8. Sélectionnez Personnalisé pour collecter les journaux et les compteurs de performances qui ne sont pas actuellement des sources de données prises en charge ou pour filtrer les événements à l’aide de requêtes XPath. Vous pouvez ensuite spécifier un XPath pour collecter des valeurs spécifiques. Pour voir un exemple, consultez Exemple de règle de collecte de données.

    Capture d’écran du formulaire du portail Azure permettant de sélectionner les compteurs de performance personnalisés dans une règle de collecte de données.

  9. Sous l’onglet Destination, ajoutez une ou plusieurs destinations pour la 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.

    Vous pouvez envoyer les sources de données d’événement Windows et Syslog aux Journaux Azure Monitor uniquement. Vous pouvez envoyer les compteurs de performance à la fois aux Métriques Azure Monitor et aux Journaux Azure Monitor. À ce stade, les ressources de calcul hybride (Arc pour serveurs) ne prennent pas en charge la destination Métriques Azure Monitor (préversion).

    Capture d’écran du formulaire du portail Azure pour ajouter une source de données dans une règle de collecte de données.

  10. Sélectionnez Ajouter une source de données, puis sélectionnez Vérifier + créer pour passer en revue les détails de la règle de collecte des données et l’association avec l’ensemble de machines virtuelles.

  11. Sélectionnez Créer pour créer la règle de collecte de données.

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/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
    }
   }
}

Remarque

Une fois que vous avez créé la règle de collecte des données, jusqu’à 5 minutes peuvent être nécessaires avant que les données soient envoyées aux destinations.

Filtrer des événements à l’aide de requêtes XPath

Toutes les données que vous collectez dans un espace de travail Log Analytics sont facturées. Par conséquent, vous devez collecter uniquement les données d’événement dont vous avez besoin. La configuration de base dans le Portail Azure vous offre une capacité limitée de filtrer les événements.

Conseil

Pour connaître les stratégies de réduction de vos coûts Azure Monitor, consultez Optimisation des coûts et Azure Monitor.

Pour spécifier des filtres supplémentaires, utilisez la configuration personnalisée et spécifiez un XPath qui filtre les événements dont vous n’avez pas besoin. Les entrées XPath sont écrites sous la forme LogName!XPathQuery. Par exemple, vous pouvez retourner uniquement les événements du journal des événements d’application ayant l’ID d’événement 1035. Le XPathQuery pour ces événements serait *[System[EventID=1035]]. Étant donné que vous souhaitez récupérer les événements du journal des événements de l’application, le XPath est Application!*[System[EventID=1035]].

Extraire des requêtes XPath à partir de l’Observateur d’événements Windows

Dans Windows, vous pouvez utiliser l’Observateur d’événements pour extraire des requêtes XPath, comme indiqué dans les captures d’écran.

Lorsque vous collez la requête XPath dans le champ de l’écran Ajouter une source de données, comme indiqué à l’étape 5, vous devez ajouter la catégorie de type de journal suivie d’un point d’exclamation (« ! »).

Capture d'écran des étapes de création d’une requête XPath dans l’Observateur d’événements Windows.

Conseil

Vous pouvez utiliser la cmdlet PowerShell Get-WinEvent avec le paramètre FilterXPath pour tester la validité d’une requête XPath localement d’abord sur votre machine. Pour plus d’informations, consultez le conseil fourni dans les instructions des connexions basées sur des agents Windows. La cmdlet PowerShell Get-WinEvent prend en charge jusqu’à 23 expressions. Les règles de collecte de données Azure Monitor en prennent en charge jusqu’à 20. Le script suivant donne un exemple :

$XPath = '*[System[EventID=1035]]'
Get-WinEvent -LogName 'Application' -FilterXPath $XPath
  • Dans la cmdlet précédente, la valeur du paramètre -LogName est la portion initiale de la requête XPath jusqu’au point d’exclamation (« ! »). Le reste de la requête XPath passe au paramètre $XPath.
  • Si le script retourne des événements, la requête est valide.
  • Si vous recevez le message « Aucun événement correspondant aux critères de sélection spécifiés n’a été trouvé », il se peut que la requête soit valide, mais qu’il n’existe aucun événement correspondant sur l’ordinateur local.
  • Si vous recevez le message « La requête spécifiée n’est pas valide », la syntaxe de la requête n’est pas valide.

Exemples d’utilisation d’un XPath personnalisé pour filtrer les événements :

Description XPath
Collecter uniquement les événements système avec l’ID d’événement = 4648 System!*[System[EventID=4648]]
Collecter les événements du journal de la sécurité avec l’ID d’événement = 4648 et le nom de processus consent.exe Security!*[System[(EventID=4648)]] and *[EventData[Data[@Name='ProcessName']='C:\Windows\System32\consent.exe']]
Collecter tous les événements critiques, d’erreur, d’avertissement et d’informations à partir du journal des événements système, à l’exception de l’ID d’événement = 6 (pilote chargé) System!*[System[(Level=1 or Level=2 or Level=3) and (EventID != 6)]]
Collecter tous les événements de sécurité de réussite et d’échec, à l’exception de l’ID d’événement 4624 (connexion réussie) Security!*[System[(band(Keywords,13510798882111488)) and (EventID != 4624)]]

Notes

Consultez la page Limitations de XPath 1.0 pour obtenir la liste des limitations dans le XPath pris en charge par le journal des événements Windows.
Par exemple, vous pouvez utiliser les fonctions « position », « Bande » et « timediff » dans la requête, mais d’autres fonctions telles que « commence avec » et « contains » ne sont actuellement pas prises en charge.

Forum aux questions

Cette section fournit des réponses aux questions fréquentes.

Comment puis-je collecter des événements de sécurité Windows en tirant parti de l’agent Azure Monitor ?

Il existe deux façons de collecter des événements de sécurité avec le nouvel agent, lors de l’envoi à un espace de travail Log Analytics :

  • Vous pouvez utiliser l’agent Azure Monitor pour collecter des événements de sécurité en mode natif, de la même façon que d’autres événements Windows. Ceux-ci se dirigent vers la table « Event » dans votre espace de travail Log Analytics.
  • Dans le cas où Microsoft Sentinel est activé sur l’espace de travail, les événements de sécurité sont transférés dans la table SecurityEvent via l’agent Azure Monitor (de la même façon qu’avec l’agent Log Analytics). Ce scénario nécessite que la solution soit toujours préalablement activée.

Si j’utilise l’agent Azure Monitor et l’agent Log Analytics sur le même ordinateur, les événements seront-ils dupliqués ?

Si vous collectez les mêmes événements avec les deux agents, cela engendrera des doublons. Ces doublons peuvent provenir de l’ancien agent qui collecte des données redondantes à partir des données de la configuration de l’espace de travail, collectées par la règle de collecte des données. Vous pouvez également collecter des événements de sécurité avec l’ancien agent et activer les événements de sécurité Windows avec les connecteurs de l’agent Azure Monitor dans Microsoft Sentinel.

Vous pouvez limiter les événements de duplication uniquement au moment de la transition entre deux agents. Une fois que vous avez testé l’intégralité de la règle de collecte des données et vérifié les données collectées, vous devez désactiver la collecte pour l’espace de travail et déconnecter tous les connecteurs de données de Microsoft Monitoring Agent.

L’agent Azure Monitor offre-t-il d’autres options de filtrage d’événements granulaires outre les requêtes Xpath et la spécification de compteurs de performances ?

Pour des événements Syslog sous Linux, vous pouvez sélectionner des installations et le niveau de journalisation pour chaque installation.

Si je crée des règles de collecte de données qui contiennent le même ID d’événement et que je les associe à la même machine virtuelle, ces événements sont-ils dupliqués ?

Oui. Pour éviter les doublons, assurez-vous que la sélection d’événements que vous effectuez dans vos règles de collecte de données ne contient pas d’événements en double.

Étapes suivantes