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:
Esaminare attentamente i prerequisiti qui.
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:
- 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"
- 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
- 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.
- Verificare se siano presenti errori nei log delle estensioni situate in
/var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/
nel computer
Verificare che l'agente sia in esecuzione:
- 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
- Controllare se il servizio agente sia in esecuzione
systemctl status azuremonitoragent
- Controllare se sono presenti errori nei log dell'agente di base situati in
/var/opt/microsoft/azuremonitoragent/log/mdsd.*
nel computer
- 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:
Verificare che la DCR esista e sia associata alla macchina virtuale:
- 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.
- 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.
- Se non è elencata, fare clic su "Aggiungi" e selezionare la macchina virtuale dalla selezione risorse. Ripetere l'operazione in tutti i DCR.
Verificare che l'agente sia stato in grado di scaricare le DCR associate dal servizio AMCS:
- Controllare se venga visualizzata la DCR più recente scaricata in questo percorso
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
- Controllare se venga visualizzata la DCR più recente scaricata in questo percorso
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
Esaminare prima i passaggi generici per la risoluzione di problemi di Linux AMA. Se l'agente emette heartbeat, procedere con il passaggio 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.- In caso affermativo, procedere con il passaggio 3. In caso contrario, il problema ha a che fare con il flusso di lavoro di configurazione.
- Esaminare i file
mdsd.err
,mdsd.warn
,mdsd.info
in/var/opt/microsoft/azuremonitoragent/log
per individuare possibili errori di configurazione.
Convalidare il layout del flusso di lavoro della raccolta Syslog per assicurarsi che tutte le parti necessarie siano presenti e accessibili:
- Per gli utenti
rsyslog
, assicurarsi che il file/etc/rsyslog.d/10-azuremonitoragent.conf
sia presente, non sia vuoto e sia accessibile dal daemonrsyslog
(utente syslog).- 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 comeinput(type="imtcp" port="514"
ruleset="myruleset"
)
non verranno inoltrati.
- Controllare la configurazione di rsyslog in
- 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 daemonsyslog-ng
(utente syslog). - Verificare che il file
/run/azuremonitoragent/default_syslog.socket
esista e sia accessibile rispettivamente darsyslog
osyslog-ng
. - 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
- Per gli utenti
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"
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.