Risoluzione dei problemi dell'agente CloudWatch
Utilizza le informazioni seguenti per risolvere i problemi relativi all'agente CloudWatch.
Argomenti
- Parametri della riga di comando dell'agente CloudWatch
- Installazione dell'agente CloudWatch tramite errori Run Command
- L'agente CloudWatch non si avvia
- Verificare che l'agente CloudWatch sia in esecuzione
- L'agente CloudWatch non viene avviato e l'errore fa riferimento alla regione Amazon EC2
- L'agente CloudWatch non si avvia su Windows Server
- Impossibile trovare le credenziali in Windows Server
- Dove sono i parametri?
- L'agente CloudWatch impiega molto tempo per essere eseguito in un container o registra un errore di limite di hop
- Ho aggiornato la configurazione dell'agente ma non vedo i nuovi parametri o i nuovi log nella console CloudWatch
- File e ubicazioni dell'agente CloudWatch
- Ricerca di informazioni sulle versioni dell'agente CloudWatch
- Log generati dall'agente CloudWatch
- Arresto e riavvio dell'agente CloudWatch
Parametri della riga di comando dell'agente CloudWatch
Per visualizzare l'elenco completo dei parametri supportati dall'agente CloudWatch, immetti quanto segue nella riga di comando in un computer in cui è installato:
amazon-cloudwatch-agent-ctl -help
Installazione dell'agente CloudWatch tramite errori Run Command
Per installare l'agente CloudWatch tramite Run Command di Systems Manager, la versione di SSM Agent nel server di destinazione deve essere la 2.2.93.0 o successive. Se la versione di SSM Agent non è corretta, potrebbero venire visualizzati errori che includono i seguenti messaggi:
no latest version found for package AmazonCloudWatchAgent on platform linux
failed to download installation package reliably
Per informazioni sull'installazione o sull'aggiornamento di SSM Agent consulta la pagina relativa all'installazione e alla configurazione di SSM Agent nella Guida per l'utente AWS Systems Manager.
L'agente CloudWatch non si avvia
Se l'agente CloudWatch non si avvia, potrebbe essersi verificato un problema di configurazione. Le informazioni sulla configurazione sono registrate nel file configuration-validation.log
. Il percorso del file è /opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log
nei server Linux e $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log
nei server che eseguono Windows Server.
Verificare che l'agente CloudWatch sia in esecuzione
Puoi eseguire query sull'agente CloudWatch per determinare se è in esecuzione o se è stato arrestato. Per eseguire questa operazione in remoto, puoi utilizzare AWS Systems Manager. Puoi inoltre utilizzare la riga di comando, ma solo per controllare il server locale.
Per eseguire query relative allo stato dell'agente CloudWatch tramite Run Command
Apri la console Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/
. Nel riquadro di navigazione seleziona Run Command.
oppure
Se si apre la home page AWS Systems Manager, scorri e seleziona Explore Run Command (Esplora Run Command).
-
Seleziona Run command (Esegui comando).
-
Nell'elenco Documento sui comandi seleziona il pulsante accanto a AmazonCloudWatch-ManageAgent.
-
Nell'elenco Action (Operazione), seleziona status (stato).
-
Per Origine configurazione facoltativa scegli il valore predefinito e non compilare il campo del percorso della configurazione facoltativa.
-
Nell'area Target (Destinazione), seleziona l'istanza da controllare.
-
Scegli Run (Esegui).
Se l'agente è in esecuzione, l'output sarà analogo al seguente.
{ "status": "running", "starttime": "2017-12-12T18:41:18", "version": "1.73.4" }
Se l'agente viene arrestato, nel campo "status"
viene visualizzato "stopped"
.
Per eseguire query relative allo stato dell'agente CloudWatch in locale tramite la riga di comando
-
In un server Linux, immetti quanto segue:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
In un server che esegue Windows Server, immetti quanto segue in PowerShell come amministratore:
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
L'agente CloudWatch non viene avviato e l'errore fa riferimento alla regione Amazon EC2
Se l'agente non viene avviato e il messaggio di errore fa riferimento all'endpoint della regione Amazon EC2, potresti aver configurato l'agente in modo da dover accedere all'endpoint Amazon EC2, senza avere concesso le autorizzazioni di accesso.
Ad esempio, se specifichi un valore del parametro append_dimensions
nel file di configurazione dell'agente che dipende da metadati Amazon EC2 e utilizzi proxy, devi assicurarti che il server possa accedere all'endpoint per Amazon EC2. Per ulteriori informazioni su questi endpoint, consulta Amazon Elastic Compute Cloud (Amazon EC2) nella documentazione di riferimento generale di Amazon Web Services.
L'agente CloudWatch non si avvia su Windows Server
In Windows Server, potresti visualizzare il seguente errore:
Start-Service : Service 'Amazon CloudWatch Agent (AmazonCloudWatchAgent)' cannot be started due to the following error: Cannot start service AmazonCloudWatchAgent on computer '.'. At C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1:113 char:12 + $svc | Start-Service + ~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException + FullyQualifiedErrorId : CouldNotStartService,Microsoft.PowerShell.Commands.StartServiceCommand
Per risolvere questo problema, assicurati innanzitutto che il servizio server sia in esecuzione. Questo errore può essere visualizzato se l'agente tenta di avviarsi quando il servizio server non è in esecuzione.
Se il servizio server è già in esecuzione, potrebbe essere il problema seguente. In alcune installazioni di Windows Server, l'agente CloudWatch richiede più di 30 secondi per l'avvio. Poiché Windows Server, per impostazione predefinita, consente solo 30 secondi per l'avvio dei servizi, questo causa l'errore dell'agente simile al seguente:
Per risolvere questo problema, aumenta il valore del timeout per il servizio. Per ulteriori informazioni, consulta Un servizio non viene avviato e gli eventi 7000 e 7011 vengono registrati nel log eventi di Windows
Impossibile trovare le credenziali in Windows Server
In Windows Server, se le credenziali si trovano in un percorso diverso da $SystemDrive\\Users\\Administrator\\.aws
in Windows Server 2012 o “$SystemDrive\\Documents and
Settings\\Administrator\\.aws
in Windows Server 2003, puoi specificare il percorso delle credenziali utilizzando l'opzione shared_credential_file
in common.toml
.
Se non si dispone di un file delle credenziali, sarà necessario crearlo. Per ulteriori informazioni, consulta la pagina (Opzionale) Modifica della configurazione comune delle informazioni relative al proxy o alla regione.
Dove sono i parametri?
Se l'agente CloudWatch è in esecuzione, ma non riesci a trovare i parametri raccolti dall'agente nella AWS Management Console o in AWS CLI, verifica di utilizzare lo spazio dei nomi corretto. Per impostazione predefinita, lo spazio dei nomi dei parametri raccolti dall'agente è CWAgent
. Puoi personalizzare questo spazio dei nomi utilizzando il campo namespace
nella sezione metrics
del file di configurazione dell'agente. Se non vengono visualizzati i parametri previsti, controlla il file di configurazione per verificare lo spazio dei nomi in uso.
Quando scarichi per la prima volta il pacchetto dell'agente CloudWatch, il file di configurazione dell'agente è amazon-cloudwatch-agent.json
. Il file è ubicato nella directory in cui hai eseguito la procedura guidata di configurazione oppure potrebbe trovarsi in un'altra directory. Se utilizzi la procedura guidata di configurazione, l'output del file di configurazione dell'agente è denominato config.json
. Per ulteriori informazioni sul file di configurazione, incluso il campo namespace
, consulta File di configurazione dell'agente file; documento: sezione Metrics.
L'agente CloudWatch impiega molto tempo per essere eseguito in un container o registra un errore di limite di hop
Quando si esegue l'agente CloudWatch come servizio container e si desidera aggiungere dimensioni dei parametri Amazon EC2 a tutti i parametri raccolti dall'agente, è possibile che vengano visualizzati i seguenti errori nella versione v1.247354.0 dell'agente:
2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Unable to retrieve Instance Metadata Tags. This plugin must only be used on an EC2 instance. 2022-06-07T03:36:11Z E! [processors.ec2tagger] ec2tagger: Please increase hop limit to 2 by following this document https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#configuring-IMDS-existing-instances. 2022-06-07T03:36:11Z E! [telegraf] Error running agent: could not initialize processor ec2tagger: EC2MetadataRequestError: failed to get EC2 instance identity document caused by: EC2MetadataError: failed to make EC2Metadata request status code: 401, request id: caused by:
È possibile che venga visualizzato questo errore se l'agente tenta di ottenere metadati da IMDSv2 all'interno di un container senza un limite di hop appropriato. Nelle versioni dell'agente precedenti alla v1.247354.0, è possibile riscontrare questo problema senza visualizzare il messaggio di registro.
Per risolvere questo problema, aumentare il limite di hop a 2 seguendo le istruzioni riportate in Configurazione delle opzioni dei metadati dell'istanza.
Ho aggiornato la configurazione dell'agente ma non vedo i nuovi parametri o i nuovi log nella console CloudWatch
Se aggiorni il file di configurazione dell'agente CloudWatch, al successivo avvio dell'agente devi utilizzare l'opzione fetch-config
. Ad esempio, se il file aggiornato è stato memorizzato nel computer locale, immetti il comando seguente:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -s -m ec2 -c file:
configuration-file-path
File e ubicazioni dell'agente CloudWatch
La tabella seguente elenca i file installati da e utilizzati con l'agente CloudWatch, insieme alle rispettive posizioni in server che eseguono Linux o Windows Server.
File | Ubicazione in Linux | Ubicazione in Windows Server |
---|---|---|
Lo script di controllo che controlla l'avvio, l'arresto e il riavvio dell'agente. |
|
|
Il file di log su cui scrive l'agente. Potrebbe essere necessario collegarlo quando contatti AWS Support. |
|
|
File di convalida della configurazione dell'agente. |
|
|
File JSON utilizzato per configurare l'agente, immediatamente dopo la sua creazione tramite la procedura guidata. Per ulteriori informazioni, consulta la pagina Creazione del file di configurazione dell'agente CloudWatch. |
|
|
File JSON utilizzato per configurare l'agente, se questo file di configurazione è stato scaricato da Parameter Store. |
|
|
File TOML utilizzato per specificare le informazioni sulla regione e sulle credenziali che l'agente deve utilizzare, sostituendo le impostazioni predefinite di sistema. |
|
|
File TOML che contiene il contenuto convertito del file di configurazione JSON. Lo script |
|
|
Ricerca di informazioni sulle versioni dell'agente CloudWatch
Per trovare il numero di versione dell'agente CloudWatch su un server Linux, immetti il seguente comando:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a status
Per trovare il numero di versione dell'agente CloudWatch su Windows Server, immetti il seguente comando:
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
L'utilizzo di questo comando è il modo corretto per trovare la versione dell'agente CloudWatch. Se utilizzi Programs and Features (Programmi e funzionalità) nel Pannello di controllo, verrà visualizzato un numero di versione errato.
Puoi anche scaricare un file README relativo alle modifiche più recenti all'agente e un file che indica il numero di versione attualmente disponibile per il download. Questi file si trovano nelle seguenti posizioni:
-
https://s3.amazonaws.com/amazoncloudwatch-agent/info/latest/RELEASE_NOTES
ohttps://s3.
region
.amazonaws.com/amazoncloudwatch-agent-Region
/info/latest/RELEASE_NOTES -
https://s3.amazonaws.com/amazoncloudwatch-agent/info/latest/CWAGENT_VERSION
ohttps://s3.
region
.amazonaws.com/amazoncloudwatch-agent-Region
/info/latest/CWAGENT_VERSION
Log generati dall'agente CloudWatch
L'agente genera un log durante la sua esecuzione. Questo log include le informazioni relative alla risoluzione dei problemi. Questo log è il file amazon-cloudwatch-agent.log
. Il percorso del file è /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
nei server Linux e $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log
nei server che eseguono Windows Server.
Puoi configurare l'agente per registrare dettagli aggiuntivi nel file amazon-cloudwatch-agent.log
. Nella sezione agent
del file di configurazione dell'agente, imposta il campo debug
su true
, quindi riconfigura e riavvia l'agente CloudWatch. Per disattivare la registrazione di queste informazioni supplementari, imposta il campo debug
su false
. Quindi, riconfigura e riavvia l'agente. Per ulteriori informazioni, consultare Creazione o modifica manuale del file di configurazione dell'agente CloudWatch.
Nelle versioni 1.247350.0 e successive dell'agente CloudWatch è possibile impostare il campo aws_sdk_log_level
nella sezione agent
di un file di configurazione dell'agente su una o più opzioni tra le seguenti. Separare più opzioni con il carattere |
.
LogDebug
LogDebugWithSigning
LogDebugWithHTTPBody
LogDebugRequestRetries
LogDebugWithEventStreamBody
Per ulteriori informazioni su queste opzioni, consulta LogLevelType .
Arresto e riavvio dell'agente CloudWatch
Puoi arrestare manualmente l'agente CloudWatch tramite AWS Systems Manager o la riga di comando.
Per arrestare l'agente CloudWatch tramite Run Command
Apri la console Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/
. Nel riquadro di navigazione seleziona Run Command.
oppure
Se si apre la home page AWS Systems Manager, scorri e seleziona Explore Run Command (Esplora Run Command).
-
Seleziona Run command (Esegui comando).
-
Nell'elenco Command document (Documento comando), seleziona AmazonCloudWatch-ManageAgent.
-
Nell'area Targets (Target) scegli l'istanza su cui hai installato l'agente CloudWatch.
-
Nell'elenco Action (Operazione), seleziona stop (arresta).
-
Non compilare i campi Optional Configuration Source (Origine configurazione opzionale) e Optional Configuration Location (Percorso configurazione opzionale).
-
Scegli Run (Esegui).
Per arrestare l'agente CloudWatch in locale tramite la riga di comando
-
In un server Linux, immetti quanto segue:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop
In un server che esegue Windows Server, immetti quanto segue in PowerShell come amministratore:
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a stop
Per riavviare l'agente, segui le istruzioni descritte in Avvio dell'agente CloudWatch.