Abilitare il monitoraggio delle macchine virtuali in Monitoraggio di Azure

Questo articolo descrive come abilitare il monitoraggio per macchine virtuali, set di scalabilità di macchine virtuali e server abilitati per Arc su larga scala usando gli strumenti da riga di comando. Usando questi strumenti, è possibile usare strumenti e metodi di automazione dell'infrastruttura come codice (IaC). Questi metodi consentono di distribuire in modo coerente il monitoraggio nella flotta di macchine virtuali e integrare la configurazione di monitoraggio nelle pipeline DevOps.

Annotazioni

Computer supportati

  • Macchine virtuali di Azure
  • Set di scalabilità di macchine virtuali di Azure
  • Server con abilitazione di Arc

Per un elenco dei sistemi operativi supportati, vedere Sistemi operativi supportati dall'agente di Monitoraggio di Azure.

Prerequisiti

  • area di lavoro di Monitoraggio di Azure se si abilitano le metriche OpenTelemetry (esperienza consigliata per le nuove distribuzioni nelle macchine virtuali di Azure e nei server abilitati per Arc). Vedere Creare un'area di lavoro di Monitoraggio di Azure.
  • Area di lavoro Log Analytics se si abilitano le metriche basate su log o si raccolgono i log. Le metriche basate sui log sono l'esperienza classica e vengono in genere usate per la compatibilità con le implementazioni esistenti. Vedere Creare un'area di lavoro Log Analytics.
  • Autorizzazioni per creare regole di raccolta dati e associarle alle macchine virtuali. Vedere Autorizzazioni per le regole di raccolta dati.
  • Identità gestita per gli avvisi delle metriche basati su query se si creano regole di avviso per le metriche OpenTelemetry nell'area di lavoro Monitoraggio di Azure. Usare un'identità gestita assegnata dall'utente e concedere le autorizzazioni necessarie, come descritto in Panoramica degli avvisi delle metriche basati su query (anteprima).
  • Agente di Azure Connected Machine se si monitora le macchine virtuali ospitate all'esterno di Azure. È necessario installare l'agente Connected Machine in modo che il computer possa essere gestito tramite server abilitati per Azure Arc prima di poter installare l'agente di Monitoraggio di Azure e abilitare il monitoraggio. Vedere Connettere un computer ai server abilitati per Arc.

Informazioni generali

Per abilitare il monitoraggio completo raccogliendo dati dal sistema operativo guest e dai carichi di lavoro di una macchina virtuale da Monitoraggio di Azure, completare i tre passaggi illustrati nella tabella seguente. Quando si abilita il monitoraggio avanzato o si crea un record di dominio nel portale di Azure, il portale completa automaticamente ognuno di questi passaggi.

Passo Descrizione
Installare l'agente di Monitoraggio di Azure Installare l'agente in ogni macchina virtuale da monitorare. È necessario installare l'agente una sola volta perché può usare un numero qualsiasi di controller di dominio che raccolgono dati diversi.
Creare regole di raccolta dati Ogni DCR specifica i dati da raccogliere e dove inviarli. È possibile creare controller di dominio personalizzati o usarne uno esistente a seconda dei requisiti. È necessario comprendere i diversi tipi di controller di dominio e i relativi scopi per determinare quali usare.
Associare DCR alle macchine virtuali Quando si crea un'associazione tra una macchina virtuale e un DCR, l'agente scarica quel DCR e avvia la raccolta dei dati. Creare associazioni con più DCR per consentire all'agente di raccogliere tipi diversi di dati. Rimuovere le associazioni per arrestare la raccolta dei dati.

Annotazioni

Usare le opzioni seguenti per abilitare il monitoraggio per le macchine virtuali su larga scala:

Il monitoraggio è incluso nella gestione delle macchine essenziali che abilita automaticamente più funzionalità di gestione per le macchine virtuali. Vedere Informazioni di base sulla gestione dei computer.

Per abilitare il monitoraggio su larga scala con Criteri di Azure, vedere Abilitare informazioni dettagliate sulle macchine virtuali con Criteri di Azure.

Installare l'agente di Monitoraggio di Azure

Il primo passaggio consiste nell'installare l'estensione Monitoraggio di Azure Agent nelle macchine virtuali e nei server abilitati per Arc. L'esempio seguente installa l'agente in una macchina virtuale Azure usando il interfaccia della riga di comando di Azure:

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

Per il set completo di opzioni di installazione, tra cui Linux, set di scalabilità di macchine virtuali, server con abilitazione di Arc, PowerShell, il portale di Azure, i modelli di Azure Resource Manager e l'aggiornamento automatico, vedere Installare e gestire l'agente Monitoraggio di Azure.

Creare regole di raccolta dati

Le regole di raccolta dati definiscono i dati da raccogliere dall'agente di Monitoraggio di Azure e dove inviarli. È possibile creare diversi tipi di DCR a seconda di cosa si desidera monitorare. Alcune controller di dominio consentono funzionalità nel portale di Azure, ad esempio l'esperienza di monitoraggio avanzata per le macchine virtuali, mentre altre raccolgono tipi specifici di log o metriche che è possibile usare per l'analisi o l'invio di avvisi.

