Condividi tramite


Indicazioni sulla risoluzione dei problemi per l'agente di Monitoraggio di Azure in macchine virtuali e set di scalabilità Linux

Panoramica dell'agente di Monitoraggio di Azure

Prima di continuare a leggere, è necessario avere familiarità con l'agente di Monitoraggio di Azure e le regole di raccolta dati.

Terminologia

Nome Acronimo Descrizione
Agente di Monitoraggio di Azure AMA Nuovo agente di Monitoraggio di Azure
Regole di raccolta dati DCR Regole per configurare la raccolta di dati da parte dell'agente, ad esempio cosa raccogliere, dove inviare e altro ancora
Servizio di configurazione di Monitoraggio di Azure AMCS Servizio a livello di area ospitato in Azure che controlla la raccolta di dati per questo agente e altre parti di Monitoraggio di Azure. L'agente chiama questo servizio per recuperare i DCR.
Endpoint dei log -- Endpoint per l'invio di dati ad aree di lavoro Log Analytics
Endpoint delle metriche -- Endpoint per l'invio di dati a database delle metriche di Monitoraggio di Azure.
Servizio metadati dell'istanza e ibrido IMDS e HIMDS Servizi ospitati in Azure che forniscono informazioni sulle macchine virtuali attualmente in esecuzione, i set di scalabilità (tramite IMDS) e i server abilitati per Arc (tramite HIMDS) rispettivamente
area di lavoro Log Analytics LAW Destinazione in Monitoraggio di Azure a cui è possibile inviare i log raccolti dall'agente
Metriche personalizzate -- Destinazione in Monitoraggio di Azure a cui è possibile inviare le metriche guest raccolte dall'agente

Procedura di base per la risoluzione dei problemi

Seguire questa procedura per risolvere i problemi relativi alla versione più recente dell'agente di Monitoraggio di Azure in esecuzione nella macchina virtuale Linux:

  1. Esaminare attentamente i prerequisiti qui.

  2. Verificare che l'estensione sia stata installata e che ne sia stato eseguito il provisioning, il che installa i file binari dell'agente nel computer:

    1. Aprire il portale di Azure >, selezionare la macchina virtuale >, aprire Impostazioni: Estensioni e applicazioni dal riquadro a sinistra >; "AzureMonitorLinuxAgent" dovrebbe essere visualizzato con Stato: "Provisioning completato"
    2. Se l'estensione non è elencata, verificare se il computer possa raggiungere Azure e trovare l'estensione da installare usando il comando seguente:
      az vm extension image list-versions --location <machine-region> --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor
      
    3. Attendere 10-15 minuti, poiché l'estensione potrebbe essere in stato di transizione. Se non viene ancora visualizzato come mostrato sopra, disinstallare e installare nuovamente l'estensione.
    4. Verificare se siano presenti errori nei log delle estensioni situate in /var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/ nel computer
  3. Verificare che l'agente sia in esecuzione:

    1. Controllare se l'agente generi log heartbeat nell'area di lavoro Log Analytics usando la query seguente. Ignorare se "Custom Metrics" è l'unica destinazione nella DCR:
      Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
      
    2. Controllare se il servizio agente sia in esecuzione
      systemctl status azuremonitoragent
      
    3. Controllare se sono presenti errori nei log dell'agente di base situati in /var/opt/microsoft/azuremonitoragent/log/mdsd.* nel computer
  4. Verificare che la DCR esista e sia associata alla macchina virtuale:

    1. Se si usa l'area di lavoro Log Analytics come destinazione, verificare che la DCR esista nella stessa area fisica dell'area di lavoro Log Analytics.
    2. Aprire il portale di Azure >, selezionare la regola di raccolta dati >, aprire Configurazione: Risorse dal riquadro a sinistra >. Verrà visualizzata la macchina virtuale elencata qui.
    3. Se non è elencata, fare clic su "Aggiungi" e selezionare la macchina virtuale dalla selezione risorse. Ripetere l'operazione in tutti i DCR.
  5. Verificare che l'agente sia stato in grado di scaricare le DCR associate dal servizio AMCS:

    1. Controllare se venga visualizzata la DCR più recente scaricata in questo percorso /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/

Problemi di raccolta di Syslog

Per altre informazioni su come risolvere problemi di Syslog con l'agente di Monitoraggio di Azure, vedere qui.

  • Il file qualità del servizio (QoS) /var/opt/microsoft/azuremonitoragent/log/mdsd.qos fornisce aggregazioni in formato CSV di 15 minuti degli eventi elaborati e contiene le informazioni sulla quantità di eventi Syslog elaborati nell'intervallo di tempo specificato. Questo file è utile per tenere traccia di cali di inserimenti di eventi Syslog.

    Ad esempio, il frammento seguente mostra che nei 15 minuti precedenti al 2022-02-28T19:55:23.5432920Z, l'agente ha ricevuto 77 eventi Syslog con informazioni sul daemon della struttura e sul livello e ha inviato 77 di tali eventi all'attività di caricamento. Inoltre, l'attività di caricamento dell'agente ha ricevuto 77 messaggi daemon.info e li ha caricati correttamente tutti e 77.

    #Time: 2022-02-28T19:55:23.5432920Z
    #Fields: Operation,Object,TotalCount,SuccessCount,Retries,AverageDuration,AverageSize,AverageDelay,TotalSize,TotalRowsRead,TotalRowsSent
    ...
    MaRunTaskLocal,daemon.debug,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.info,15,15,0,60000,46.2,0,693,77,77
    MaRunTaskLocal,daemon.notice,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.warning,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.error,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.critical,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.alert,15,15,0,60000,0,0,0,0,0
    MaRunTaskLocal,daemon.emergency,15,15,0,60000,0,0,0,0,0
    ...
    MaODSRequest,https://e73fd5e3-ea2b-4637-8da0-5c8144b670c8_LogManagement,15,15,0,455067,476.467,0,7147,77,77
    

