Extension de machine virtuelle Azure Monitor Dependency pour Linux

La fonctionnalité Azure Monitor pour machines virtuelles Map obtient ses données à partir de l’agent Microsoft Dependency. L’extension de machine virtuelle de l’agent de dépendance de machine virtuelle Azure pour Linux installe l’agent de dépendance sur les machines virtuelles Azure. Ce document présente les plateformes, configurations et options de déploiement prises en charge pour l’extension de machine virtuelle Azure VM Dependency pour Linux.

Prérequis

Système d’exploitation

Parce que Dependency Agent sur la machine virtuelle Azure fonctionne au niveau du noyau, la prise en charge du système d’exploitation dépend aussi de la version du noyau. À partir de la version 9.10.* de Dependency Agent, l’agent prend en charge les noyaux *. Le tableau suivant liste les versions majeures et mineures du système d’exploitation Linux ainsi que les versions de noyau prises en charge pour Dependency Agent.

Notes

Avec Dependency Agent 9.10.15 et versions ultérieures, l’installation n’est pas bloquée pour les versions de noyau non prises en charge, mais l’agent s’exécute en mode dégradé. Dans ce mode, les données de connexion et de port stockées dans les tables VMConnection et VMBoundport ne sont pas collectées. La table VMProcess peut contenir des données, mais elles seront minimales.

Distribution Version du SE Version du noyau
Red Hat Linux 8 8,6 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64
8.5 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64
8,4 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64
8.3 4.18.0-240.*el8_3.x86_64
8,2 4.18.0-193.*el8_2.x86_64
8.1 4.18.0-147.*el8_1.x86_64
8.0 4.18.0-80.*el8.x86_64
4.18.0-80.*el8_0.x86_64
Red Hat Linux 7 7.9 3.10.0-1160
7.8 3.10.0-1136
7,7 3.10.0-1062
7.6 3.10.0-957
7.5 3.10.0-862
7.4 3.10.0-693
Red Hat Linux 6 6.10 2.6.32-754
6.9 2.6.32-696
CentOS Linux 8 8,6 4.18.0-372.*el8.x86_64, 4.18.0-372.*el8_6.x86_64
8.5 4.18.0-348.*el8_5.x86_644.18.0-348.*el8.x86_64
8,4 4.18.0-305.*el8.x86_64, 4.18.0-305.*el8_4.x86_64
8.3 4.18.0-240.*el8_3.x86_64
8,2 4.18.0-193.*el8_2.x86_64
8.1 4.18.0-147.*el8_1.x86_64
8.0 4.18.0-80.*el8.x86_64
4.18.0-80.*el8_0.x86_64
CentOS Linux 7 7.9 3.10.0-1160
7.8 3.10.0-1136
7,7 3.10.0-1062
CentOS Linux 6 6.10 2.6.32-754.3.5
2.6.32-696.30.1
6.9 2.6.32-696.30.1
2.6.32-696.18.7
Serveur Ubuntu 20.04 5.8
5.4*
18,04 5.3.0-1020
5.0 (inclut un noyau optimisé pour Azure)
4.18*
4.15*
16.04.3 4.15.*
16.04 4.13.*
4.11.*
4.10.*
4.8.*
4.4.*
14.04 3.13.*-generic
4.4.*-generic
SUSE Linux 12 Enterprise Server 12 SP5 4.12.14-122.*-default, 4.12.14-16.*-azure
12 SP4 4.12.* (inclut un noyau optimisé pour Azure)
12 SP3 4.4.*
12 SP2 4.4.*
SUSE Linux 15 Enterprise Server 15 SP1 4.12.14-197.*-default, 4.12.14-8.*-azure
15 4.12.14-150.*-default
Debian 9 4,9

Notes

L’agent de dépendance n’est pas pris en charge pour les machines virtuelles Azure avec des processeurs ARM Ampere Altra.

Schéma d’extensions

Le JSON suivant montre le schéma de l’extension de l’agent Azure VM Dependency sur une machine virtuelle Linux Azure.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "vmName": {
        "type": "string",
        "metadata": {
            "description": "The name of existing Linux Azure VM."
      }
    }
  },
  "variables": {
      "vmExtensionsApiVersion": "2017-03-30"
  },
  "resources": [
    {
      "type": "Microsoft.Compute/virtualMachines/extensions",
      "name": "[concat(parameters('vmName'),'/DAExtension')]",
      "apiVersion": "[variables('vmExtensionsApiVersion')]",
      "location": "[resourceGroup().location]",
      "dependsOn": [],
      "properties": {
          "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
          "type": "DependencyAgentLinux",
          "typeHandlerVersion": "9.5",
          "autoUpgradeMinorVersion": true,
          "settings": {
              "enableAMA": "true"
        }
      }
    }
  ],
    "outputs": {
    }
}

Valeurs de propriétés

Nom Valeur/Exemple
apiVersion 2015-01-01
publisher Microsoft.Azure.Monitoring.DependencyAgent
type DependencyAgentLinux
typeHandlerVersion 9.5
paramètres "enableAMA": "true"

Important

Veillez à ajouter enableAMA à votre modèle si vous utilisez l’agent Azure Monitor ; sinon, l’agent de dépendance tente d’envoyer des données à l’agent Log Analytics hérité.

Déploiement de modèle

Vous pouvez déployer les extensions de machines virtuelles Azure avec des modèles Azure Resource Manager. Vous pouvez utiliser le schéma JSON détaillé dans la section précédente dans un modèle Azure Resource Manager pour exécuter l’extension de l’agent Azure VM Dependency pendant un déploiement de modèle Azure Resource Manager.

Le JSON d’une extension de machine virtuelle peut être imbriqué à l’intérieur de la ressource de machine virtuelle. Vous pouvez également le placer à la racine ou au niveau supérieur d’un modèle JSON Resource Manager. Le positionnement du JSON affecte la valeur du nom de la ressource et son type. Pour plus d’informations, consultez Définition du nom et du type des ressources enfants.

L’exemple suivant suppose que l’extension de l’agent Dependency est imbriquée dans la ressource de machine virtuelle. Lors de l’imbrication de la ressource d’extension, le JSON est placé dans l’objet "resources": [] de la machine virtuelle.

{
	"type": "extensions",
	"name": "DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
      "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentLinux",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "enableAMA": "true"
        }
	}
}

Lorsque vous placez l’extension JSON à la racine du modèle, le nom de ressource inclut une référence à la machine virtuelle parente. Le type reflète la configuration imbriquée.

{
	"type": "Microsoft.Compute/virtualMachines/extensions",
	"name": "<parentVmResource>/DAExtension",
	"apiVersion": "[variables('apiVersion')]",
	"location": "[resourceGroup().location]",
	"dependsOn": [
      "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
	],
	"properties": {
        "publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
        "type": "DependencyAgentLinux",
        "typeHandlerVersion": "9.5",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "enableAMA": "true"
        }
	}
}

Déploiement de l’interface de ligne de commande Azure

Vous pouvez utiliser l’interface de ligne de commande Azure pour déployer l’extension de machine virtuelle de l’agent Dependency sur une machine virtuelle existante.


az vm extension set \
    --resource-group myResourceGroup \
    --vm-name myVM \
    --name DependencyAgentLinux \
    --publisher Microsoft.Azure.Monitoring.DependencyAgent \
    --version 9.5

Mise à niveau automatique des extensions

Une nouvelle fonctionnalité de mise à niveau automatique des versions mineures de l’extension Dependency est désormais disponible.

Pour activer la mise à niveau automatique pour une extension, vous devez vous assurer que la propriété enableAutomaticUpgrade est définie sur true et ajoutée au modèle d’extension. Cette propriété doit être activée sur chaque machine virtuelle ou groupe identique de machines virtuelles individuellement. Utilisez l’une des méthodes décrites dans la section activation pour activer la fonctionnalité pour votre machine virtuelle ou votre groupe identique de machines virtuelles.

Lorsque la mise à niveau automatique des extensions est activée sur une machine virtuelle ou un groupe identique de machines virtuelles, l’extension est automatiquement mise à niveau chaque fois que l’éditeur de l’extension publie une nouvelle version pour cette extension. La mise à niveau est appliquée en toute sécurité selon les principes de première disponibilité, comme décrit ici.

Le fonctionnement de l’attribut enableAutomaticUpgrade est différent de celui de autoUpgradeMinorVersion. L’attribut autoUpgradeMinorVersion ne déclenche pas automatiquement une mise à jour de version mineure lorsque l’éditeur d’extension publie une nouvelle version. L’attribut autoUpgradeMinorVersion indique si l’extension doit utiliser une version mineure plus récente si celle-ci est disponible au moment du déploiement. Cependant, une fois déployée, l’extension ne mettra pas à jour les versions mineures à moins d’être redéployée, même si cette propriété est définie sur true.

Pour maintenir la version de votre extension à jour, nous vous recommandons d’utiliser enableAutomaticUpgrade pour le déploiement de votre extension.

Important

Si vous ajoutez enableAutomaticUpgrade à votre modèle, assurez-vous d’utiliser l’API version 2019-12-01 ou version ultérieure.

Dépannage et support technique

Dépanner

Vous pouvez récupérer les données sur l’état des déploiements d’extension à partir du portail Azure et à l’aide de l’interface de ligne de commande Azure. Pour afficher l’état du déploiement des extensions pour une machine virtuelle donnée, exécutez la commande suivante à l’aide de l’interface de ligne de commande Azure :

az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

La sortie de l’exécution de l’extension est enregistrée dans le fichier suivant :

/var/opt/microsoft/dependency-agent/log/install.log

Assistance technique

Si vous avez besoin d’une aide supplémentaire à quelque étape que ce soit dans cet article, contactez les experts Azure sur les forums Microsoft Q&A et Stack Overflow. Vous pouvez également signaler un incident au support Azure. Accédez au site du support Azure , puis cliquez sur Obtenir un support. Pour plus d’informations sur l’utilisation du support Azure, lisez le FAQ du support Microsoft Azure.