Creazione o modifica manuale del file di configurazione dell'agente CloudWatch - Amazon CloudWatch

Creazione o modifica manuale del file di configurazione dell'agente CloudWatch

Il file di configurazione dell'agente CloudWatch è un file JSON che contiene quattro sezioni: agent, metrics, logs e traces.

  • La sezione agent include campi per la configurazione generale dell'agente.

  • La sezione metrics specifica i parametri personalizzati per la raccolta e la pubblicazione in CloudWatch. Se intendi utilizzare l'agente solo per raccogliere log, puoi omettere dal file la sezione metrics.

  • La sezione logs specifica quali file di log vengono pubblicati in CloudWatch Logs. Questo può includere eventi del log eventi di Windows, se Windows Server è in esecuzione nel server.

  • La sezione traces specifica le origini per le tracce che vengono raccolte e inviate a AWS X-Ray.

Questa sezione spiega la struttura e i campi del file di configurazione dell'agente CloudWatch. Puoi visualizzare la definizione di schema di questo file di configurazione. La definizione di schema è ubicata in installation-directory/doc/amazon-cloudwatch-agent-schema.json sui server Linux e in installation-directory/amazon-cloudwatch-agent-schema.json sui server che eseguono Windows Server.

Se crei o modifichi manualmente il file di configurazione dell'agente di , puoi assegnargli qualsiasi nome. Per semplicità nella risoluzione dei problemi, consigliamo di denominarlo /opt/aws/amazon-cloudwatch-agent/etc/cloudwatch-agent.json su un server Linux e $Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json sui server che eseguono Windows Server. Dopo avere creato il file, potrai copiarlo negli altri server in cui desideri installare l'agente.

All'avvio, l'agente crea una copia di ogni file di configurazione nella directory /opt/aws/amazon-cloudwatch/etc/amazon-cloudwatch-agent.d, con il nome del file preceduto da file_ (per le origini di file locali) o ssm_ (per le sorgenti di archiviazione dei parametri di Systems Manager) per indicare l'origine della configurazione.

Nota

Le metriche, i log e le tracce raccolti dall'agente CloudWatch sono a pagamento. Per ulteriori informazioni sui prezzi, consulta Prezzi di Amazon CloudWatch.

La sezione agent può includere i seguenti campi. La procedura guidata non crea una sezione agent. Al contrario, la procedura guidata la omette e utilizza i valori predefiniti per tutti i campi della sezione.

  • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta di tutti i parametri specificati in questo file di configurazione. Puoi ignorare questo valore per determinati tipi di parametri.

    Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    Il valore predefinito è 60.

  • region: specifica la regione da utilizzare per l'endpoint CloudWatch durante il monitoraggio di un'istanza Amazon EC2. I parametri raccolti vengono inviati a questa regione, ad esempio us-west-1. Se ometti questo campo, l'agente invia i parametri alla regione in cui si trova l'istanza Amazon EC2.

    Se monitori un server locale, questo campo non viene utilizzato e l'agente legge la regione dal profilo AmazonCloudWatchAgent del file di configurazione AWS.

  • credentials: specifica un ruolo IAM da utilizzare durante l'invio di parametri, log e tracce a un account AWS diverso. Se specificato, questo campo contiene un parametro, role_arn.

    • role_arn: specifica il nome della risorsa Amazon (ARN) di un ruolo IAM da utilizzare per l'autenticazione durante l'invio di parametri, log e tracce a un account AWS diverso. Per ulteriori informazioni, consulta Invio di parametri, log e tracce a un altro account.

  • debug Facoltativo. Specifica l'esecuzione dell'agente CloudWatch con messaggi di log di debug. Il valore predefinito è false.

  • aws_sdk_log_level Facoltativo. Supportate solo nelle versioni 1.247350.0 e successive dell'agente CloudWatch.

    È possibile specificare questo campo per fare in modo che l'agente esegua la registrazione di AWS endpoint SDK. Il valore di questo campo può includere 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 .

  • logfile: specifica la posizione in cui l'agente CloudWatch scrive messaggi di log. Se specifichi una stringa vuota, il log passa a stderr. Se non specifichi questa opzione, le ubicazioni predefinite sono le seguenti:

    • Linux: /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log

    • Windows Server: c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log

    L'agente CloudWatch ruota automaticamente il file di log creato. Un file di log viene ruotato in uscita fino a quando raggiunge la dimensione di 100 MB. L'agente mantiene i file di log ruotati fino a sette giorni e mantiene cinque file di log di backup che sono stati ruotati in uscita. Al nome dei file di backup dei log viene aggiunto un timestamp, che mostra la data e l'ora in cui il file è stato rimosso: ad esempio, amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz.

  • omit_hostname Facoltativo. Per impostazione predefinita, il nome host viene pubblicato come una dimensione di parametri che sono raccolti dall'agente, a meno che non venga usato il campo append_dimensions nella sezione metrics. Imposta da omit_hostname a true per impedire che il nome host venga pubblicato come una dimensione anche se non si utilizza append_dimensions. Il valore predefinito è false.

  • run_as_user Facoltativo. Specifica un utente da usare per eseguire l'agente CloudWatch. Se non si specifica questo parametro, viene utilizzato l'utente root. Questa opzione è valida solo su server Linux.

    Se si specifica questa opzione, l'utente deve esistere prima di avviare l'agente CloudWatch. Per ulteriori informazioni, consulta la pagina Esecuzione dell'agente CloudWatch come un utente diverso.

  • user_agent Facoltativo. Specifica la stringa user-agent utilizzata dall'agente CloudWatch quando effettua chiamate API al back-end CloudWatch. Il valore predefinito è una stringa costituita dalla versione dell'agente, dalla versione del linguaggio di programmazione Go utilizzata per compilare l'agente, dal sistema operativo di default runtime e dall'architettura, dal tempo di compilazione e dai plug-in abilitati.

  • usage_data : Opzionale. Per impostazione predefinita, l'agente CloudWatch invia dati sull'integrità e sulle prestazioni di se stesso a CloudWatch ogni volta che pubblica parametri o log su CloudWatch. Questi dati non comportano alcun costo. È possibile impedire all'agente di inviare questi dati specificando false per usage_data. Se si omette questo parametro, viene utilizzata l'impostazione predefinita di true e l'agente invia i dati dell'integrità e delle prestazioni.

    Se si imposta questo valore su false, affinché la modifica abbia effetto sarà necessario arrestare e riavviare l'agente.

  • service.name : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

  • deployment.environment : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

Di seguito è riportato un esempio di una sezione agent.