I DCR sono strutturati in JSON. Quando si creano Regole di Raccolta Dati (DCR) usando il portale di Azure, non è necessaria alcuna conoscenza della struttura DCR. Potrebbe essere necessario comprendere la struttura DCR comunque per creare DCR da zero o per aggiungere funzionalità avanzate ai DCR esistenti, come ad esempio l'aggiunta di una trasformazione.

Quando si esegue l'onboarding dal portale di Azure, il comportamento predefinito consiste nel creare nuovi controller di dominio per la configurazione di monitoraggio selezionata. In alternativa, è possibile selezionare un DCR esistente per semplificare la configurazione del monitoraggio. Se la configurazione invia dati a un'area di lavoro Monitoraggio di Azure e a un'area di lavoro Log Analytics nella stessa area, l'onboarding tenta di usare un singolo record di dominio per entrambe le destinazioni.

L'onboarding dal portale di Azure può includere anche metriche OpenTelemetry per processo, avvisi consigliati e dashboard con Grafana. Per informazioni dettagliate su questo flusso di lavoro del portale, vedere Tutorial: Abilitare il monitoraggio avanzato per una macchina virtuale Azure.

La tabella seguente descrive i tipi DCR più comuni usati per il monitoraggio delle macchine virtuali. Per un elenco completo dei tipi DCR e delle relative strutture, vedere Struttura delle regole di raccolta dati. Per dettagli sulla creazione delle regole di raccolta dati, vedere Regole di raccolta dati: Creare e modificare.

Tipo DCR Descrizione
Metriche di OpenTelemetry Raccoglie i contatori delle prestazioni a livello di sistema usando gli standard OpenTelemetry. Questa opzione è il percorso delle metriche consigliate per le nuove distribuzioni di monitoraggio delle macchine virtuali nel portale di Azure. Usare la definizione DCR nella sezione seguente. Modificare la counterSpecifiers sezione per aggiungere le metriche da raccogliere. Vedere Personalizzare le metriche OpenTelemetry per le macchine virtuali di Azure.
Metriche basate su log Raccoglie i contatori delle prestazioni predefiniti in un'area di lavoro Log Analytics. Abilita l'esperienza classica basata sui log nel portale di Azure. Usare la definizione DCR nella sezione seguente. Non modificare questo DCR.
Registri Raccogliere diversi tipi di log dalla macchina virtuale, inclusi gli eventi di Windows e Syslog. Queste controller di dominio non abilitano esperienze aggiuntive in Monitoraggio di Azure, ma è possibile analizzarle usando Log Analytics e usarle per l'invio di avvisi. Per una descrizione delle diverse origini dati disponibili, consultare Raccogli dati di log guest da macchine virtuali con Monitoraggio di Azure. Vedere esempi di regole di raccolta dati (DCR) in Monitoraggio di Azure per esempi di definizioni DCR per la raccolta di log.

Usare le definizioni DCR seguenti per abilitare il monitoraggio avanzato per una macchina virtuale. L'unica modifica necessaria consiste nell'aggiornare la posizione e l'area di lavoro di destinazione in ogni definizione in modo che punti all'area di lavoro monitoraggio di Azure per le metriche OpenTelemetry o l'area di lavoro Log Analytics per le metriche basate sui log.

Esperienza basata su metriche (anteprima)
{
  "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"
        ]
      }
    ]
  }
}
Esperienza basata su registri (versione classica)
{
    "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"
                ]
            }
        ]
    }
}

Salvare la definizione DCR in un file JSON. Per i comandi dell'interfaccia della riga di comando, di PowerShell, dell'API e del portale per creare un DCR da un file JSON, vedere Creare regole di raccolta dati usando JSON.

Associare DCR alle macchine virtuali

Il passaggio finale consiste nel creare associazioni tra i DCR e le VM. Questo passaggio attiva i DCR e indica all'agente di Monitoraggio di Azure di iniziare a raccogliere i dati in base alle regole definite nel DCR. È possibile creare più associazioni per una macchina virtuale se si vogliono raccogliere tipi diversi di dati. È anche possibile rimuovere le associazioni per arrestare la raccolta di dati da controller di dominio specifici senza influire sulle altre associazioni o sull'agente stesso.

Macchina virtuale di 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>

Set di scalabilità di macchine virtuali di Azure

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/virtualMachineScaleSets/<vmss-name>

Server con abilitazione di 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>

Abilitare l'isolamento di rete

VM Insights supporta due metodi di isolamento della rete, come descritto nella tabella seguente.

metodo Descrizione
Collegamento privato Vedere Abilitare l'isolamento di rete per l'agente di Monitoraggio di Azure tramite collegamento privato. Questo metodo non è attualmente supportato per la raccolta basata su metriche.
Perimetro di sicurezza della rete Vedere Configurare Monitoraggio di Azure con perimetro di sicurezza di rete.