Passaggi per la risoluzione dei problemi

  1. Esaminare prima i passaggi generici per la risoluzione di problemi di Linux AMA. Se l'agente emette heartbeat, procedere con il passaggio 2.

  2. La configurazione analizzata viene archiviata in /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/. Verificare che la raccolta Syslog sia definita e che le destinazioni di log siano uguali a quelle costruite in DCR UI / DCR JSON.

    1. In caso affermativo, procedere con il passaggio 3. In caso contrario, il problema ha a che fare con il flusso di lavoro di configurazione.
    2. Esaminare i file mdsd.err,mdsd.warn, mdsd.info in /var/opt/microsoft/azuremonitoragent/log per individuare possibili errori di configurazione.
  3. Convalidare il layout del flusso di lavoro della raccolta Syslog per assicurarsi che tutte le parti necessarie siano presenti e accessibili:

    1. Per gli utenti rsyslog, assicurarsi che il file /etc/rsyslog.d/10-azuremonitoragent.conf sia presente, non sia vuoto e sia accessibile dal daemon rsyslog (utente syslog).
      1. Controllare la configurazione di rsyslog in /etc/rsyslog.conf e /etc/rsyslog.d/* per verificare se siano presenti input associati a un set di regole non predefinito, poiché i messaggi di questi input non verranno inoltrati all'agente di Monitoraggio di Azure. Ad esempio, i messaggi di un input configurato con un set di regole non predefinito come input(type="imtcp" port="514" ruleset="myruleset") non verranno inoltrati.
    2. Per gli utenti syslog-ng, assicurarsi che il file /etc/syslog-ng/conf.d/azuremonitoragent.conf sia presente, non sia vuoto e sia accessibile dal daemon syslog-ng (utente syslog).
    3. Verificare che il file /run/azuremonitoragent/default_syslog.socket esista e sia accessibile rispettivamente da rsyslog o syslog-ng.
    4. Verificare che la coda del daemon Syslog non sia in overflow causando l'esito negativo del caricamento, facendo riferimento alle indicazioni riportate qui: I dati Rsyslog non vengono caricati a causa di un problema di spazio su disco esaurito nell'agente Linux AMA
  4. Per eseguire ulteriore debug dell'inserimento di eventi Syslog, è possibile aggiungere il flag di traccia -T 0x2002 alla fine di MDSD_OPTIONS nel file /etc/default/azuremonitoragent e riavviare l'agente:

    export MDSD_OPTIONS="-A -c /etc/opt/microsoft/azuremonitoragent/mdsd.xml -d -r $MDSD_ROLE_PREFIX -S $MDSD_SPOOL_DIRECTORY/eh -L $MDSD_SPOOL_DIRECTORY/events -e $MDSD_LOG_DIR/mdsd.err -w $MDSD_LOG_DIR/mdsd.warn -o $MDSD_LOG_DIR/mdsd.info -T 0x2002"
    
  5. Dopo aver riprodotto il problema con il flag di traccia in, ulteriori informazioni di debug sono disponibili in /var/opt/microsoft/azuremonitoragent/log/mdsd.info. Esaminare il file per individuare la possibile causa del problema di raccolta syslog, ad esempio errori di analisi / elaborazione / configurazione / caricamento.

    Avviso

    Assicurarsi di rimuovere l'impostazione del flag di traccia -T 0x2002 dopo la sessione di debug, poiché genera molte istruzioni di traccia che potrebbero riempire il disco più rapidamente o rendere difficile l'analisi visiva del file di log.

Risoluzione dei problemi nel server abilitato per Arc

Se dopo aver controllato i passaggi di risoluzione dei problemi di base l'agente di Monitoraggio di Azure non emette i log mostra "Non è stato possibile ottenere il token MSI dall'endpoint IMDS" nel file di log /var/opt/microsoft/azuremonitoragent/log/mdsd.err, è probabile che l'utente syslog non sia membro del gruppo himds. Se l’utente non è membro di questo gruppo, aggiungere utente syslog al gruppo di utenti himds. Se necessario, creare l'utente syslog e il gruppo syslog e assicurarsi che l'utente faccia parte di tale gruppo. Per altre informazioni, vedere Requisiti di autenticazione per server abilitati per Azure Arc qui.