Condividi tramite


Estensione macchina virtuale Dependency Agent di Monitoraggio di Azure per Linux

La funzionalità di mappa di Monitoraggio di Azure per le macchine virtuali ottiene i dati da Microsoft Dependency Agent. L'estensione della macchina virtuale Dependency Agent VM di Azure per Linux installa il Dependency Agent nelle macchine virtuali di Azure. Questo documento descrive in dettaglio le piattaforme, le configurazioni e le opzioni di distribuzione supportate per l'estensione macchina virtuale Dependency Agent VM di Azure per Linux.

Prerequisiti

Sistema operativo

Poiché Dependency Agent della macchina virtuale di Azure funziona a livello di kernel, il supporto del sistema operativo dipende anche dalla versione di quest’ultimo elemento. A partire dalla versione di Dependency Agent 9.10.*, l'agente supporta * kernel. La tabella seguente elenca la versione principale e secondaria del sistema operativo Linux e le versioni del kernel supportate per Dependency Agent.

Nota

Con Dependency Agent 9.10.15 e versioni successive, l'installazione non viene bloccata per le versioni del kernel non supportate, ma l'agente funzionerà in modalità ridotta. In questa modalità i dati di connessione e porta archiviati nelle tabelle VMConnection e VMBoundport non vengono raccolti. La tabella VMProcess potrebbe contenere alcuni dati, ma in misura minima.

Distribuzione Versione sistema operativo Versione del kernel
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
Ubuntu Server 20.04 5.8
5.4*
18,04 5.3.0-1020
5.0 (include kernel ottimizzati per 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.*-generico
4.4.*-generico
SUSE Linux 12 Enterprise Server 12 SP5 4.12.14-122.*-default, 4.12.14-16.*-azure
12 SP4 4.12* (include kernel ottimizzati per 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.* (impostazione predefinita)
Debian 9 4.9

Nota

Dependency Agent non è supportato per le macchine virtuali di Azure con processori Ampere Altra basati su ARM.

Schema dell'estensione

Il codice JSON seguente visualizza lo schema dell'estensione Dependency Agent VM di Azure in una macchina virtuale Linux di 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": {
    }
}

Valori delle proprietà

Nome Valore/Esempio
apiVersion 01-01-2015
publisher Microsoft.Azure.Monitoring.DependencyAgent
type DependencyAgentLinux
typeHandlerVersion 9,5
settings "enableAMA": "true"

Importante

Assicurarsi di aggiungere enableAMA al modello se si usa l'agente di Monitoraggio di Azure. In caso contrario, Dependency Agent tenta di inviare dati all'agente di Log Analytics legacy.

Distribuzione modelli

Le estensioni macchina virtuale di Azure possono essere distribuite con i modelli di Azure Resource Manager. È possibile usare lo schema JSON descritto nella sezione precedente in un modello di Azure Resource Manager per eseguire l'estensione Dependency Agent VM di Azure durante la distribuzione di un modello di Azure Resource Manager.

Il modello JSON per un'estensione macchina virtuale può essere annidato nella risorsa della macchina virtuale. In alternativa, è possibile posizionarlo al livello radice o al livello superiore di un modello JSON di Resource Manager. Il posizionamento di JSON influisce sul valore del nome e tipo di risorsa. Per altre informazioni, vedere Set name and type for child resources (Impostare il nome e il tipo per le risorse figlio).

L'esempio seguente presuppone che l'estensione Dependency Agent sia annidata nella risorsa della macchina virtuale. Quando si annida la risorsa di estensione, l'elemento JSON viene inserito nell'oggetto "resources": [] della macchina virtuale.

{
	"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"
        }
	}
}

Quando si inserisce il codice JSON dell'estensione nella radice del modello, il nome della risorsa include un riferimento alla macchina virtuale padre. Il tipo riflette la configurazione nidificata.

{
	"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"
        }
	}
}

Distribuzione dell'interfaccia della riga di comando di Azure

È possibile usare l'interfaccia della riga di comando di Azure per distribuire l'estensione Dependency Agent VM in una macchina virtuale esistente.


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

Aggiornamento automatico delle estensioni

È ora disponibile una nuova funzionalità per aggiornare automaticamente le versioni secondarie dell'estensione Dependency.

Per abilitare l'aggiornamento automatico dell'estensione per un'estensione, è necessario assicurarsi che la proprietà enableAutomaticUpgrade sia impostata su true e aggiunta al modello dell'estensione. Questa proprietà deve essere abilitata singolarmente su ogni macchina virtuale o set di scalabilità di macchine virtuali. Usare uno dei metodi descritti nella sezione abilitazione per abilitare la funzionalità per la macchina virtuale o il set di scalabilità di macchine virtuali.

Quando l'aggiornamento automatico delle estensioni è abilitato in una macchina virtuale o in un set di scalabilità di macchine virtuali, l'estensione viene aggiornata automaticamente ogni volta che l'editore dell'estensione rilascia una nuova versione per tale estensione. L'aggiornamento viene applicato in modo sicuro seguendo i principi dell'aggiornamento basato sulla disponibilità, come descritto qui.

La funzionalità dell'attributo enableAutomaticUpgrade è diversa da quella della autoUpgradeMinorVersion. L'attributo autoUpgradeMinorVersion non attiva automaticamente un aggiornamento della versione secondaria quando il server di pubblicazione dell'estensione rilascia una nuova versione. L'attributo autoUpgradeMinorVersion indica se l'estensione deve usare una versione secondaria più recente, se disponibile in fase di distribuzione. Dopo la distribuzione, tuttavia, l'estensione non aggiornerà le versioni secondarie a meno che venga ridistribuita, anche con questa proprietà impostata su true.

Per mantenere aggiornata la versione dell'estensione, è consigliabile usare enableAutomaticUpgrade con la distribuzione dell'estensione.

Importante

Se si aggiunge enableAutomaticUpgrade al modello, assicurarsi di usare l'API versione 2019-12-01 o successiva.

Risoluzione dei problemi e supporto

Risoluzione dei problemi

I dati sullo stato delle distribuzioni dell'estensione possono essere recuperati nel portale di Azure e tramite l'interfaccia della riga di comando di Azure. Per visualizzare lo stato di distribuzione delle estensioni per una determinata macchina virtuale, eseguire il comando seguente nell'interfaccia della riga di comando di Azure:

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

L'output dell'esecuzione dell'estensione viene registrato nel file seguente:

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

Supporto tecnico

Per ricevere assistenza in relazione a qualsiasi punto di questo articolo, contattare gli esperti di Azure nei forum Domande e risposte Microsoft e Stack Overflow. È anche possibile registrare un evento imprevisto del supporto tecnico di Azure. Accedere al sito del supporto di Azure e selezionare Ottenere supporto. Per informazioni sull'uso del supporto di Azure, leggere le Domande frequenti sul supporto di Azure.