Perché non posso inviare i dati di log a CloudWatch Logs con l'agente awslogs?

4 minuti di lettura
0

Non riesco a inviare i dati di log ai file di log Amazon CloudWatch utilizzando l'agente di CloudWatch Logs (awslogs).

Soluzione

Prima di iniziare, conferma che l'agente awslogs sia in grado di connettersi all'endpoint dell'API di CloudWatch Logs.

Assicurati che la configurazione disponga dei seguenti attributi:

  • Connettività Internet
  • Configurazioni dei gruppi di sicurezza valide
  • Liste di controllo degli accessi alla rete (ACL) valide

Importante: Questo riferimento riguarda il precedente agente di CloudWatch Logs che non è più supportato. Per usare Instance Metadata Service Version 2 (IMDSv2), bisogna utilizzare il nuovo agente di CloudWatch unificato. È consigliabile utilizzare l'agente CloudWatch unificato più recente invece dell'agente del log anche se non si utilizza IMDSv2.

Problemi relativi alle impronte digitali

Rivedi le righe di intestazione del file di log di origine. Il percorso di questo file viene impostato durante la configurazione dei dati da inviare a CloudWatch.

  • Se le prime righe sono vuote o contengono dati che non sono eventi e che rimangono invariati, potrebbero esserci problemi con l'hash di identificazione del log.
  • Se le righe di intestazione sono le stesse, aggiorna l'opzione file_fingerprint_lines nel file di configurazione dell'agente. Assicurati di specificare le righe utilizzate in ogni file per generare l'hash di identificazione.

Controlla che il file di log awslogs non presenti errori

Controlla il file di log /var/log/awslogs.log. Assicurati di prendere nota di eventuali messaggi di errore.

Gli errori relativi alle autorizzazioni includono:

  • NoCredentialsError: Unable to locate credentials (Impossibile individuare le credenziali): se non hai aggiunto un ruolo AWS Identity and Access Management (IAM) all'istanza, crea e associa un ruolo IAM. Se hai già aggiunto un ruolo IAM all'istanza, aggiorna le credenziali utente IAM nel file /etc/awslogs/awscli.conf.
  • ClientError: An error occurred (AccessDeniedException) when calling the PutLogEvents operation: User: arn:aws:iam::012345678910: / is not authorized to perform: logs:PutLogEvents[...] (Si è verificato un errore (AccessDeniedException) durante il tentativo di eseguire l'operazione putLogEvents: l'utente: arn:aws:iam::012345678910: / non è autorizzato a eseguire: logs:PutLogEvents[...]): configura il ruolo o l'utente IAM con le autorizzazioni richieste per CloudWatch Logs..

Gli errori relativi ai timestamp includono:

  • Fall back to previous event time: {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, reason: timestamp could not be parsed from message (Torna all'ora dell'evento precedente: {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, motivo: il timestamp non può essere analizzato dal messaggio).: verifica che i log eventi inizino con un timestamp. Controlla se il datetime\ _format (formato data-ora) specificato in /etc/awslogs/awslogs.conf corrisponde al formato del timestamp dei log eventi. Se necessario, modifica il datetime_format (formato data-ora) in modo che corrisponda al formato del timestamp.
  • No file is found with given path ' ' (Non è stato trovato alcun file con il percorso specificato ' '): aggiorna il percorso del file di log nel file di configurazione dell'agente con il percorso corretto.

Altri problemi relativi agli awslogs

  • Se i log smettono di essere inviati dopo una rotazione, controlla i metodi di rotazione dei log supportati. Per ulteriori informazioni, consulta le domande frequenti sugli agenti di CloudWatch Logs.
  • Se i log vengono inviati brevemente solo dopo il riavvio dell'agente awslogs, verifica la presenza di duplicati nella sezione [logstream] del file di configurazione dell'agente. Ogni sezione deve avere un nome univoco.
  • Se il file di log awslogs.log occupa troppo spazio su disco, verifica che non ci siano errori nel file di log e se necessario correggili. Se il file di log contiene solo messaggi informativi, specifica un livello di registrazione inferiore per l'opzione logging_config_file nel file di configurazione dell'agente.

Ulteriore risoluzione dei problemi

Per un'ulteriore risoluzione dei problemi, annota l'instance-id (ID della tua istanza). Quindi, raccogli e rivedi quanto segue in base alla tua configurazione.

Installazioni Yum:

  • versione yum
$ yum info awslogs
$ yum info aws-cli-plugin-cloudwatch-logs
  • file /etc/awslogs/awslogs.conf
  • file /etc/awslogs/awscli.conf
  • Altri file pertinenti in /etc/awslogs/
  • file /var/log/awslogs.log

Installazioni basate su script:

  • La versione awslogs, ottenuta con il seguente comando:
$ /var/awslogs/bin/awslogs-version.sh
  • file /var/awslogs/etc/awslogs.conf
  • file /var/awslogs/etc/awscli.conf
  • Altri file pertinenti in /var/awslogs/etc/
  • /var/log/awslogs.log
  • /var/log/awslogs-agent-setup.log

Per problemi relativi alla rotazione, raccogli ed esamina:

  • Un frammento dei log di origine
  • Un elenco dei contenuti della directory di monitoraggio di destinazione. Usa il comando ls -la con il percorso della directory per ottenere questo:
$ ls -la <Monitoring-Target-Directory-Path>

Informazioni correlate

Nozioni di base su CloudWatch Logs

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa