Perché l'agente CloudWatch unificato non invia i log eventi?

5 minuti di lettura
0

Sto utilizzando l'agente CloudWatch unificato per inviare i file di log Amazon CloudWatch. Tuttavia, non riesco a visualizzare i log nella console CloudWatch Logs. Perché l'agente CloudWatch unificato non invia i log eventi?

Breve descrizione

I seguenti problemi possono impedire all'agente unificato di CloudWatch di inviare log eventi:

  • Metadati non sincronizzati causati dalla creazione di un'Amazon Machine Image (AMI) dopo l'installazione dell'agente CloudWatch
  • Utilizzo di una versione obsoleta dell'agente CloudWatch
  • Impossibile connettersi all'endpoint CloudWatch Logs
  • Configurazioni errate dell'account, della regione o del gruppo di log
  • Autorizzazioni AWS Identity and Access Management (IAM) insufficienti
  • Errori di esecuzione dell'agente CloudWatch
  • Problemi relativi al timestamp

Risoluzione

Nota: se ricevi errori durante l'esecuzione dei comandi AWS Command Line Interface (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

Importante: i seguenti passaggi per la risoluzione dei problemi non si applicano a Container Insights. Per dettagli sulla risoluzione dei problemi di Container Insights, consulta Risoluzione dei problemi relativi a Container Insights e Come posso risolvere i problemi relativi allo stato dei pod in Amazon EKS?

Esamina il metodo di installazione dell'agente CloudWatch

È consigliabile installare l'agente CloudWatch al momento del lancio utilizzando AWS CloudFormation, AWS Systems Manager Agent (SSM Agent), script di dati utente o l'interfaccia a riga di comando di AWS. È inoltre consigliabile creare un'AMI prima di installare l'agente CloudWatch. Le AMI in genere acquisiscono informazioni univoche dall'istanza originale. I metadati non sono più sincronizzati e questo stato può far sì che l'agente CloudWatch non funzioni come previsto. I metadati non sincronizzati sono il motivo per cui molte istanze di Windows richiedono Sysprep quando si lavora con AMI. Per ulteriori informazioni, consulta Come faccio a usare Sysprep per creare e installare AMI Windows riutilizzabili personalizzate in Amazon EC2?

Conferma di utilizzare la versione più recente dell'agente CloudWatch

Scarica ed esamina i file README per le note di rilascio dell'agente CloudWatch e il numero della versione più recente. Se utilizzi una versione precedente dell'agente CloudWatch, assicurati di effettuare l'upgrade. La versione più recente potrebbe includere aggiornamenti che risolvono il problema riscontrato.

Verifica la connettività con il tuo endpoint CloudWatch Logs

Verifica la connettività all'endpoint CloudWatch Logs utilizzando uno dei seguenti comandi:

telnet logs.<region>.amazonaws.com 443
nc -zv logs.<region>.amazonaws.com 443

Se riscontri problemi di connettività, assicurati che:

  • Le regole del gruppo di sicurezza e della lista di controllo degli accessi (ACL) alla rete consentono la connettività
  • La tua istanza può raggiungere l'endpoint pubblico utilizzando un gateway Internet o un gateway Network Address Translation (NAT)
  • Se si utilizzano endpoint VPC, l'endpoint si risolve in un IP VPC e il gruppo di sicurezza dell'endpoint consente l'accesso dall'istanza di origine

Esamina le configurazioni del tuo account, della regione e dei gruppi di log

Nel file di configurazione dell'agente CloudWatch:

  • Assicurati che la regione specificata corrisponda alla regione della console
  • Verifica che i log siano controllati nell'account corretto

Facoltativamente, puoi utilizzare il file common-config.toml per sovrascrivere le impostazioni predefinite di sistema per l'agente CloudWatch. Queste impostazioni predefinite del sistema includono il proxy, la regione e le informazioni sulle credenziali dell'agente. Il file è disponibile nelle seguenti posizioni.

Linux:

/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml

-oppure-

/etc/amazon/amazon-cloudwatch-agent/common-config.toml

Windows:

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml

Verifica le tue autorizzazioni IAM

L'agente CloudWatch utilizza le credenziali dell'utente IAM o della policy di ruolo IAM per inviarei log eventi al servizio CloudWatch. Prima di poter pubblicare un log eventi, è necessario creare un gruppo di log e un flusso di log. Se non esiste un gruppo di log o un flusso di log, l'agente CloudWatch li crea.

Conferma che la tua politica includa le seguenti autorizzazioni IAM:

"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"

Aggiungi eventuali autorizzazioni IAM mancanti alla policy utente o alla policy del ruolo.

Nota: quando si creano ruoli e utenti IAM, è consigliabile utilizzare le policy CloudWatchAgentServerPolicy e CloudWatchAgentAdminPolicy create da Amazon anziché le policy personalizzate.

Risoluzione degli errori di esecuzione dell'agente CloudWatch

Verifica che l'agente CloudWatch sia in esecuzione. Se l'agente non è in esecuzione, controlla la presenza di errori nel file di registro e risolvili. I file di registro si trovano nelle seguenti posizioni.

Linux:

/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

Windows:

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log

Nota: i log possono essere specificati in una posizione personalizzata del file log. Controlla il file di configurazione dell'agente per identificare eventuali posizioni del log personalizzate.

Nel file di configurazione dell'agente, abilita la registrazione dettagliata del debug utilizzando il parametro debug. Se stai utilizzando il parametro run_as_user, conferma che l'utente disponga delle autorizzazioni per il percorso della posizione del registro. Senza le autorizzazioni necessarie, l'agente CloudWatch non può scrivere log nella posizione.

Risolvi i problemi relativi al timestamp

Verifica la presenza di timestamp degli eventi di registro più vecchi di 14 giorni o più di due ore nel futuro. Il comando PutLogEvents non consente batch di log in nessuno dei due intervalli di tempo.

Inoltre, verifica che il servizio di orario di sistema sull'istanza sia configurato correttamente. Per ulteriori informazioni, consulta Impostare l'ora per l'istanza Linux o Impostare l'ora per un'istanza di Windows.


Informazioni correlate

Risoluzione dei problemi relativi all'agente CloudWatch

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa