Partager via


Activer la surveillance des machines virtuelles dans Azure Monitor

Cet article explique comment activer la surveillance des machines virtuelles, des groupes de machines virtuelles identiques et des serveurs avec Arc à grande échelle à l’aide d’outils en ligne de commande qui vous permettent d’utiliser des outils d’infrastructure en tant qu’outils de code (IaC) et des méthodes d’automatisation. Ces méthodes vous permettent de déployer de manière cohérente la surveillance sur votre flotte de machines virtuelles et d’intégrer la configuration de supervision dans vos pipelines DevOps.

Note

Machines prises en charge

  • Machines virtuelles Azure
  • Groupes de machines virtuelles identiques Azure
  • Serveurs avec Arc

Pour obtenir la liste des systèmes d’exploitation pris en charge, consultez les systèmes d’exploitation pris en charge par l’agent Azure Monitor.

Prerequisites

Aperçu

L’activation de la supervision complète en collectant des données à partir du système d’exploitation invité et des charges de travail d’une machine virtuelle par Azure Monitor implique trois étapes, comme indiqué dans le tableau suivant. Lorsque vous activez une surveillance améliorée ou créez une DCR dans le portail Azure, chacune de ces étapes est effectuée automatiquement pour vous.

Étape Description
Installer l’agent Azure Monitor L’agent doit être installé sur chaque machine virtuelle à surveiller. Cette opération ne doit être effectuée qu’une seule fois, car l’agent peut utiliser n’importe quel nombre de contrôleurs de domaine qui collectent chacune des données différentes.
Créer des règles de collecte de données (DCR) Chaque DCR spécifie les données à collecter et à l’endroit où l’envoyer. Vous pouvez créer vos propres contrôleurs de domaine ou utiliser des contrôleurs de domaine existants en fonction de vos besoins. Vous devez comprendre les différents types de DCR et leurs objectifs afin de déterminer lesquels utiliser.
Associer des contrôleurs de domaine aux machines virtuelles Lorsque vous créez une association entre une machine virtuelle et une DCR, l’agent télécharge cette DCR et commence la collecte de données. Créez des associations avec plusieurs DCR afin que l’agent puisse collecter différents types de données. Supprimez les associations pour arrêter la collecte de données.

Note

Pour activer la surveillance à grande échelle à l’aide d’Azure Policy, consultez Activer VM Insights à l’aide d’Azure Policy.

Installer l’agent Azure Monitor

La première étape consiste à installer l’extension de l’agent Azure Monitor sur vos machines virtuelles et vos serveurs avec Arc.

Machine virtuelle Azure

# Windows
az vm extension set \
  --name AzureMonitorWindowsAgent \
  --publisher Microsoft.Azure.Monitor \
  --vm-name <vm-name> \
  --resource-group <resource-group>

#  Linux
az vm extension set \
  --name AzureMonitorLinuxAgent \
  --publisher Microsoft.Azure.Monitor \
  --vm-name <vm-name> \
  --resource-group <resource-group>

Serveur activé par Arc

# Windows
az connectedmachine extension create \
  --name AzureMonitorWindowsAgent \
  --publisher Microsoft.Azure.Monitor \
  --type AzureMonitorWindowsAgent \
  --machine-name <arc-server-name> \
  --resource-group <resource-group> \
  --location <location>

# Linux
az connectedmachine extension create \
  --name AzureMonitorLinuxAgent \
  --publisher Microsoft.Azure.Monitor \
  --type AzureMonitorLinuxAgent \
  --machine-name <arc-server-name> \
  --resource-group <resource-group> \
  --location <location>

Groupe de machines virtuelles identiques

# Windows
az vmss extension set \
  --name AzureMonitorWindowsAgent \
  --publisher Microsoft.Azure.Monitor \
  --vmss-name <vmss-name> \
  --resource-group <resource-group>

# Linux
az vmss extension set \
  --name AzureMonitorLinuxAgent \
  --publisher Microsoft.Azure.Monitor \
  --vmss-name <vmss-name> \
  --resource-group <resource-group>

Créer des règles de collecte de données

Les règles de collecte de données définissent les données à collecter à partir de l’agent Azure Monitor et l’emplacement où l’envoyer. Créez des associations avec plusieurs DCR afin que l’agent puisse collecter différents types de données. Certains contrôleurs de domaine activent des fonctionnalités dans le portail Azure, telles que l’expérience de supervision améliorée pour les machines virtuelles, tandis que d’autres collectent des types spécifiques de journaux ou de métriques que vous pouvez utiliser pour l’analyse ou les alertes.

Les DCRs sont structurés en JSON. Lorsque vous créez des contrôleurs de domaine à l’aide du portail Azure, vous ne devez pas connaître la structure DCR. Vous devrez peut-être comprendre la structure DCR pour créer des contrôleurs de domaine à partir de zéro ou ajouter des fonctionnalités avancées aux contrôleurs de domaine existants, comme l’ajout d’une transformation.

Le tableau suivant décrit les types DCR les plus courants utilisés pour la surveillance des machines virtuelles. Pour obtenir la liste complète des types DCR et de leurs structures, consultez la structure des règles de collecte de données. Pour plus d’informations sur la création de règles de collecte de données, consultez les règles de collecte de données : Créer et modifier.

Type d’DCR Description
Métriques OpenTelemetry Collecte les compteurs de performances au niveau du système à l’aide des normes OpenTelemetry. Active l’expérience basée sur les métriques pour la surveillance des machines virtuelles dans le portail Azure. Utilisez la définition DCR ci-dessous. Modifiez la counterSpecifiers section pour ajouter des métriques à collecter. Consultez Personnaliser les métriques OpenTelemetry pour les machines virtuelles Azure.
Métriques basées sur les logs Collecte des compteurs de performances prédéfinis dans un espace de travail de Log Analytics. Active l’expérience classique basée sur les journaux dans le portail Azure. Utilisez la définition DCR ci-dessous. Cette DCR ne doit pas être modifiée.
Journaux de bord Collectez différents types de journaux d’activité à partir de la machine virtuelle, y compris les événements Windows et Syslog. Ces règles de collecte de données n’activent pas d’expériences supplémentaires dans Azure Monitor, mais elles peuvent être analysées dans Log Analytics et utilisées pour créer des alertes. VoirCollecte des journaux invités à partir des machines virtuelles avec Azure Monitor pour une description des différentes sources de données disponibles. VoirExemples de règles de collecte de données (DCR) dans Azure Monitor pour des définitions DCR d’exemple pour la collecte de journaux.„”

Utilisez les définitions DCR suivantes pour activer la surveillance améliorée pour une machine virtuelle. La seule modification nécessaire consiste à mettre à jour l’espace de travail d’emplacement et de destination dans chaque définition pour pointer vers votre espace de travail Azure Monitor pour les métriques OpenTelemetry ou votre espace de travail Log Analytics pour les métriques basées sur les journaux.

Expérience métrique (aperçu)
{
  "location": "<location>",
  "properties": {
    "dataSources": {
      "performanceCountersOTel": [
        {
          "streams": "Microsoft-OtelPerfMetrics",
          "samplingFrequencyInSeconds": 60,
          "counterSpecifiers": [
              "system.filesystem.usage",
              "system.disk.io",
              "system.disk.operation_time",
              "system.disk.operations",
              "system.memory.usage",
              "system.network.io",
              "system.cpu.time",
              "system.network.dropped",
              "system.network.errors",
              "system.uptime"
          ],
          "name": "OtelPerfCounters"
        }
      ]
    },
    "destinations": {
      "monitoringAccounts": [
        {
          "accountResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Monitor/accounts/<workspace-name>",
          "name": "MonitoringAccount"
        }
      ]
    },
    "dataFlows": [
      {
        "streams": [
            "Microsoft-OtelPerfMetrics"
        ],
        "destinations": [
            "MonitoringAccount"
        ]
      }
    ]
  }
}
Expérience basée sur les logs (classique)
{
    "location": "<location>",
    "properties": {
        "description": "Data collection rule for VM Insights.",
        "dataSources": {
            "performanceCounters": [
                {
                    "name": "VMInsightsPerfCounters",
                    "streams": [
                        "Microsoft-InsightsMetrics"
                    ],
                    "scheduledTransferPeriod": "PT1M",
                    "samplingFrequencyInSeconds": 60,
                    "counterSpecifiers": [
                        "\\VmInsights\\DetailedMetrics"
                    ]
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>",
                    "name": "VMInsightsPerf-Logs-Dest"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft-InsightsMetrics"
                ],
                "destinations": [
                    "VMInsightsPerf-Logs-Dest"
                ]
            }
        ]
    }
}

Enregistrez la définition DCR dans un fichier JSON et utilisez-la pour créer une DCR avec les commandes suivantes.

az monitor data-collection rule create \
  --name <dcr-name> \
  --resource-group <resource-group> \
  --location <location> \
  --rule-file <path-to-json-file>

Associer les DCR aux machines virtuelles

La dernière étape consiste à créer des associations entre vos contrôleurs de domaine et vos machines virtuelles. Cela active les contrôleurs de domaine et indique à l’agent Azure Monitor de commencer à collecter des données en fonction des règles définies dans la DCR. Vous pouvez créer plusieurs associations pour une machine virtuelle si vous souhaitez collecter différents types de données. Vous pouvez également supprimer des associations pour arrêter la collecte de données à partir de contrôleurs de domaine spécifiques sans affecter d’autres associations ou l’agent lui-même.

Machine virtuelle Azure

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/microsoft.insights/datacollectionrules/<dcr-name>
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachines/<vm-name>

Ensemble de machines virtuelles Azure (VM scale set)

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/microsoft.insights/datacollectionrules/<dcr-name>
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Compute/virtualMachines/<vm-name>

Serveur activé par Arc

az monitor data-collection rule association create \
  --name "dcr-association" \
  --rule-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/microsoft.insights/datacollectionrules/<dcr-name> \
  --resource /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HybridCompute/machines/<arc-server-name>

Activer l’isolement réseau

Il existe deux méthodes d’isolation réseau que VM Insights prend en charge, comme décrit dans le tableau suivant.

Méthode Description
Lien privé Consultez Activer l’isolation réseau pour l’agent Azure Monitor à l’aide de Private Link.
Périmètre de sécurité réseau Consultez Configurer Azure Monitor avec le périmètre de sécurité réseau.