

AWS App Runner non sarà più aperto a nuovi clienti a partire dal 30 aprile 2026. Se desideri utilizzare App Runner, registrati prima di tale data. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [AWS App Runner la pagina Modifica della disponibilità](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Osservabilità per il tuo servizio App Runner
<a name="monitor"></a>

AWS App Runner si integra con diversi AWS servizi per fornirti un'ampia suite di strumenti di osservabilità per il tuo servizio App Runner. Gli argomenti di questo capitolo descrivono queste funzionalità.

**Topics**
+ [Monitoraggio dell'attività del servizio App Runner](monitor-activity.md)
+ [Visualizzazione dei log di App Runner trasmessi in streaming a Logs CloudWatch](monitor-cwl.md)
+ [Visualizzazione delle metriche del servizio App Runner riportate a CloudWatch](monitor-cw.md)
+ [Gestione degli eventi App Runner in EventBridge](monitor-ev.md)
+ [Registrazione delle chiamate API App Runner con AWS CloudTrail](monitor-ct.md)
+ [Tracciamento per l'applicazione App Runner con X-Ray](monitor-xray.md)

# Monitoraggio dell'attività del servizio App Runner
<a name="monitor-activity"></a>

AWS App Runner utilizza un elenco di operazioni per tenere traccia delle attività nel servizio App Runner. Un'operazione rappresenta una chiamata asincrona a un'azione API, come la creazione di un servizio, l'aggiornamento di una configurazione e la distribuzione di un servizio. Le sezioni seguenti mostrano come tenere traccia delle attività nella console App Runner e utilizzare l'API.

## Tieni traccia dell'attività del servizio App Runner
<a name="monitor-activity.monitor"></a>

Tieni traccia dell'attività del servizio App Runner utilizzando uno dei seguenti metodi:

------
#### [ App Runner console ]

La console App Runner mostra l'attività del servizio App Runner e offre altri modi per esplorare le operazioni.

**Per visualizzare l'attività del servizio**

1. Apri la [console App Runner](https://console.aws.amazon.com/apprunner) e, nell'elenco **Regioni**, seleziona la tua Regione AWS.

1. Nel riquadro di navigazione, scegli **Servizi**, quindi scegli il servizio App Runner.

   La console mostra la dashboard del servizio con una **panoramica del servizio**.  
![\[Pagina del dashboard del servizio App Runner che mostra l'elenco delle attività\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/console-dashboard.png)

1. Nella pagina della dashboard del servizio, scegli la scheda **Attività**, se non è già stata selezionata.

   La console mostra un elenco di operazioni.

1. Per trovare operazioni specifiche, scorri l'elenco inserendo un termine di ricerca. È possibile cercare qualsiasi valore visualizzato nella tabella.

1. Scegliete una delle operazioni elencate per visualizzare o scaricare il relativo registro.

------
#### [ App Runner API or AWS CLI ]

L'[ListOperations](https://docs.aws.amazon.com/apprunner/latest/api/API_ListOperations.html)azione, dato l'Amazon Resource Name (ARN) di un servizio App Runner, restituisce un elenco di operazioni avvenute su questo servizio. Ogni elemento dell'elenco contiene un ID operativo e alcuni dettagli di tracciamento.

------

# Visualizzazione dei log di App Runner trasmessi in streaming a Logs CloudWatch
<a name="monitor-cwl"></a>

Puoi utilizzare Amazon CloudWatch Logs per monitorare, archiviare e accedere ai file di registro generati dalle tue risorse in vari AWS servizi. Per ulteriori informazioni, consulta la [Amazon CloudWatch Logs User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).

AWS App Runner raccoglie l'output delle distribuzioni delle applicazioni e del servizio attivo e lo trasmette a Logs. CloudWatch Le seguenti sezioni elencano i flussi di log di App Runner e mostrano come visualizzarli nella console App Runner.

## Gruppi di log e stream di App Runner
<a name="monitor-cwl.streams"></a>

CloudWatch Logs conserva i dati di log in flussi di log che poi organizza ulteriormente in gruppi di log. Un *flusso di log* è una sequenza di eventi di registro provenienti da una fonte specifica. Un *gruppo di log* è un gruppo di flussi di log che condividono le stesse impostazioni di conservazione, monitoraggio e controllo degli accessi.

App Runner definisce due gruppi di log CloudWatch Logs, ciascuno con più flussi di log, per ogni servizio App Runner dell'utente. Account AWS

### Registri di servizio
<a name="monitor-cwl.streams.service"></a>

Il gruppo di registri di servizio contiene l'output di registrazione generato da App Runner in quanto gestisce il servizio App Runner e agisce su di esso.


|  **Nome del gruppo di log**  |  **Esempio**  | 
| --- | --- | 
|  `/aws/apprunner/service-name/service-id/service`  |  `/aws/apprunner/python-test/ac7ec8b51ff34746bcb6654e0bcb23da/service`  | 

All'interno del gruppo di log del servizio, App Runner crea un flusso di registro degli eventi per acquisire le attività nel ciclo di vita del servizio App Runner. Ad esempio, questo potrebbe essere l'avvio dell'applicazione o la sua sospensione.

Inoltre, App Runner crea un flusso di log per ogni operazione asincrona di lunga durata correlata al servizio. Il nome del flusso di registro riflette il tipo di operazione e l'ID operativo specifico.

Una *distribuzione* è un tipo di operazione. I registri di distribuzione contengono l'output di registrazione delle fasi di compilazione e distribuzione eseguite da App Runner quando si crea un servizio o si distribuisce una nuova versione dell'applicazione. I nomi dei flussi di log di distribuzione iniziano con `deployment/` e terminano con l'ID dell'operazione che esegue la distribuzione. Questa operazione è una [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)chiamata per la distribuzione iniziale dell'applicazione o una [StartDeployment](https://docs.aws.amazon.com/apprunner/latest/api/API_StartDeployment.html)chiamata per ogni ulteriore distribuzione.

All'interno di un registro di distribuzione, ogni messaggio di registro inizia con un prefisso:
+ `[AppRunner]`— Output generato da App Runner durante la distribuzione.
+ `[Build]`— Output dei propri script di compilazione.


|  **Nome del flusso di log**  |  **Esempio**  | 
| --- | --- | 
|  `events`  |  *N/A (nome fisso)*  | 
|  `operation-type/operation-id`  |  `deployment/c2c8eeedea164f459cf78f12a8953390`  | 

### Log di applicazioni
<a name="monitor-cwl.streams.deployment"></a>

Il gruppo di log dell'applicazione contiene l'output del codice dell'applicazione in esecuzione.


|  **Nome del gruppo di log**  |  **Esempio**  | 
| --- | --- | 
|  `/aws/apprunner/service-name/service-id/application`  |  `/aws/apprunner/python-test/ac7ec8b51ff34746bcb6654e0bcb23da/application`  | 

All'interno del gruppo di log dell'applicazione, App Runner crea un flusso di log per ogni istanza (unità di scalabilità) che esegue l'applicazione.


|  **Nome del flusso di log**  |  **Esempio**  | 
| --- | --- | 
|  `instance/instance-id`  |  `instance/1a80bc9134a84699b7b3432ebeebb591`  | 

## Visualizzazione dei log di App Runner nella console
<a name="monitor-cwl.console"></a>

La console App Runner mostra un riepilogo di tutti i log del servizio e consente di visualizzarli, esplorarli e scaricarli.

**Per visualizzare i registri del servizio**

1. Apri la [console App Runner](https://console.aws.amazon.com/apprunner) e, nell'elenco **Regioni**, seleziona il tuo. Regione AWS

1. Nel pannello di navigazione, scegli **Servizi**, quindi scegli il servizio App Runner.

   La console mostra la dashboard del servizio con una **panoramica del servizio**.  
![\[Pagina del dashboard del servizio App Runner che mostra l'elenco delle attività\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/console-dashboard.png)

1. Nella pagina del dashboard del servizio, scegli la scheda **Registri.**

   La console mostra alcuni tipi di log in diverse sezioni:
   + **Registro eventi**: attività nel ciclo di vita del servizio App Runner. La console mostra gli ultimi eventi.
   + **Registri di distribuzione: invia le** distribuzioni del repository al servizio App Runner. La console visualizza un flusso di log separato per ogni distribuzione.
   + **Registri delle applicazioni**: l'output dell'applicazione Web distribuita nel servizio App Runner. La console combina l'output di tutte le istanze in esecuzione in un unico flusso di log.  
![\[La scheda Logs nella pagina del dashboard del servizio App Runner\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/service-dashboad-logs.png)

1. Per trovare implementazioni specifiche, scorri l'elenco dei log di distribuzione inserendo un termine di ricerca. È possibile cercare qualsiasi valore visualizzato nella tabella.

1. Per visualizzare il contenuto di un registro, scegli **Visualizza registro completo (registro** eventi) o il nome del flusso di registro (registri di distribuzione e applicazione).

1. Scegli **Scarica** per scaricare un registro. Per un flusso di log di distribuzione, seleziona prima un flusso di log.

1. Scegli **Visualizza in CloudWatch** per aprire la CloudWatch console e utilizzare tutte le sue funzionalità per esplorare i log di servizio di App Runner. Per un flusso di log di distribuzione, seleziona prima un flusso di log.
**Nota**  
La CloudWatch console è particolarmente utile se si desidera visualizzare i log delle applicazioni di istanze specifiche anziché il registro dell'applicazione combinato.

# Visualizzazione delle metriche del servizio App Runner riportate a CloudWatch
<a name="monitor-cw"></a>

Amazon CloudWatch monitora le tue risorse Amazon Web Services (AWS) e le applicazioni su cui esegui AWS in tempo reale. Puoi utilizzarlo CloudWatch per raccogliere e tenere traccia delle metriche, che sono variabili che puoi misurare per le tue risorse e applicazioni. Puoi anche usarlo per creare allarmi che controllano le metriche. Quando viene raggiunta una certa soglia, CloudWatch invia notifiche o apporta automaticamente modifiche alle risorse monitorate. Per ulteriori informazioni, consulta la [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

AWS App Runner raccoglie una varietà di metriche che ti offrono una maggiore visibilità sull'utilizzo, le prestazioni e la disponibilità dei tuoi servizi App Runner. Alcune metriche tengono traccia delle singole istanze che eseguono il servizio Web, mentre altre riguardano il livello di servizio generale. Le seguenti sezioni elencano le metriche di App Runner e mostrano come visualizzarle nella console App Runner. 

## Metriche di App Runner
<a name="monitor-cw.metrics"></a>

App Runner raccoglie le seguenti metriche relative al tuo servizio e le pubblica nel namespace. CloudWatch `AWS/AppRunner`

**Nota**  
*Prima del 23 agosto 2023, le metriche relative all'**utilizzo della CPU e della** **memoria** si basavano sulle unità vCPU e sui megabyte di memoria utilizzati, anziché sulla percentuale di utilizzo, come calcolato oggi.* Se la tua applicazione è stata eseguita su App Runner prima di questa data e scegli di tornare a visualizzare le metriche per questa data su App Runner o sulla CloudWatch console, vedrai una visualizzazione delle metriche in entrambe le unità e di conseguenza vedrai anche alcune irregolarità. 

**Importante**  
Dovrai aggiornare tutti gli CloudWatch allarmi basati sui valori delle metriche relative all'*utilizzo della CPU e della* *memoria prima del 23 agosto* 2023. Aggiorna gli allarmi in modo che si attivino in base alla percentuale di utilizzo anziché alla vCPU o ai megabyte. Per ulteriori informazioni, consulta la [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

Le **metriche a livello di istanza** vengono raccolte singolarmente per ogni istanza (unità di scala).


|  **Cosa viene misurato?**  |  **Parametro**  |  **Descrizione**  | 
| --- | --- | --- | 
|  CPU utilization  |  `CPUUtilization`  |  La percentuale di utilizzo medio della CPU durante periodi di un minuto rispetto all'utilizzo totale della CPU riservato dalla configurazione del servizio.  | 
|  Memory utilization  |  `MemoryUtilization`  |  La percentuale di utilizzo medio della memoria durante periodi di un minuto rispetto alla memoria totale riservata dalla configurazione del servizio.  | 

Le **metriche del livello di servizio** vengono raccolte per l'intero servizio.


|  **Cosa viene misurato?**  |  **Parametro**  |  **Descrizione**  | 
| --- | --- | --- | 
|  CPU utilization  |  `CPUUtilization`  |  La percentuale di utilizzo aggregato della CPU su tutte le istanze durante periodi di un minuto rispetto all'utilizzo totale della CPU riservato dalla configurazione del servizio.  | 
|  Memory utilization  |  `MemoryUtilization`  |  La percentuale di utilizzo aggregato della memoria su tutte le istanze durante periodi di un minuto rispetto alla memoria totale riservata dalla configurazione del servizio.  | 
|  Concurrency  |  `Concurrency`  |  Il numero approssimativo di richieste simultanee gestite dal servizio.  | 
|  HTTP request count  |  `Requests`  |  Il numero di richieste HTTP ricevute dal servizio.  | 
|  HTTP status counts  |  `2xxStatusResponses` `4xxStatusResponses` `5xxStatusResponses`  |  Il numero di richieste HTTP che hanno restituito ogni stato di risposta, raggruppate per categoria (2XX, 4XX, 5XX).  | 
|  HTTP request latency  |  `RequestLatency`  |  Il tempo, in millisecondi, impiegato dal servizio Web per elaborare le richieste HTTP.  | 
|  Instance counts  |  `ActiveInstances`  |  Il numero di istanze che elaborano le richieste HTTP per il servizio.   Se la `ActiveInstances` metrica mostra zero, significa che non ci sono richieste per il servizio. Non indica che il numero di istanze del servizio sia zero.    | 

## Visualizzazione delle metriche di App Runner nella console
<a name="monitor-cw.console"></a>

La console App Runner mostra graficamente le metriche raccolte da App Runner per il tuo servizio e offre altri modi per esplorarle.

**Nota**  
Al momento, la console mostra solo le metriche di servizio. Per visualizzare le metriche delle istanze, usa la CloudWatch console.

**Per visualizzare i log del tuo servizio**

1. Apri la [console App Runner](https://console.aws.amazon.com/apprunner) e, nell'elenco **Regioni**, seleziona il tuo. Regione AWS

1. Nel riquadro di navigazione, scegli **Servizi**, quindi scegli il servizio App Runner.

   La console mostra la dashboard del servizio con una **panoramica del servizio**.  
![\[Pagina del dashboard del servizio App Runner che mostra l'elenco delle attività\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/console-dashboard.png)

1. Nella pagina del dashboard del servizio, scegli la scheda **Metriche**.

   La console mostra una serie di grafici delle metriche.   
![\[La scheda Metriche nella pagina del dashboard del servizio App Runner\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/service-dashboad-metrics.png)

1. Scegli una durata (ad esempio, **12 ore**) per adattare i grafici delle metriche al periodo recente di tale durata.

1. Scegli **Aggiungi alla dashboard** nella parte superiore di una delle sezioni del grafico o utilizza il menu su qualsiasi grafico per aggiungere le metriche pertinenti a una dashboard nella CloudWatch console per ulteriori indagini.

# Gestione degli eventi App Runner in EventBridge
<a name="monitor-ev"></a>

Con Amazon EventBridge, puoi configurare regole basate sugli eventi che monitorano un flusso di dati in tempo reale dal tuo AWS App Runner servizio per determinati modelli. Quando viene rispettato uno schema per una regola, EventBridge avvia un'azione in una destinazione come AWS Lambda Amazon ECS e Amazon AWS Batch SNS. Ad esempio, puoi impostare una regola per l'invio di notifiche e-mail segnalando un argomento di Amazon SNS ogni volta che una distribuzione del tuo servizio fallisce. In alternativa, puoi impostare una funzione Lambda per notificare a un canale Slack ogni volta che un aggiornamento del servizio fallisce. Per ulteriori informazioni su EventBridge, consulta [Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

App Runner invia i seguenti tipi di eventi a EventBridge
+ *Modifica dello stato del servizio*: modifica dello stato di un servizio App Runner. Ad esempio, lo stato di un servizio è cambiato in`DELETE_FAILED`.
+ *Modifica dello stato di funzionamento del servizio*: modifica dello stato di un'operazione lunga e asincrona su un servizio App Runner. Ad esempio, la creazione di un servizio è iniziata, un aggiornamento del servizio è stato completato con successo o la distribuzione del servizio è stata completata con errori.

## Creazione di una EventBridge regola per agire sugli eventi di App Runner
<a name="monitor-ev.rule"></a>

Un EventBridge *evento* è un oggetto che definisce alcuni EventBridge campi standard, come il AWS servizio di origine e il tipo di dettaglio (evento), e un insieme di campi specifici dell'evento con i dettagli dell'evento. Per creare una EventBridge regola, si utilizza la EventBridge console per definire uno *schema di eventi* (quali eventi devono essere registrati) e specificare un'*azione mirata* (cosa fare durante una partita). Uno schema di eventi è simile agli eventi a cui corrisponde. Si specifica un sottoinsieme di campi da abbinare e per ogni campo si specifica un elenco di valori possibili. Questo argomento fornisce esempi di eventi e modelli di eventi di App Runner.

Per ulteriori informazioni sulla creazione di EventBridge regole, consulta [Creating a rule for an AWS service](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) nella *Amazon EventBridge User Guide*.

**Nota**  
Alcuni servizi supportano *modelli predefiniti* in EventBridge. Ciò semplifica il modo in cui viene creato un modello di eventi. Seleziona i valori dei campi su un modulo e EventBridge genera lo schema automaticamente. Al momento, App Runner non supporta modelli predefiniti. Devi inserire il pattern come oggetto JSON. È possibile utilizzare gli esempi in questo argomento come punto di partenza.

## Esempi di eventi App Runner
<a name="monitor-ev.event-examples"></a>

Questi sono alcuni esempi di eventi a cui App Runner invia. EventBridge
+ Un evento di modifica dello stato del servizio. In particolare, un servizio che è cambiato dallo `RUNNING` stato `OPERATION_IN_PROGRESS` a.

  ```
  { 
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "AppRunner Service Status Change",
    "source": "aws.apprunner",
    "account": "111122223333",
    "time": "2021-04-29T11:54:23Z",
    "region": "us-east-2",
    "resources": [
      "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa"
    ],
    "detail": {
      "previousServiceStatus": "OPERATION_IN_PROGRESS",
      "currentServiceStatus": "RUNNING",
      "serviceName": "my-app",
      "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa",
      "message": "Service status is set to RUNNING.",
      "severity": "INFO"
    }
  }
  ```
+ Un evento di modifica dello stato dell'operazione. In particolare, un'`UpdateService`operazione completata con successo.

  ```
  { 
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "AppRunner Service Operation Status Change",
    "source": "aws.apprunner",
    "account": "111122223333",
    "time": "2021-04-29T18:43:48Z",
    "region": "us-east-2",
    "resources": [
      "arn:aws:apprunner:us-east-2:123456789012:service/my-app/8fe1e10304f84fd2b0df550fe98a71fa"
    ],
    "detail": {
      "operationStatus": "UpdateServiceCompletedSuccessfully",
      "serviceName": "my-app",
      "serviceId": "8fe1e10304f84fd2b0df550fe98a71fa",
      "message": "Service update completed successfully. New application and configuration is deployed.",
      "severity": "INFO"
    }
  }
  ```

## Esempi di pattern di eventi di App Runner
<a name="monitor-ev.pattern-examples"></a>

Gli esempi seguenti mostrano modelli di eventi che è possibile utilizzare nelle EventBridge regole per abbinare uno o più eventi di App Runner. Uno schema di eventi è simile a un evento. Includi solo i campi che desideri abbinare e fornisci un elenco anziché uno scalare per ciascuno di essi.
+ Abbina tutti gli eventi di modifica dello stato del servizio per i servizi di un account specifico, in cui il servizio non è più in `RUNNING` stato.

  ```
  { 
    "detail-type": [ "AppRunner Service Status Change" ],
    "source": [ "aws.apprunner" ],
    "account": [ "111122223333" ],
    "detail": {
      "previousServiceStatus": [ "RUNNING" ]
    }
  }
  ```
+ Abbina tutti gli eventi di modifica dello stato dell'operazione per i servizi di un account specifico, in cui l'operazione non è riuscita.

  ```
  { 
    "detail-type": [ "AppRunner Service Operation Status Change" ],
    "source": [ "aws.apprunner" ],
    "account": [ "111122223333" ],
    "detail": {
      "operationStatus": [
        "CreateServiceFailed",
        "DeleteServiceFailed",
        "UpdateServiceFailed",
        "DeploymentFailed",
        "PauseServiceFailed",
        "ResumeServiceFailed"
      ]
    }
  }
  ```

## Riferimento all'evento App Runner
<a name="monitor-ev.ref"></a>

### Modifica dello stato del servizio
<a name="monitor-ev.ref.service"></a>

Un evento di modifica dello stato del servizio è `detail-type` impostato su`AppRunner Service Status Change`. Ha i seguenti campi e valori di dettaglio:

```
"serviceId": "your service ID",
"serviceName": "your service name",
"message": "Service status is set to CurrentStatus.",
"previousServiceStatus": "any valid service status",
"currentServiceStatus": "any valid service status",
"severity": "varies"
```

### Modifica dello stato dell'operazione
<a name="monitor-ev.ref.operation"></a>

Un evento di modifica dello stato dell'operazione è `detail-type` impostato su`AppRunner Service Operation Status Change`. Ha i seguenti campi e valori di dettaglio:

```
"operationStatus": "see following table",
"serviceName": "your service name",
"serviceId": "your service ID",
"message": "see following table",
"severity": "varies"
```

La tabella seguente elenca tutti i possibili codici di stato e i messaggi correlati.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/monitor-ev.html)

# Registrazione delle chiamate API App Runner con AWS CloudTrail
<a name="monitor-ct"></a>

App Runner è integrato con AWS CloudTrail, un servizio che fornisce una registrazione delle azioni intraprese da un utente, ruolo o AWS servizio in App Runner. CloudTrailacquisisce tutte le chiamate API per App Runner come eventi. Le chiamate acquisite includono chiamate dalla console App Runner e chiamate di codice alle operazioni dell'API App Runner. Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3, inclusi gli eventi per App Runner. **Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella CloudTrail console nella cronologia degli eventi.** Utilizzando le informazioni raccolte da CloudTrail, puoi determinare la richiesta che è stata fatta ad App Runner, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata effettuata e dettagli aggiuntivi. 

Per ulteriori informazioni CloudTrail, consulta la [Guida per l'AWS CloudTrail utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informazioni su App Runner in CloudTrail
<a name="apprunner-info-in-cloudtrail"></a>

CloudTrail è abilitato sul tuo Account AWS quando crei l'account. Quando si verifica un'attività in App Runner, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi di AWS servizio nella **cronologia** degli eventi. Puoi visualizzare, cercare e scaricare eventi recenti in. Account AWS Per ulteriori informazioni, consulta [Visualizzazione degli eventi con la cronologia degli CloudTrail eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Per una registrazione continua degli eventi del tuo sito Account AWS, compresi gli eventi per App Runner, crea un percorso. Un *trail* consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando si crea un percorso nella console, questo sarà valido in tutte le Regioni AWS. Il trail registra gli eventi di tutte le regioni della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Inoltre, puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consulta gli argomenti seguenti: 
+ [Panoramica della creazione di un trail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Servizi e integrazioni supportati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configurazione delle notifiche Amazon SNS per CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Ricezione di file di CloudTrail registro da più regioni](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [ricezione di file di CloudTrail registro da](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html) più account

Tutte le azioni di App Runner vengono registrate CloudTrail e documentate nell'API Reference. AWS App Runner Ad esempio, le chiamate a `CreateService``DeleteConnection`, e `StartDeployment` le azioni generano voci nei file di registro. CloudTrail 

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue: 
+ Se la richiesta è stata effettuata con le credenziali dell'utente IAM o root.
+ Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.
+ Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta [Elemento CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Comprensione delle voci dei file di registro di App Runner
<a name="understanding-apprunner-entries"></a>

Un trail è una configurazione che consente la distribuzione di eventi come file di log in un bucket Amazon S3 specificato dall'utente. CloudTrail i file di registro contengono una o più voci di registro. Un evento rappresenta una singola richiesta proveniente da qualsiasi fonte e include informazioni sull'azione richiesta, la data e l'ora dell'azione e i parametri della richiesta. CloudTrail i file di registro non sono una traccia ordinata delle chiamate API pubbliche, quindi non vengono visualizzati in un ordine specifico. 

L'esempio seguente mostra una voce di CloudTrail registro che illustra l'`CreateService`azione.

**Nota**  
Per motivi di sicurezza, alcuni valori delle proprietà vengono oscurati nei registri e sostituiti con il testo. `HIDDEN_DUE_TO_SECURITY_REASONS` Ciò impedisce la divulgazione involontaria di informazioni segrete. Tuttavia, è ancora possibile vedere che queste proprietà sono state passate nella richiesta o restituite nella risposta.

### Esempio di CloudTrail registrazione per l'azione `CreateService` App Runner
<a name="understanding-apprunner-entries.example"></a>

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDACKCEVSQ6C2EXAMPLE",
    "arn": "arn:aws:iam::123456789012:user/aws-user",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
    "userName": "aws-user"
  },
  "eventTime": "2020-10-02T23:25:33Z",
  "eventSource": "apprunner.amazonaws.com",
  "eventName": "CreateService",
  "awsRegion": "us-east-2",
  "sourceIPAddress": "192.0.2.0",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36",
  "requestParameters": {
    "serviceName": "python-test",
    "sourceConfiguration": {
      "codeRepository": {
        "repositoryUrl": "https://github.com/github-user/python-hello",
        "sourceCodeVersion": {
          "type": "BRANCH",
          "value": "main"
        },
        "codeConfiguration": {
          "configurationSource": "API",
          "codeConfigurationValues": {
            "runtime": "python3",
            "buildCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
            "startCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
            "port": "8080",
            "runtimeEnvironmentVariables": "HIDDEN_DUE_TO_SECURITY_REASONS"
          }
        }
      },
      "autoDeploymentsEnabled": true,
      "authenticationConfiguration": {
        "connectionArn": "arn:aws:apprunner:us-east-2:123456789012:connection/your-connection/e7656250f67242d7819feade6800f59e"
      }
    },
    "healthCheckConfiguration": {
      "protocol": "HTTP"
    },
    "instanceConfiguration": {
      "cpu": "256",
      "memory": "1024"
    }
  },
  "responseElements": {
    "service": {
        "serviceName": "python-test",
        "serviceId": "dfa2b7cc7bcb4b6fa6c1f0f4efff988a",
        "serviceArn": "arn:aws:apprunner:us-east-2:123456789012:service/python-test/dfa2b7cc7bcb4b6fa6c1f0f4efff988a",
        "serviceUrl": "generated domain",
        "createdAt": "2020-10-02T23:25:32.650Z",
        "updatedAt": "2020-10-02T23:25:32.650Z",
        "status": "OPERATION_IN_PROGRESS",
        "sourceConfiguration": {
            "codeRepository": {
                "repositoryUrl": "https://github.com/github-user/python-hello",
                "sourceCodeVersion": {
                    "type": "Branch",
                    "value": "main"
                },
                "sourceDirectory": "/",
                "codeConfiguration": {
                    "codeConfigurationValues": {
                        "configurationSource": "API",
                        "runtime": "python3",
                        "buildCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
                        "startCommand": "HIDDEN_DUE_TO_SECURITY_REASONS",
                        "port": "8080",
                        "runtimeEnvironmentVariables": "HIDDEN_DUE_TO_SECURITY_REASONS"
                    }
                }
            },
            "autoDeploymentsEnabled": true,
            "authenticationConfiguration": {
                "connectionArn": "arn:aws:apprunner:us-east-2:123456789012:connection/your-connection/e7656250f67242d7819feade6800f59e"
            }
        },
        "healthCheckConfiguration": {
            "protocol": "HTTP",
            "path": "/",
            "interval": 5,
            "timeout": 2,
            "healthyThreshold": 3,
            "unhealthyThreshold": 5
        },
        "instanceConfiguration": {
            "cpu": "256",
            "memory": "1024"
        },
        "autoScalingConfigurationSummary": {
            "autoScalingConfigurationArn": "arn:aws:apprunner:us-east-2:123456789012:autoscalingconfiguration/DefaultConfiguration/1/00000000000000000000000000000001",
            "autoScalingConfigurationName": "DefaultConfiguration",
            "autoScalingConfigurationRevision": 1
        }
    }
},
  "requestID": "1a60af60-ecf5-4280-aa8f-64538319ba0a",
  "eventID": "e1a3f623-4d24-4390-a70b-bf08a0e24669",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "recipientAccountId": "123456789012"
}
```

# Tracciamento per l'applicazione App Runner con X-Ray
<a name="monitor-xray"></a>

AWS X-Ray è un servizio che raccoglie dati sulle richieste servite dall'applicazione e fornisce strumenti che è possibile utilizzare per visualizzare, filtrare e acquisire informazioni su tali dati per identificare problemi e opportunità di ottimizzazione. Per ogni richiesta tracciata all'applicazione, è possibile visualizzare informazioni dettagliate non solo sulla richiesta e sulla risposta, ma anche sulle chiamate effettuate dall'applicazione verso AWS risorse a valle, microservizi, database e siti Web HTTP. APIs

X-Ray utilizza i dati di traccia provenienti dalle AWS risorse che alimentano le applicazioni cloud per generare un grafico dettagliato dei servizi. Il grafo del servizio mostra il client, il tuo servizio di front-end e i servizi di back-end invocati dal servizio di front-end per elaborare le richieste e memorizzare i dati in modo persistente. Utilizza il grafo del servizio per identificare i colli di bottiglia, i picchi di latenza e altri problemi da risolvere per migliorare le prestazioni delle applicazioni.

Per ulteriori informazioni su X-Ray, consulta la [Guida per gli sviluppatori di AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/).

![\[Un esempio di mappa di servizio X-Ray per un servizio App Runner\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/xray-example.png)


## Strumenta la tua applicazione per il tracciamento
<a name="monitor-xray.instrument"></a>

Strumenta la tua applicazione di servizio App Runner per il tracciamento utilizzando una specifica di [OpenTelemetry](https://github.com/open-telemetry)telemetria portatile. Al momento, App Runner supporta [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT), un' OpenTelemetryimplementazione che raccoglie e presenta informazioni di telemetria utilizzando i servizi. AWS X-Ray implementa il componente di tracciamento.

**A seconda dello specifico ADOT SDK utilizzato nell'applicazione, ADOT supporta fino a due approcci strumentali: automatico e manuale.** Per ulteriori informazioni sulla strumentazione con il tuo SDK, consulta la [documentazione ADOT](https://aws-otel.github.io/docs/introduction) e scegli il tuo SDK nel pannello di navigazione.

### Configurazione del runtime
<a name="monitor-xray.instrument.setup"></a>

 Di seguito sono riportate le istruzioni generali di configurazione del runtime per strumentare l'applicazione di servizio App Runner per il tracciamento. 

**Per configurare il tracciamento per il runtime**

1.  Segui le istruzioni fornite per il runtime in [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) (ADOT), per strumentare l'applicazione. 

1.  Installa le `OTEL` dipendenze richieste nella `build` sezione del `apprunner.yaml` file se stai usando il repository del codice sorgente o nel Dockerfile se stai usando un'immagine del contenitore. 

1.  Imposta le variabili di ambiente nel `apprunner.yaml` file se stai usando il repository del codice sorgente o nel Dockerfile se stai usando un'immagine del contenitore.   
**Example Variabili di ambiente**  
**Nota**  
L'esempio seguente elenca le importanti variabili di ambiente da aggiungere al file. `apprunner.yaml` Aggiungi queste variabili di ambiente al tuo Dockerfile se stai usando un'immagine del contenitore. Tuttavia, ogni runtime può avere le proprie idiosincrasie e potrebbe essere necessario aggiungere altre variabili di ambiente all'elenco seguente. *Per ulteriori informazioni sulle istruzioni specifiche del runtime ed esempi su come configurare l'applicazione per il runtime, consultate [AWS Distro for OpenTelemetry e vai al runtime, in Getting](https://aws-otel.github.io/docs/introduction) Started.* 

   ```
   env:
       - name: OTEL_PROPAGATORS
         value: xray
       - name: OTEL_METRICS_EXPORTER
         value: none
       - name: OTEL_EXPORTER_OTLP_ENDPOINT
         value: http://localhost:4317  
       - name: OTEL_RESOURCE_ATTRIBUTES
         value: 'service.name=example_app'
   ```
**Nota**  
 `OTEL_METRICS_EXPORTER=none`è una variabile di ambiente importante per App Runner poiché il raccoglitore App Runner Otel non accetta la registrazione delle metriche. Accetta solo il tracciamento delle metriche. 

### Esempio di configurazione del runtime
<a name="monitor-xray.instrument.example"></a>

[L'esempio seguente dimostra la strumentazione automatica dell'applicazione con ADOT Python SDK.](https://aws-otel.github.io/docs/getting-started/python-sdk) L'SDK produce automaticamente intervalli con dati di telemetria che descrivono i valori utilizzati dai framework Python nell'applicazione senza aggiungere una sola riga di codice Python. È necessario aggiungere o modificare solo poche righe in due file sorgente.

Innanzitutto, aggiungete alcune dipendenze, come illustrato nell'esempio seguente.

**Example requirements.txt**  

```
opentelemetry-distro[otlp]>=0.24b0
opentelemetry-sdk-extension-aws~=2.0
opentelemetry-propagator-aws-xray~=1.0
```

Quindi, strumentate la vostra applicazione. Il modo per farlo dipende dalla fonte del servizio, dall'immagine sorgente o dal codice sorgente.

------
#### [ Source image ]

Se la fonte del servizio è un'immagine, puoi utilizzare direttamente il Dockerfile che controlla la creazione dell'immagine del contenitore e l'esecuzione dell'applicazione nell'immagine. L'esempio seguente mostra un Dockerfile con strumenti per un'applicazione Python. Le aggiunte alla strumentazione sono enfatizzate in grassetto.

**Example Dockerfile**  

```
FROM public.ecr.aws/amazonlinux/amazonlinux:latest
RUN yum install python3.7 -y && curl -O https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py && yum update -y
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt
RUN opentelemetry-bootstrap --action=install
ENV OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=urllib3
ENV OTEL_METRICS_EXPORTER=none              
ENV OTEL_RESOURCE_ATTRIBUTES='service.name=example_app'
CMD OTEL_PROPAGATORS=xray OTEL_PYTHON_ID_GENERATOR=xray opentelemetry-instrument python3 app.py
EXPOSE 8080
```

------
#### [ Source code repository ]

Quando la fonte del servizio è un repository contenente l'origine dell'applicazione, si strumenta indirettamente l'immagine utilizzando le impostazioni del file di configurazione di App Runner. Queste impostazioni controllano il Dockerfile che App Runner genera e utilizza per creare l'immagine per l'applicazione. L'esempio seguente mostra un file di configurazione App Runner strumentato per un'applicazione Python. Le aggiunte alla strumentazione sono evidenziate in grassetto.

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install -r requirements.txt
      - opentelemetry-bootstrap --action=install
run: 
  command: opentelemetry-instrument python app.py
  network: 
    port: 8080 
  env:
    - name: OTEL_PROPAGATORS
      value: xray
    - name: OTEL_METRICS_EXPORTER
      value: none
    - name: OTEL_PYTHON_ID_GENERATOR
      value: xray  
    - name: OTEL_PYTHON_DISABLED_INSTRUMENTATIONS 
      value: urllib3
    - name: OTEL_RESOURCE_ATTRIBUTES
      value: 'service.name=example_app'
```

------

## Aggiungi le autorizzazioni X-Ray al tuo ruolo di istanza del servizio App Runner
<a name="monitor-xray.role"></a>

Per utilizzare il tracciamento a raggi X con il servizio App Runner, è necessario fornire alle istanze del servizio le autorizzazioni per interagire con il servizio X-Ray. Puoi farlo associando un ruolo di istanza al tuo servizio e aggiungendo una policy gestita con autorizzazioni X-Ray. Per ulteriori informazioni su un ruolo di istanza di App Runner, consulta. [Ruolo dell’istanza](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service.instance) Aggiungi la policy `AWSXRayDaemonWriteAccess` gestita al ruolo dell'istanza e assegnala al servizio durante la creazione.

## Abilita il tracciamento X-Ray per il tuo servizio App Runner
<a name="monitor-xray.config"></a>

Quando [crei un servizio](manage-create.md), App Runner disabilita il tracciamento per impostazione predefinita. Puoi abilitare il tracciamento a raggi X per il tuo servizio come parte della configurazione dell'osservabilità. Per ulteriori informazioni, consulta [Gestisci l'osservabilità](manage-configure-observability.md#manage-configure-observability.manage).

Se si utilizza l'API App Runner o AWS CLI, l'[TraceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_TraceConfiguration.html)oggetto all'interno dell'oggetto [ObservabilityConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_ObservabilityConfiguration.html)risorsa contiene le impostazioni di tracciamento. Per mantenere disabilitato il tracciamento, non specificate un oggetto. `TraceConfiguration`

Sia nella console che nell'API, assicurati di associare il ruolo dell'istanza discusso nella sezione precedente al servizio App Runner.

## Visualizza i dati di tracciamento X-Ray per il tuo servizio App Runner
<a name="monitor-xray.view"></a>

Nella scheda **Osservabilità** della [pagina del dashboard del servizio](console.md#console.dashboard) nella console App Runner, scegli **Visualizza mappa del servizio** per accedere alla console Amazon CloudWatch .

![\[Pagina della dashboard del servizio App Runner che mostra la scheda di osservabilità\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/images/service-dashboad-observability.png)


Usa la CloudWatch console Amazon per visualizzare le mappe e le tracce dei servizi per le richieste servite dalla tua applicazione. Le mappe dei servizi mostrano informazioni come la latenza delle richieste e le interazioni con altre applicazioni e AWS servizi. Le annotazioni personalizzate che aggiungi al codice ti consentono di cercare facilmente le tracce. Per ulteriori informazioni, consulta [Using ServiceLens to monitoring the health of your application](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceLens.html) nella *Amazon CloudWatch User Guide*.