"agent": { "metrics_collection_interval": 60, "region": "us-west-1", "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "debug": false, "run_as_user": "cwagent" }

Campi comuni a Linux e Windows

Nei server in cui è in esecuzione Linux o Windows Server, la sezione metrics include i seguenti campi:

  • namespace Facoltativo. Lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Il valore predefinito è CWAgent. La lunghezza massima è 255 caratteri. Di seguito è riportato un esempio:

    { "metrics": { "namespace": "Development/Product1Metrics", ...... }, }
  • append_dimensions Facoltativo. Aggiunge le dimensioni dei parametri Amazon EC2 a tutti i parametri raccolti dall'agente. In questo modo l'agente non pubblica il nome host come dimensione.

    Le uniche coppie chiave-valore supportate per append_dimensions sono mostrate nell'elenco seguente. Qualsiasi altra coppia chiave-valore viene ignorata. L'agente supporta queste coppie chiave-valore esattamente come sono mostrate nell'elenco seguente. Non è possibile modificare i valori della chiave per pubblicare nomi di dimensione diversi.

    • "ImageId":"${aws:ImageId}" imposta l'ID AMI dell'istanza come valore della dimensione ImageId.

    • "InstanceId":"${aws:InstanceId}" imposta l'ID istanza dell'istanza come valore della dimensione InstanceId.

    • "InstanceType":"${aws:InstanceType}" imposta il tipo di istanza dell'istanza come valore della dimensione InstanceType.

    • "AutoScalingGroupName":"${aws:AutoScalingGroupName}" imposta il nome del gruppo Auto Scaling dell'istanza come valore della dimensione AutoScalingGroupName.

    Se si desidera aggiungere dimensioni ai parametri con coppie chiave-valore arbitrarie, utilizza il parametro append_dimensions nel campo per quel particolare tipo di parametro.

    Se specifichi un valore 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 Riferimenti generali di Amazon Web Services.

  • aggregation_dimensions Facoltativo. Specifica le dimensioni su cui devono essere aggregati i parametri raccolti. Ad esempio, se esegui il rollup dei parametri nella dimensione AutoScalingGroupName, vengono aggregati i parametri da tutte le istanze in ogni gruppo Auto Scaling, che possono essere visualizzati complessivamente.

    Puoi eseguire il rollup dei parametri lungo una o più dimensioni. Ad esempio, specificando [["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]] aggrega i parametri per ID istanza singolarmente, tipo di istanza singolarmente e per la combinazione delle due dimensioni.

    Puoi inoltre specificare [] per eseguire il rollup di tutti i parametri in un'unica raccolta, ignorando tutte le dimensioni.

  • endpoint_override: specifica un endpoint FIPS o un collegamento privato da utilizzare come endpoint in cui l'agente invia i parametri. La specifica relativa e l'impostazione di un collegamento privato consente di inviare i parametri a un endpoint Amazon VPC. Per ulteriori informazioni, consulta Cos'è Amazon VPC?.

    Il valore di endpoint_override deve essere una stringa che è un URL.

    Ad esempio, la parte seguente della sezione dei parametri del file di configurazione imposta l'agente per utilizzare un endpoint VPC durante l'invio dei parametri.

    { "metrics": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com", ...... }, }
  • metrics_collected: obbligatorio. Specifica i parametri da raccogliere, inclusi quelli personalizzati raccolti tramite StatsD o collectd. Questa sezione include varie sottosezioni.

    Il contenuto della sezione metrics_collected varia se il file di configurazione è per un server che esegue Linux o Windows Server.

  • metrics_destinations : Opzionale. Specifica una o più destinazioni per tutte le metriche definite in metrics_collected. Se viene specificato qui, sostituisce la destinazione predefinita di cloudwatch.

    • cloudwatch: Amazon CloudWatch.

    • amp: Servizio gestito da Amazon per Prometheus

      • workspace_id: l'ID corrispondente al workspace di Servizio gestito da Amazon per Prometheus.

    { "metrics": { "metrics_destinations": { "cloudwatch": {}, "amp": { "workspace_id": "ws-abcd1234-ef56-7890-ab12-example" } } } }
  • force_flush_interval: specifica in secondi la quantità massima di tempo in cui i parametri rimangono nel buffer di memoria prima di essere inviati al server. Indipendentemente dall'impostazione, se la dimensione dei parametri nel buffer raggiunge 1 MB o 1.000 parametri differenti, i parametri vengono immediatamente inviati al server.

    Il valore predefinito è 60.

  • credentials: specifica un ruolo IAM da utilizzare durante l'invio di parametri a un account diverso. Se specificato, questo campo contiene un parametro, role_arn.

    • role_arn: specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione durante l'invio di parametri a un account diverso. Per ulteriori informazioni, consulta la pagina Invio di parametri, log e tracce a un altro account. Se specificato qui, questo valore sostituisce il role_arn specificato nella sezione agent del file di configurazione, se presente.

    • service.name : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

    • deployment.environment : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

Sezione Linux

Nei server con Linux in esecuzione, la sezione metrics_collected del file di configurazione può anche includere i seguenti campi.

Molti di questi campi possono includere una sezione measurement che elenca i parametri che si desidera raccogliere per quella risorsa. Queste sezioni measurement possono specificare il nome di parametro completo, ad esempio swap_used, oppure solo la parte del nome parametro che verrà aggiunta al tipo della risorsa. Ad esempio, specificando reads nella sezione measurement della sezione diskio si causa la raccolta del parametro diskio_reads.

  • collectd Facoltativo. Specifica che desideri recuperare i parametri personalizzati utilizzando il protocollo collectd. È possibile utilizzare il software collectd per inviare i parametri all'agente CloudWatch. Per ulteriori informazioni sulle opzioni di configurazione disponibili per collectd, consulta Recupero dei parametri personalizzati con collectd.

  • cpu Facoltativo. Specifica che è necessario raccogliere i parametri della CPU. Questa sezione è valida solo per le istanze Linux. È necessario includere almeno uno dei campi totalcpu e resources per tutti i parametri CPU da raccogliere. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • resources : Opzionale. Specifica questo campo con il valore * per far sì che i parametri per CPU vengano raccolti. L'unico valore consentito è *.

    • totalcpu Facoltativo. Specifica se segnalare i parametri di CPU aggregati in tutti i core CPU. Il valore predefinito è true.

    • measurement: specifica la matrice di parametri cpu da raccogliere. I valori possibili sono time_active, time_guest, time_guest_nice, time_idle, time_iowait, time_irq, time_nice, time_softirq, time_steal, time_system, time_user, usage_active, usage_guest, usage_guest_nice, usage_idle, usage_iowait, usage_irq, usage_nice, usage_softirq, usage_steal, usage_system e usage_user. Il campo è obbligatorio se includi cpu.

      Per impostazione predefinita, l'unità di misura dei parametri cpu_usage_* è Percent, mentre i parametri cpu_time_* non hanno un'unità di misura.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di CPU, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di CPU. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions globale, usato per tutti i tipi di parametri raccolti dall'agente.

  • disk Facoltativo. Specifica che i parametri del disco devono essere raccolti. Raccoglie le metriche solo per i volumi montati. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • resources Facoltativo. Specifica una matrice di punti di montaggio su disco. Il campo limita CloudWatch alla raccolta di parametri solo dai punti di montaggio elencati. Puoi specificare * come valore per raccogliere parametri da tutti i punti di montaggio. Il valore predefinito raccoglie i parametri da tutti i punti di montaggio.

    • measurement: specifica la matrice di parametri disk da raccogliere. I valori possibili sono free, total, used, used_percent, inodes_free, inodes_used e inodes_total. Il campo è obbligatorio se includi disk.

      Nota

      I parametri disk hanno una dimensione per Partition, il che significa che il numero di parametri personalizzati generati dipende dal numero di partizioni associate all'istanza. Il numero di partizioni disponibili dipende dall'AMI in uso e dal numero di volumi Amazon EBS che colleghi al server.

      Per visualizzare le unità di misura predefinite per ciascun parametro disk, consulta Parametri raccolti dall'agente CloudWatch nelle istanze Linux e macOS.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • ignore_file_system_types: specifica i tipi di file system da escludere durante la raccolta di parametri disk. Tra i valori validi figurano sysfs, devtmpfs e così via.

    • drop_device: impostando questa opzione su true, Device non viene incluso come dimensione per i parametri disk.

      Impedire che Device venga utilizzato come dimensione può essere utile sulle istanze che utilizzano il sistema Nitro perché su tali istanze i nomi dei dispositivi cambiano per ogni montaggio del disco quando l'istanza viene riavviata. Ciò può causare dati incoerenti nei parametri e che gli allarmi basati su tali parametri vadano in stato INSUFFICIENT DATA.

      Il valore predefinito è false.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri del disco, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Specifica le coppie chiave-valore da utilizzare come dimensioni aggiuntive solo per le metriche del disco. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

      Una coppia chiave-valore che è possibile utilizzare è la seguente. Puoi anche specificare altre coppie chiave-valore personalizzate.

      • "VolumeId":"${aws:VolumeId}" aggiunge una dimensione VolumeId alle metriche del disco del dispositivo a blocchi. Per i volumi Amazon EBS, questo sarà l'ID del volume Amazon EBS. Per l'archivio dell'istanza EC2, questo sarà il numero di serie del dispositivo. L'utilizzo di questo richiede che il parametro drop_device sia impostato su false.

  • diskio Facoltativo. Specifica che è necessario raccogliere i parametri disk i/o. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • resources Facoltativo. Se specifichi una matrice di dispositivi, CloudWatch raccoglie parametri solo da questi dispositivi. In caso contrario, verranno raccolti parametri da tutti i dispositivi. Puoi inoltre specificare * come valore per raccogliere parametri da tutti i dispositivi.

    • measurement: specifica l'array di metriche dei driver diskio e AWS NVMe da raccogliere per i volumi Amazon EBS e i volumi di archivio dell'istanza collegati alle istanze Amazon EC2. I valori possibili per diskio sono reads, writes, read_bytes, write_bytes, read_time, write_time, io_time e iops_in_progress. Per un elenco delle metriche dei driver NVMe per i volumi Amazon EBS e i volumi di archivio dell'istanza Amazon EC2, consulta Raccolta di metriche del driver Amazon EBS NVMe e Raccolta di metriche del driver NVMe del volume di archivio dell'istanza Amazon EC2. Il campo è obbligatorio se includi diskio.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

      Per informazioni sulle unità predefinite e la descrizione delle metriche, consulta Raccolta di metriche del driver Amazon EBS NVMe .

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri diskio, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri diskio. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

  • swap Facoltativo. Specifica che i parametri di memoria di scambio devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • measurement: specifica la matrice di parametri swap da raccogliere. I valori possibili sono free, used e used_percent. Il campo è obbligatorio se includi swap.

      Per visualizzare le unità di misura predefinite per ciascun parametro swap, consulta Parametri raccolti dall'agente CloudWatch nelle istanze Linux e macOS.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di scambio, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di scambio. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions globale, usato per tutti i tipi di parametri raccolti dall'agente. Viene raccolto come parametro ad alta risoluzione.

  • mem Facoltativo. Specifica che i parametri di memoria devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • measurement: specifica la matrice di parametri memory da raccogliere. I valori possibili sono active, available, available_percent, buffered, cached, free, inactive, total, used e used_percent. Il campo è obbligatorio se includi mem.

      Per visualizzare le unità di misura predefinite per ciascun parametro mem, consulta Parametri raccolti dall'agente CloudWatch nelle istanze Linux e macOS.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di memoria, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di memoria. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

  • net Facoltativo. Specifica che i parametri di rete devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • resources Facoltativo. Se specifichi una matrice di interfacce di rete, CloudWatch raccoglie parametri solo da queste interfacce. In caso contrario, verranno raccolti parametri da tutti i dispositivi. Puoi inoltre specificare * come valore per raccogliere parametri da tutte le interfacce.

    • measurement: specifica la matrice di parametri di rete da raccogliere. I valori possibili sono bytes_sent, bytes_recv, drop_in, drop_out, err_in, err_out, packets_sent e packets_recv. Il campo è obbligatorio se includi net.

      Per visualizzare le unità di misura predefinite per ciascun parametro net, consulta Parametri raccolti dall'agente CloudWatch nelle istanze Linux e macOS.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di rete, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di rete. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

  • netstat Facoltativo. Specifica che i parametri della connessione TCP e della connessione UDP devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • measurement: specifica la matrice di parametri netstat da raccogliere. I valori possibili sono tcp_close, tcp_close_wait, tcp_closing, tcp_established, tcp_fin_wait1, tcp_fin_wait2, tcp_last_ack, tcp_listen, tcp_none, tcp_syn_sent, tcp_syn_recv, tcp_time_wait e udp_socket. Il campo è obbligatorio se includi netstat.

      Per visualizzare le unità di misura predefinite per ciascun parametro netstat, consulta Parametri raccolti dall'agente CloudWatch nelle istanze Linux e macOS.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri netstat, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di netstat. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

  • processes Facoltativo. Specifica che i parametri di processo devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • measurement: specifica la matrice di parametri processes da raccogliere. I valori possibili sono blocked, dead, idle, paging, running, sleeping, stopped, total, total_threads, wait e zombies. Il campo è obbligatorio se includi processes.

      Per tutti i parametri processes, l'unità di misura predefinita è None.

      Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di processo, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

      Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

      Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina Parametri ad alta risoluzione.

    • append_dimensions Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di processo. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions, usato per tutti i tipi di parametri raccolti dall'agente.

  • nvidia_gpu Facoltativo. Specifica che i parametri della GPU NVIDIA devono essere raccolti. Questa sezione è valida solo per le istanze Linux su host configurati con un acceleratore della GPU NVIDIA e hanno NVIDIA System Management Interface (nvidia-smi) installato.

    I parametri della GPU NVIDIA raccolti hanno come prefisso la stringa nvidia_smi_ per distinguerli da quelli raccolti per altri tipi di acceleratori. Questa sezione può includere i seguenti campi.

    • drop_original_metrics Facoltativo. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

    • measurement: specifica la matrice dei parametri della GPU NVIDIA da raccogliere. Per un elenco dei possibili valori da utilizzare, consulta la colonna Metric (Parametri) della tabella in Raccolta dei parametri della GPU NVIDIA.

      Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:

      • rename: specifica un nome diverso per questo parametro.

      • unit: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di None per il parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

    • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri della GPU NVIDIA, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

  • jmx : Opzionale. Specifica che desideri recuperare le metriche di Java Management Extensions (JMX) dall'istanza. Per ulteriori informazioni sui parametri che è possibile utilizzare in questa sezione e sulle metriche che è possibile raccogliere, consulta Raccolta delle metriche di Java Management Extensions (JMX).

  • otlp : Opzionale. Specifica che desideri raccogliere le metriche dall'SDK OpenTelemetry. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta Raccolta di metriche e tracce con OpenTelemetry.

  • procstat Facoltativo. Specifica che si desidera recuperare i parametri dai singoli processi. Per ulteriori informazioni sulle opzioni di configurazione disponibili per procstat, consulta Raccolta di parametri dei processi con il plug-in procstat.

  • statsd Facoltativo. Specifica che desideri recuperare i parametri personalizzati utilizzando il protocollo StatsD. L'agente CloudWatch agisce come daemon per il protocollo. È possibile utilizzare qualsiasi client StatsD standard per inviare i parametri all'agente CloudWatch. Per ulteriori informazioni sulle opzioni di configurazione disponibili per StatsD, consulta Recupero dei parametri personalizzati con StatsD.

  • ethtool Facoltativo. Specifica che desideri recuperare i parametri di rete utilizzando il plug-in ethtool. Questo plug-in può importare sia i parametri raccolti dall'utilità standard ethtool, sia i parametri delle prestazioni di rete dalle istanze Amazon EC2. Per ulteriori informazioni sulle opzioni di configurazione disponibili per ethtool, consulta Raccolta di parametri sulle prestazioni di rete.

Di seguito è riportato un esempio di una sezione metrics per un server Linux. In questo esempio vengono raccolti tre parametri CPU, tre parametri netstat, tre parametri di processo e un parametro del disco e l'agente è impostato per ricevere ulteriori parametri da un client collectd.

"metrics": { "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]], "metrics_collected": { "collectd": {}, "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "drop_original_metrics": [ "cpu_usage_guest" ], "metrics_collection_interval": 10, "append_dimensions": { "test": "test1", "date": "2017-10-01" } }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "resources": [ "*" ], "drop_device": true }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" } }

Windows Server

Nella sezione metrics_collected per Windows Server, puoi avere sottosezioni per ciascun oggetto prestazione di Windows, ad esempio Memory, Processor e LogicalDisk. Per informazioni sugli oggetti e sui contatori disponibili, consulta Contatori delle prestazioni nella documentazione di Microsoft Windows.

All'interno della sottosezione per ciascun oggetto, è necessario specificare una matrice measurement dei contatori da raccogliere. La matrice measurement è obbligatoria per ciascun oggetto specificato nel file di configurazione. Puoi inoltre specificare un campo resources per denominare le istanze da cui raccogliere i parametri. Puoi inoltre specificare * per resources per raccogliere parametri separati per ogni istanza. Se ometti resources per i contatori che hanno istanze, i dati per tutte le istanze vengono aggregati in un unico set. Se si omette resources per i contatori che non hanno istanze, i contatori non vengono raccolti dall'agente CloudWatch. Per determinare se i contatori dispongono della istanza, è possibile utilizzare uno dei seguenti comandi.

Powershell:

Get-Counter -ListSet *

Riga di comando (non Powershell):

TypePerf.exe –q

All'interno di ogni sezione di oggetti, puoi inoltre specificare i seguenti campi facoltativi:

  • metrics_collection_interval Facoltativo. Specifica la frequenza di raccolta dei parametri di questo oggetto, sostituendo il valore di metrics_collection_interval globale specificato nella sezione agent del file di configurazione.

    Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina Parametri ad alta risoluzione.

  • append_dimensions Facoltativo. Specifica le dimensioni aggiuntive da utilizzare solo per i parametri di questo oggetto. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo append_dimensions globale, usato per tutti i tipi di parametri raccolti dall'agente.

  • drop_original_metrics : Opzionale. Se utilizzi il campo aggregation_dimensions nella sezione metrics per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che i parametri originali vengano inviati a CloudWatch, puoi specificare questo parametro con un elenco di parametri. I parametri specificati insieme a questo parametro non hanno i relativi parametri per dimensione riportati a CloudWatch. Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

All'interno di ogni sezione di contatori, puoi inoltre specificare i seguenti campi facoltativi:

  • rename: specifica un nome diverso da utilizzare in CloudWatch per questo parametro.

  • unit: specifica l'unità di misura da utilizzare per questo parametro. L'unità di misura specificata deve essere un'unità di misura di parametro CloudWatch valida, come indicato nella descrizione di Unit in MetricDatum.

Esistono altre sezioni facoltative che puoi includere in metrics_collected:

  • statsd: consente di recuperare i parametri personalizzati utilizzando il protocollo StatsD. L'agente CloudWatch agisce come daemon per il protocollo. È possibile utilizzare qualsiasi client StatsD standard per inviare i parametri all'agente CloudWatch. Per ulteriori informazioni, consulta la pagina Recupero dei parametri personalizzati con StatsD.

  • procstat: consente di recuperare i parametri dai singoli processi. Per ulteriori informazioni, consulta Raccolta di parametri dei processi con il plug-in procstat.

  • jmx Facoltativo. Specifica che desideri recuperare le metriche di Java Management Extensions (JMX) dall'istanza. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione e sulle metriche che è possibile raccogliere, consulta Raccolta delle metriche di Java Management Extensions (JMX).

  • otlp : Opzionale. Specifica che desideri raccogliere le metriche dall'SDK OpenTelemetry. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta Raccolta di metriche e tracce con OpenTelemetry.

Di seguito è riportato un esempio di una sezione metrics per l'uso su Windows Server. In questo esempio, vengono raccolti molti parametri di Windows e il computer è impostato per ricevere ulteriori parametri da un client StatsD.

"metrics": { "metrics_collected": { "statsd": {}, "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ], "append_dimensions": { "d3": "win_bo" } }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "d3": "win_bo" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] } }

La sezione logs include i seguenti campi:

  • service.name : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

  • deployment.environment : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

  • logs_collected: obbligatorio se è inclusa la sezione logs. Specifica quali file di log e log di eventi Windows devono essere raccolti dal server. Può includere due campi: files e windows_events.

    • files: specifica i file di log regolari che l'agente CloudWatch deve raccogliere. Include il campo collect_list, che definisce ulteriormente questi file.

      • collect_list: campo obbligatorio se files è incluso. Contiene una matrice di voci, ciascuna delle quali specifica un file di log da raccogliere. Ciascuna di queste voci può includere i seguenti campi:

        • file_path— Specifica il percorso del file di log da caricare in CloudWatch Logs. Le regole di corrispondenza glob Standard Unix sono accettate, con l'aggiunta di ** come super asterisco. Ad esempio, specificando /var/log/**.log, tutti i file .log nella struttura di directory /var/log verranno raccolti. Per ulteriori esempi, consulta la pagina Web Glob Library.

          Puoi anche utilizzare l'asterisco standard come carattere jolly. Ad esempio, /var/log/system.log* corrisponde ai file, ad esempio system.log_1111, system.log_2222 e così via in /var/log.

          Viene eseguito il push in CloudWatch Logs solo del file più recente, in base all'ora di modifica del file. Ti consigliamo di utilizzare i caratteri jolly per specificare una serie di file dello stesso tipo, ad esempio access_log.2018-06-01-01 e access_log.2018-06-01-02, ma non file di più tipi, ad esempio access_log_80 e access_log_443. Per specificare più tipi di file, aggiungi un'altra voce di flusso di log al file di configurazione dell'agente in modo che ciascun tipo di file di log abbia come destinazione un flusso di log distinto.

        • auto_removal Facoltativo. Se è true, l'agente CloudWatch elimina automaticamente questo file di log dopo averlo letto e dopo che è stato ruotato. Di solito i file di log vengono eliminati dopo che l'intero contenuto è stato caricato su CloudWatch Logs, ma se l'agente raggiunge la fine del file (EOF) e rileva anche un altro file di log più recente che corrisponde allo stesso file_path, l'agente elimina il VECCHIO file, per cui bisogna assicurarsi di aver terminato la scrittura del VECCHIO file prima di creare il NUOVO file. La libreria di tracciamento RUST presenta un'incompatibilità nota perché potrebbe creare un NUOVO file di log e quindi tentare comunque di scrivere sul VECCHIO file di log.

          L'agente rimuove solo i file completi dai log che creano più file, ad esempio i log che creano file separati per ogni data. Se un log scrive continuamente in un singolo file, non viene rimosso.

          Se hai già un metodo di rotazione o rimozione dei file di log, si consiglia di omettere questo campo o impostarlo su false.

          Se non compili questo campo, verrà utilizzato il valore predefinito false.

        • log_group_name : Opzionale. Specifica quale nome utilizzare come nome del gruppo di log in CloudWatch Logs.

          È consigliabile usare questo campo per specificare un nome del gruppo di log per evitare confusione. Se log_group_name non è specificato, viene utilizzato come nome del gruppo di log il valore del file_path, fino al punto finale. Ad esempio, se il percorso del file è /tmp/TestLogFile.log.2017-07-11-14, il nome del gruppo di log sarà /tmp/TestLogFile.log.

          Se specifichi un nome del gruppo di log, puoi utilizzare {instance_id}, {hostname}, {local_hostname} e {ip_address} come variabili all'interno del nome. {hostname} recupera il nome host dai metadati EC2, mentre {local_hostname} utilizza il nome host dal file di configurazione di rete.

          Se utilizzi queste variabili per creare diversi gruppi di log, devi tenere presente il limite di 1.000.000 gruppi di log per Regione in ogni account.

          I caratteri consentiti includono a-z, A-Z, 0-9, '_' (trattino basso), '-' (trattino), '/' (barra) e '.' (punto).

        • log_group_class : Opzionale. Specifica quale classe di gruppo di log usare per il nuovo gruppo di log. Per ulteriori informazioni sulle classi dei gruppi di log, consulta Classi di log.

          I valori validi sono STANDARD e INFREQUENT_ACCESS. Se ometti questo campo, verrà utilizzato il valore predefinito STANDARD.

          Importante

          Dopo la creazione di un gruppo di log, la relativa classe non può essere modificata.

        • log_stream_name : Opzionale. Specifica quale nome utilizzare come nome del flusso di log in CloudWatch Logs. Nel nome, puoi utilizzare {instance_id}, {hostname}, {local_hostname} e {ip_address} come variabili all'interno del nome. {hostname} recupera il nome host dai metadati EC2, mentre {local_hostname} utilizza il nome host dal file di configurazione di rete.

          Se ometti questo campo, viene utilizzato il valore del parametro log_stream_name nella sezione logs globale. Se anche questo viene omesso, viene utilizzato il valore predefinito di {instance_id}.

          Se non esiste, il flusso di log verrà creato automaticamente.

        • retention_in_days : Opzionale. Specifica il numero di giorni in cui mantenere gli eventi di log nel gruppo di log specificato.

          • Se l'agente sta creando questo gruppo di log e si omette questo campo, la conservazione non avrà scadenza.

          • Se questo gruppo di flussi di log esiste già e si specifica questo campo, viene utilizzata la nuova conservazione specificata. Se si omette questo campo per un gruppo di flussi di log già esistente, la conservazione del gruppo non viene modificata.

            La procedura guidata dell'agente CloudWatch utilizza -1 come valore predefinito per questo campo quando viene utilizzato per creare il file di configurazione dell'agente e non si specifica un valore per la conservazione dei log. Questo valore -1 impostato dalla procedura guidata specifica che gli eventi nel gruppo di log non scadono. Tuttavia, la modifica manuale di questo valore su -1 non ha alcun effetto.

          I valori validi sono 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653.

          Se configuri l'agente in modo che scriva più flussi di log nello stesso gruppo, la specificazione del parametro retention_in_days in un'unica posizione imposterà la conservazione dei log per l'intero gruppo. Se definisci il parametro retention_in_days per lo stesso gruppo di log in più posizioni, la conservazione viene impostata se tutti i valori sono uguali. Tuttavia, se sono specificati valori del parametro retention_in_days diversi per lo stesso gruppo di log in più posizioni, la conservazione dei log non verrà impostata e l'agente si fermerà, restituendo un errore.

          Nota

          Per poter impostare le policy di conservazione, il ruolo o l'utente IAM dell'agente deve disporre della logs:PutRetentionPolicy.

          avvertimento

          Se hai impostato la retention_in_days per un gruppo di log già esistente, tutti i log del gruppo pubblicati prima del numero di giorni definito verranno eliminati. Ad esempio, se si imposta il valore su 3, sarebbero eliminati tutti i log antecedenti agli ultimi 3 giorni.

        • filters : Opzionale. Può contenere una matrice di voci, ognuna delle quali definisce un'espressione regolare e un tipo di filtro per definire se pubblicare o eliminare le voci di log corrispondenti al filtro. Se si omette questo campo, tutti i log nel file vengono pubblicati su CloudWatch Logs. Se si include questo campo, l'agente elabora ogni messaggio di log con tutti i filtri specificati e solo gli eventi di log che superano tutti i filtri vengono pubblicati su CloudWatch Logs. Le voci di log che non passano tutti i filtri rimarranno nel file di log dell'host, ma non verranno inviate a CloudWatch Logs.

          Ogni voce nella matrice dei filtri può includere i seguenti campi:

          • type: indica il tipo di filtro. I valori validi sono include e exclude. Con include, la voce di log deve corrispondere all'espressione da pubblicare su CloudWatch Logs. Con exclude, ogni voce di log corrispondente al filtro non viene inviata a CloudWatch Logs.

          • expression: una stringa di espressione regolare che segue la sintassi RE2.

            Nota

            L'agente CloudWatch non controlla le prestazioni di alcuna espressione regolare fornita o limita il tempo di esecuzione della valutazione delle espressioni regolari. Consigliamo di fare attenzione a non scrivere un'espressione dispendiosa da valutare. Per ulteriori informazioni sui possibili problemi, consulta Regular expression Denial of Service - ReDoS

          Ad esempio, il seguente estratto del file di configurazione dell'agente CloudWatch pubblica i log che corrispondono a richieste PUT e POST su CloudWatch Logs, ma esclude i log provenienti da Firefox.

          "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "filters": [ { "type": "exclude", "expression": "Firefox" }, { "type": "include", "expression": "P(UT|OST)" } ] }, ..... ]
          Nota

          L'ordine dei filtri nel file di configurazione influisce sulle prestazioni. Nell'esempio precedente, l'agente elimina tutti i log corrispondenti a Firefox prima di iniziare a valutare il secondo filtro. Per fare in modo che vengano valutate meno voci di log da più di un filtro, inserisci prima il filtro che prevedi escluda più log nel file di configurazione.

        • timezone : Opzionale. Specifica il fuso orario da utilizzare per l'inserimento di timestamp negli eventi di log. I valori validi sono UTC e Local. Il valore predefinito è Local.

          Questo parametro viene ignorato se non specifichi un valore per timestamp_format.

        • timestamp_format : Opzionale. Specifica il formato del timestamp, utilizzando testo normale e simboli speciali che iniziano con %. Se ometti questo campo, verrà utilizzata l'ora corrente. Se utilizzi questo campo, puoi utilizzare i simboli del seguente elenco nel formato.

          Nota

          Questo parametro non viene considerato quando file_path è impostato su amazon-cloudwatch-agent.log

          Se una singola voce di log contiene due timestamp che corrispondono al formato, viene utilizzato il primo timestamp.

          Questo elenco di simboli è diverso rispetto a quello utilizzato dal precedente agente CloudWatch Logs. Per un riepilogo delle differenze, consulta Differenze di timestamp tra l'agente CloudWatch e l'agente CloudWatch Logs precedente.

          %y

          Anno senza secolo come numero decimale a cui è aggiunto uno zero Ad esempio, 19 per rappresentare 2019.

          %Y

          Anno con secolo come numero decimale Ad esempio, 2019.

          %b

          Mese come il nome abbreviato nella lingua locale

          %B

          Mese come il nome completo nella lingua locale

          %m

          Mese come numero decimale a cui è aggiunto uno zero

          %-m

          Mese come numero decimale (senza l'aggiunta di uno zero)

          %d

          Giorno del mese come numero decimale a cui è aggiunto uno zero

          %-d

          Giorno del mese come numero decimale (senza l'aggiunta di uno zero)

          %A

          Nome completo di giorno feriale, ad esempio Monday

          %a

          Abbreviazione di giorno feriale, ad esempio Mon

          %H

          Ora (formato di 24 ore) come numero decimale a cui è aggiunto uno zero

          %I

          Ora (formato di 12 ore) come numero decimale a cui è aggiunto uno zero

          %-I

          Ora (formato di 12 ore) come numero decimale (senza l'aggiunta di uno zero)

          %p

          AM o PM

          %M

          Minuti come numero decimale a cui è aggiunto uno zero

          %-M

          Minuti come numero decimale (senza l'aggiunta di uno zero)

          %S

          Secondi come numero decimale a cui è aggiunto uno zero

          %-S

          Secondi come numero decimale (senza l'aggiunta di uno zero)

          %f

          Secondi frazionati come numero decimale (1-9 cifre), con l'aggiunta di zero a sinistra.

          %Z

          Fuso orario, ad esempio PST

          %z

          Fuso orario, espresso come la differenza tra il fuso orario locale e UTC. Ad esempio, -0700. È supportato solo questo formato. Ad esempio, -07:00 non è un formato valido.

        • multi_line_start_pattern: specifica il modello per identificare l'inizio di un messaggio di log. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello.

          Se questo campo viene omesso, la modalità a più righe viene disabilitata e le righe che iniziano con caratteri diversi da spazi vuoti chiudono il messaggio di log precedente e iniziano un nuovo messaggio di log.

          Se includi questo campo, puoi specificare {timestamp_format} per utilizzare la stessa espressione regolare come formato del timestamp. In caso contrario, puoi specificare un'espressione regolare diversa per CloudWatch Logs da usare per determinare le righe di inizio di voci a più righe.

        • encoding: specifica la codifica del file di log in modo che il file possa essere letto correttamente. Se specifichi una codifica non corretta, potrebbe verificarsi una perdita di dati, in quanto i caratteri che non possono essere decodificati saranno sostituiti da altri caratteri.

          Il valore predefinito è utf-8. Di seguito sono riportati i valori possibili:

          ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic

        • service.name : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

        • deployment.environment : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la ricerca della telemetria correlata.

    • La sezione windows_events specifica il tipo di eventi Windows da raccogliere dai server con Windows Server in esecuzione. Include i seguenti campi:

      • collect_list: campo obbligatorio se windows_events è incluso. Specifica i tipi e i livelli di eventi Windows da raccogliere. Ciascun log da raccogliere presenta una voce in questa sezione, che può includere i seguenti campi:

        • event_name: specifica il tipo di eventi Windows da registrare. Equivale al nome del canale del log degli eventi di Windows, ad esempio System, Security, Application e così via. Questo campo è obbligatorio per ogni tipo di evento Windows da registrare.

          Nota

          Quando CloudWatch recupera i messaggi da un canale di log di Windows, cerca il canale di log in base alle sue proprietà Full Name. Nel frattempo, nel riquadro di spostamento del Visualizzatore eventi di Windows vengono visualizzate le proprietà Log Name dei canali di log. Full Name e Log Name non sempre corrispondono. Per verificare il Full Name di un canale, fare clic con il pulsante destro del mouse nel Visualizzatore eventi di Windows e aprire Properties (Proprietà).

        • event_levels : Opzionale. Specifica i livelli di evento da registrare. È necessario specificare ciascun livello da registrare. I valori possibili sono INFORMATION, WARNING, ERROR, CRITICAL e VERBOSE. Questo campo è facoltativo per ogni tipo di evento Windows da registrare e può essere utilizzato con altre opzioni di filtro come event_ids e filters.

        • event_ids : Opzionale. Contiene un array di ID eventi di Windows per specificare quali eventi raccogliere dal log eventi di Windows. Quando questo campo è escluso, vengono raccolti tutti gli eventi del log eventi specificato. Quando questo campo è incluso, l'agente raccoglie solo gli eventi che corrispondono agli ID eventi specificati.

          Ogni voce dell'array event_ids deve essere un valore numerico di ID evento e può essere utilizzata con altre opzioni di filtro. Vedi la terza voce nell'esempio di configurazione riportato di seguito.

          Nota

          L'utilizzo di event_ids per il filtraggio è consigliato rispetto alle espressioni regex quando è necessario filtrare in base all'ID evento, in quanto offre prestazioni migliori.

        • filters : Opzionale. Contiene un array di voci. Ogni voce specifica un'espressione regolare e un tipo di filtro per definire se pubblicare o eliminare le voci di log corrispondenti al filtro. Se si include questo campo, l'agente elabora ogni messaggio di log con tutti i filtri specificati e solo gli eventi di log che superano tutti i filtri vengono pubblicati su CloudWatch Logs. I log eventi Windows che non superano tutti i filtri vengono scartati e non vengono inviati a CloudWatch Logs. La sezione filtri può essere utilizzata anche con altri meccanismi di filtraggio come gli ID degli eventi [4624, 4625] e i livelli di sistema (Information, Error o Critical) per filtrare efficacemente i log e inviarli a CloudWatch.

          Ogni voce nella matrice dei filtri può includere i seguenti campi:

          • type: specifica il tipo di filtro. I valori validi sono include e exclude. Con include, la voce eventi Windows deve corrispondere all'espressione da pubblicare su CloudWatch Logs. Con exclude, ogni voce eventi Windows corrispondente al filtro non viene inviata a CloudWatch Logs.

          • expression: una stringa di espressione regolare che segue la sintassi RE2.

          Nota

          L'agente CloudWatch non convalida le espressioni regolari fornite dall'utente. Inoltre, non limita il loro tempo di valutazione. Scrivi le espressioni con attenzione per evitare problemi di prestazioni. Per ulteriori informazioni sui rischi di sicurezza, consulta Regular expression Denial of Service - ReDoS.

          Nell'esempio di configurazione dell'agente riportato di seguito:

          Per la prima voce, l'agente invia a CloudWatch i log che contengono i messaggi di errore del database, tutte le attività relative all'autenticazione e tutti gli eventi di accesso (tentativi riusciti e falliti). Tutti i log che non corrispondono a questo schema vengono scartati.

          Nella seconda voce, il filtraggio iniziale viene eseguito in base agli ID degli eventi per l'abbonamento agli eventi Windows. L'agente raccoglie tutti i log che contengono la stringa utente, eliminando i log che non corrispondono a questi schemi. L'agente scarta quindi i log contenenti successful prima di inviare i log rimanenti a CloudWatch Logs. Ogni tipo di filtro viene applicato a ogni log degli eventi di Windows prima dell'invio a CloudWatch.

          "collect_list": [ { "event_name": "Application", "log_group_name": "ApplicationEvents", "log_stream_name": "ApplicationEvents", "filters": [ { "type": "include", "expression": "Database.*failed|Authentication.*|login.*" } ] }, { "event_name": "System", "log_group_name": "SystemEvents", "log_stream_name": "Logon-events", "event_ids": [ 4624, 4625 ], "filters": [ { "type": "include", "expression": ".*user.*" }, { "type": "exclude", "expression": ".*successful.*" } ] } ..... ]
          Nota

          L'ordine dei filtri nella configurazione influisce sulle prestazioni. Nella seconda voce, l'agente scarta tutti i log corrispondenti all'utente prima di iniziare a valutare la seconda espressione di filtro. Per prestazioni ottimali, ordina i filtri dal tasso di esclusione più alto a quello più basso.

          Sebbene sia possibile filtrare i log relativi agli ID degli eventi e ai livelli di sistema nell'espressione del filtro, per migliorare le prestazioni si consiglia di utilizzare event_ids e log_level come mostrato nella seconda voce.

          avvertimento

          Anche se tutti i meccanismi di filtraggio (event_levels, event_ids, filters) sono facoltativi, durante la configurazione dell'agente è necessario specificarne almeno uno per filtrare i log.

        • log_group_name: obbligatorio. Specifica quale nome utilizzare come nome del gruppo di log in CloudWatch Logs.

        • log_stream_name : Opzionale. Specifica quale nome utilizzare come nome del flusso di log in CloudWatch Logs. Nel nome, puoi utilizzare {instance_id}, {hostname}, {local_hostname} e {ip_address} come variabili all'interno del nome. {hostname} recupera il nome host dai metadati EC2, mentre {local_hostname} utilizza il nome host dal file di configurazione di rete.

          Se ometti questo campo, viene utilizzato il valore del parametro log_stream_name nella sezione logs globale. Se anche questo viene omesso, viene utilizzato il valore predefinito di {instance_id}.

          Se non esiste, il flusso di log verrà creato automaticamente.

        • event_format : Opzionale. Specifica il formato da utilizzare per l'archiviazione di eventi Windows in CloudWatch Logs. xml utilizza il formato XML come nel Visualizzatore eventi di Windows. text usa un formato legacy dell'agente CloudWatch Logs.

        • retention_in_days : Opzionale. Specifica il numero di giorni in cui mantenere gli eventi di Windows nel gruppo di log specificato.

          • Se l'agente sta creando questo gruppo di log e si omette questo campo, la conservazione non avrà scadenza.

          • Se questo gruppo di flussi di log esiste già e si specifica questo campo, viene utilizzata la nuova conservazione specificata. Se si omette questo campo per un gruppo di flussi di log già esistente, la conservazione del gruppo non viene modificata.

            La procedura guidata dell'agente CloudWatch utilizza -1 come valore predefinito per questo campo quando viene utilizzato per creare il file di configurazione dell'agente e non si specifica un valore per la conservazione dei log. Questo valore -1 specificato dalla procedura guidata specifica che gli eventi nel gruppo di log non scadono. Tuttavia, la modifica manuale di questo valore su -1 non ha alcun effetto.

          I valori validi sono 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653.

          Se configuri l'agente in modo che scriva più flussi di log nello stesso gruppo, la specificazione del parametro retention_in_days in un'unica posizione imposterà la conservazione dei log per l'intero gruppo. Se definisci il parametro retention_in_days per lo stesso gruppo di log in più posizioni, la conservazione viene impostata se tutti i valori sono uguali. Tuttavia, se sono specificati valori del parametro retention_in_days diversi per lo stesso gruppo di log in più posizioni, la conservazione dei log non verrà impostata e l'agente si fermerà, restituendo un errore.

          Nota

          Per poter impostare le policy di conservazione, il ruolo o l'utente IAM dell'agente deve disporre della logs:PutRetentionPolicy.

          avvertimento

          Se hai impostato la retention_in_days per un gruppo di log già esistente, tutti i log del gruppo pubblicati prima del numero di giorni definito verranno eliminati. Ad esempio, se si imposta il valore su 3, sarebbero eliminati tutti i log antecedenti agli ultimi 3 giorni.

  • log_stream_name : Opzionale. Specifica il nome del flusso di log predefinito da utilizzare per tutti i log o gli eventi Windows che non dispongono di nomi del flusso di log individuali definiti nel parametro log_stream_name all'interno della voce in collect_list.

  • endpoint_override: specifica un endpoint FIPS o un collegamento privato da utilizzare come endpoint in cui l'agente invia i log. Specificando questo campo e impostando un collegamento privato potrai inviare i log a un endpoint Amazon VPC. Per ulteriori informazioni, consulta Cos'è Amazon VPC?.

    Il valore di endpoint_override deve essere una stringa che è un URL.

    Ad esempio, la parte seguente della sezione dei log del file di configurazione imposta l'agente per utilizzare un endpoint VPC durante l'invio dei log.

    { "logs": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com", ...... }, }
  • force_flush_interval: specifica in secondi la quantità massima di tempo in cui i log rimangono nel buffer di memoria prima di essere inviati al server. Indipendentemente dall'impostazione di questo campo, se la dimensione dei log nel buffer raggiunge 1 MB, i log vengono immediatamente inviati al server. Il valore predefinito è 5.

    Se utilizzi l'agente per segnalare parametri ad alta risoluzione in formato dei parametri incorporati e stai impostando allarmi su tali parametri, mantieni questo parametro impostato sul valore predefinito di 5. In caso contrario, i parametri vengono segnalati con un ritardo che può causare allarmi su dati parziali o incompleti.

  • credentials: specifica un ruolo IAM da utilizzare durante l'invio di log a un account AWS diverso. Se specificato, questo campo contiene un parametro, role_arn.

    • role_arn: specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione durante l'invio di log a un account AWS diverso. Per ulteriori informazioni, consulta la pagina Invio di parametri, log e tracce a un altro account. Se specificato qui, sostituisce il role_arn specificato nella sezione agent del file di configurazione, se presente.

  • metrics_collected: questo campo può contenere sezioni per specificare che l'agente deve raccogliere i log per abilitare casi d'uso come CloudWatch Application Signals e Approfondimenti sui container con osservabilità migliorata per Amazon EKS.

    • application_signals (Facoltativo) Indica che desideri abilitare CloudWatch Application Signals. Per ulteriori informazioni su questa configurazione, consulta Attivazione di CloudWatch Application Signals.

    • kubernetes: questo campo può contenere un parametro enhanced_container_insights, che può essere utilizzato per abilitare Approfondimenti sui container con osservabilità migliorata per Amazon EKS.

      • enhanced_container_insights: imposta questo valore su true per abilitare Approfondimenti sui container con osservabilità migliorata per Amazon EKS. Per ulteriori informazioni, consulta Container Insights con osservabilità migliorata per Amazon EKS.

      • accelerated_compute_metrics: imposta questa opzione su false per disattivare la raccolta delle metriche di GPU Nvidia sui cluster Amazon EKS. Per ulteriori informazioni, consulta Metriche della GPU NVIDIA.

    • emf: per raccogliere i parametri integrati nei log, non è più necessario aggiungere questo campo emf. Questo è un campo legacy che specifica che l'agente deve raccogliere i log con formato del parametro integrato. È possibile generare dati di parametro da questi log. Per ulteriori informazioni, consulta Incorporamento dei parametri nei log.

    • otlp Facoltativo. Specifica che desideri raccogliere le metriche dall'SDK OpenTelemetry. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta Raccolta di metriche e tracce con OpenTelemetry.

Di seguito è riportato un esempio di una sezione logs.

"logs":{ "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "my_log_stream_name_1" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "log_stream_name": "my_log_stream_name_2" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_ids": [ 1001, 1008 ], "log_group_name": "System", "log_stream_name": "System" }, { "event_name": "CustomizedName", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" }, { "event_name": "Application", "event_levels": [ "INFORMATION", "ERROR" ], "event_ids":[ 7369, 5624 ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" } ] } }, "log_stream_name": "my_log_stream_name", "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } }

Aggiungendo una sezione traces al file di configurazione dell'agente CloudWatch, puoi abilitare CloudWatch Application Signals o raccogliere le tracce da X-Ray e da SDK di analisi OpenTelemetry Strumentation e inviarle a X-Ray.

Importante

Per inviare i dati di traccia a X-Ray, il ruolo IAM o l'utente IAM dell'agente devono disporre della policy AWSXrayWriteOnlyAccess.

Per iniziare rapidamente a raccogliere tracce, puoi aggiungere solo quanto segue al file di configurazione dell'agente CloudWatch.

"traces_collected": { "xray": { }, "otlp": { } }

Se si aggiunge la sezione precedente al file di configurazione dell'agente CloudWatch e si riavvia l'agente, l'agente inizierà a raccogliere tracce utilizzando le opzioni e i valori predefiniti riportati di seguito. Per ulteriori informazioni su questi parametri, consulta le definizioni dei parametri più avanti in questa sezione.

"traces_collected": { "xray": { "bind_address": "127.0.0.1:2000", "tcp_proxy": { "bind_address": "127.0.0.1:2000" } }, "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } }

La sezione traces può includere i seguenti campi:

  • traces_collected: obbligatorio se è inclusa la sezione traces. Specifica da quali SDK raccogliere le tracce. Include i seguenti campi:

    • application_signals : Opzionale. Indica che desideri abilitare CloudWatch Application Signals. Per ulteriori informazioni su questa configurazione, consulta Attivazione di CloudWatch Application Signals.

    • xray : Opzionale. Specifica che desideri raccogliere le tracce dall'SDK X-Ray. Questa sezione può includere i seguenti campi.

      • bind_address Facoltativo. Specifica l'indirizzo UDP per l'agente CloudWatch da utilizzare per ascoltare le tracce X-Ray. Il formato è ip:port. Questo indirizzo deve corrispondere all'indirizzo impostato nell'SDK X-Ray.

        Se ometti questo campo, verrà utilizzato il valore predefinito 127.0.0.1:2000.

      • tcp_proxy : Opzionale. Configura l'indirizzo di un proxy utilizzato per supportare il campionamento remoto di X-Ray. Per ulteriori informazioni, consulta Configurazione delle regole di campionamento nella console di X-Ray.

        Questa sezione può contenere i seguenti campi.

        • bind_address : Opzionale. Specifica l'indirizzo TCP su cui l'agente CloudWatch deve impostare il proxy. Il formato è ip:port. Questo indirizzo deve corrispondere all'indirizzo impostato nell'SDK X-Ray.

          Se ometti questo campo, verrà utilizzato il valore predefinito 127.0.0.1:2000.

    • otlp : Opzionale. Specifica che desideri raccogliere le tracce dall'SDK OpenTelemetry. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta Raccolta di metriche e tracce con OpenTelemetry. Per ulteriori informazioni su AWS Distro for OpenTelemetry, consulta AWS Distro for OpenTelemetry. Per ulteriori informazioni sugli SDK AWS Distro per OpenTelemetry, consulta Introduzione.

      Questa sezione può includere i seguenti campi.

      • grpc_endpoint Facoltativo. Specifica l'indirizzo dell'agente CloudWatch da utilizzare per ascoltare le tracce OpenTelemetry inviate utilizzando le chiamate di procedura remota gRPC. Il formato è ip:port. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore gRPC nell'SDK OpenTelemetry.

        Se ometti questo campo, verrà utilizzato il valore predefinito 127.0.0.1:4317.

      • http_endpoint : Opzionale. Specifica l'indirizzo per l'agente CloudWatch da utilizzare per ascoltare le tracce OTLP inviate su HTTP. Il formato è ip:port. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore HTTP nell'SDK OpenTelemetry.

        Se ometti questo campo, verrà utilizzato il valore predefinito 127.0.0.1:4318.

  • concurrency : Opzionale. Specifica il numero massimo di chiamate simultanee a X-Ray che possono essere utilizzate per caricare tracce. Il valore predefinito è 8.

  • local_mode : Opzionale. Se true, l'agente non raccoglie i metadati delle istanze Amazon EC2. Il valore predefinito è false.

  • endpoint_override : Opzionale. Specifica un endpoint FIPS o un collegamento privato da utilizzare come endpoint in cui l'agente CloudWatch invia le tracce. Specificando questo campo e impostando un collegamento privato potrai inviare le tracce a un endpoint Amazon VPC. Per ulteriori informazioni, consulta Cos'è Amazon VPC?.

    Il valore di endpoint_override deve essere una stringa che è un URL.

  • region_override : Opzionale. Specifica la Regione da utilizzare per l'endpoint X-Ray. L'agente CloudWatch invia le tracce a X-Ray nella Regione specificata. Se ometti questo campo, l'agente invia i parametri alla Regione in cui si trova l'istanza Amazon EC2.

    Se si specifica una Regione qui, questa avrà la precedenza sull'impostazione del parametro region nella sezione agent del file di configurazione.

  • proxy_override : Opzionale. Specifica l'indirizzo del server proxy per l'agente CloudWatch da utilizzare durante l'invio di richieste a X-Ray. Il protocollo del server proxy deve essere specificato come parte di questo indirizzo.

  • credentials: specifica un ruolo IAM da utilizzare durante l'invio di tracce a un account AWS diverso. Se specificato, questo campo contiene un parametro, role_arn.

    • role_arn: specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione durante l'invio di tracce a un account AWS diverso. Per ulteriori informazioni, consulta Invio di parametri, log e tracce a un altro account. Se specificato qui, sostituisce il role_arn specificato nella sezione agent del file di configurazione, se presente.

  • transit_spans_in_otlp_format : Opzionale. Se true, invia tracce a X-Ray nel formato OpenTelemetry Protocol, che supporta gli eventi di intervallo in Transaction Search. Per ulteriori informazioni, consulta Aggiunta degli attributi personalizzati. Il valore predefinito è false.

Di seguito è riportato un esempio di un file di configurazione dell'agente completo di CloudWatch per un server Linux.

Gli elementi elencati nelle sezioni measurement per i parametri che si desidera raccogliere possono specificare il nome parametro completo oppure solo la parte del nome del parametro che verrà aggiunta al tipo della risorsa. Ad esempio, specificando reads o diskio_reads nella sezione measurement della sezione diskio si causa la raccolta del parametro diskio_reads.

Questo esempio include entrambi i modi di specificare i parametri nella measurement sezione.

{ "agent": { "metrics_collection_interval": 10, "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "disk": { "resources": [ "/", "/tmp" ], "measurement": [ {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"}, "total", "used" ], "ignore_file_system_types": [ "sysfs", "devtmpfs" ], "metrics_collection_interval": 60, "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3", "customized_dimension_key_4": "customized_dimension_value_4" } }, "diskio": { "resources": [ "*" ], "measurement": [ "reads", "writes", "read_time", "write_time", "io_time" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used", "swap_free", "swap_used_percent" ] }, "mem": { "measurement": [ "mem_used", "mem_cached", "mem_total" ], "metrics_collection_interval": 1 }, "net": { "resources": [ "eth0" ], "measurement": [ "bytes_sent", "bytes_recv", "drop_in", "drop_out" ] }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]], "force_flush_interval" : 30 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "timezone": "Local" } ] } }, "log_stream_name": "my_log_stream_name", "force_flush_interval" : 15, "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } } }

Di seguito è riportato un esempio di un file di configurazione dell'agente completo di CloudWatch per un server che esegue Windows Server.

{ "agent": { "metrics_collection_interval": 60, "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "customizedObjectName": { "metrics_collection_interval": 60, "customizedCounterName": [ "metric1", "metric2" ], "resources": [ "customizedInstances" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ] }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "timezone": "Local" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System", "event_format": "xml" }, { "event_name": "CustomizedName", "event_levels": [ "WARNING", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream", "event_format": "xml" } ] } }, "log_stream_name": "example_log_stream_name" } }

Salvataggio manuale del file di configurazione dell'agente di CloudWatch.

Se crei o modifichi manualmente il file di configurazione dell'agente CloudWatch, puoi assegnargli qualsiasi nome. Dopo avere creato il file, potrai copiarlo negli altri server in cui desideri eseguire l'agente.

Caricamento del file di configurazione dell'agente CloudWatch nel Systems Manager Parameter Store

Se prevedi di utilizzare SSM Agent per installare l'agente CloudWatch sul server, dopo averlo modificato manualmente, potrai caricare il file di configurazione dell'agente CloudWatch su Parameter Store di Systems Manager. Per eseguire questa operazione, utilizza il comando put-parameter di Systems Manager.

Per poter archiviare il file in Parameter Store, devi utilizzare un ruolo IAM con autorizzazioni sufficienti.

Utilizza il seguente comando, in cui parameter name è il nome da utilizzare per questo file in Parameter Store e configuration_file_pathname corrisponde al percorso e al nome del file di configurazione modificato.

aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname