

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à.

# 
<a name="CHAP_Monitor_Logs_Events"></a>

Quando monitori i tuoi database Amazon RDS Aurora e AWS altre soluzioni, il tuo obiettivo è mantenere quanto segue:
+ Affidabilità
+ Disponibilità
+ Performance
+ Sicurezza

[Monitoraggio di parametri in un'istanza Amazon RDS](CHAP_Monitoring.md) spiega come monitorare l'istanza usando i parametri. Una soluzione completa deve inoltre monitorare gli eventi del database, i file di log e i flussi di attività. AWS fornisce i seguenti strumenti di monitoraggio:
+ *Amazon EventBridge* è un servizio di bus eventi senza server che semplifica la connessione delle applicazioni con dati provenienti da una varietà di fonti. EventBridge offre un flusso di dati in tempo reale dalle tue applicazioni, applicazioni Software-as-a-Service (SaaS) e AWS servizi. EventBridge indirizza tali dati verso obiettivi come AWS Lambda. In questo modo, puoi monitorare gli eventi che si verificano nei servizi e creare architetture basate su eventi. Per ulteriori informazioni, consulta la [Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/).
+ *Amazon CloudWatch Logs* offre un modo per monitorare, archiviare e accedere ai file di log da istanze Amazon RDS AWS CloudTrail, e altre fonti. Amazon CloudWatch Logs può monitorare le informazioni nei file di registro e avvisarti quando vengono raggiunte determinate soglie. Puoi inoltre archiviare i dati del log in storage estremamente durevole. Per ulteriori informazioni, consulta la [Amazon CloudWatch Logs User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).
+ *AWS CloudTrail*acquisisce le chiamate API e gli eventi correlati effettuati da o per conto del tuo. Account AWS CloudTrail consegna i file di log a un bucket Amazon S3 specificato. Puoi identificare quali utenti e account hanno effettuato le chiamate AWS, l'indirizzo IP di origine da cui sono state effettuate le chiamate e quando sono avvenute le chiamate. Per ulteriori informazioni, consulta la [Guida per l'utente AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).
+ I *flussi di attività di database* sono una funzionalità di Amazon RDS  che fornisce un flusso quasi in tempo reale dell'attività nell'istanza database. Amazon RDS inserisce le attività in Amazon Kinesis Data Streams. Il flusso Kinesis viene creato automaticamente. Da Kinesis, puoi configurare AWS servizi come Amazon Data Firehose e consumare lo stream e AWS Lambda archiviare i dati.

**Topics**
+ [Visualizzazione di registri, eventi e flussi nella console Amazon RDS](logs-events-streams-console.md)
+ [Monitoraggio di eventi Amazon RDS](working-with-events.md)
+ [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md)
+ [Monitoraggio delle chamate API di Amazon RDS in AWS CloudTrail](logging-using-cloudtrail.md)
+ [Monitoraggio di Amazon RDS tramite i flussi di attività del database](DBActivityStreams.md)
+ [Monitoraggio delle minacce con Amazon GuardDuty RDS Protection](guard-duty-rds-protection.md)

# Visualizzazione di registri, eventi e flussi nella console Amazon RDS
<a name="logs-events-streams-console"></a>

Amazon RDS si integra con Servizi AWS per mostrare informazioni su log, eventi e flussi di attività del database nella console RDS.

La scheda **Logs & events (Registri ed eventi)** per l'istanza di database RDS mostra le informazioni seguenti:
+ **Amazon CloudWatch alarms**: mostra tutti gli allarmi metrici che hai configurato per l'istanza DB nel . Se non hai configurato allarmi, puoi crearli nella console di RDS. Per ulteriori informazioni, consulta [Monitoraggio dei parametri di Amazon RDS Aurora con Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Recent events (Eventi recenti)**: mostra un riepilogo degli eventi (modifiche all'ambiente) per l'istanza database RDS. Per ulteriori informazioni, consulta [Visualizzazione di eventi Amazon RDS](USER_ListEvents.md).
+ **Log (Registro)**: mostra i file di log del database generati da un'istanza database . Per ulteriori informazioni, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md).

La scheda **Configuration (Configurazione)** mostra le informazioni sui flussi di attività di database.

**Per visualizzare log, eventi e stream per il di istanze DB nella console RDS**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Databases (Database)**.

1. Scegliere il nome del di database che si desidera monitorare.

   Verrà visualizzata la pagina Databases (Database). L'esempio seguente mostra un database Oracle denominato `orclb`.  
![\[Pagina del database con scheda di monitoraggio mostrata\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/oracle-with-monitoring-tab.png)

1. Scegliere **Logs & events (Log ed eventi)**.

   Viene visualizzata la sezione Logs & events (Log ed eventi).  
![\[Pagina del database con la scheda Logs & events (Log ed eventi) mostrata\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/oracle-logs-and-events-subpage.png)

1. Scegliere **Configuration (Configurazione)**.

   L'esempio seguente mostra lo stato dei flussi di attività del database per l'istanza database.  
![\[Monitoraggio avanzato\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/oracle-das.png)

# Monitoraggio di eventi Amazon RDS
<a name="working-with-events"></a>

Un *evento* indica una modifica in un ambiente. Questo può essere un ambiente AWS, un'applicazione o un servizio partner SaaS o uno dei servizi o applicazioni personalizzati. Per le descrizioni degli eventi RDS, consulta [Categorie di eventi e messaggi di eventi di Amazon RDS ](USER_Events.Messages.md).

**Topics**
+ [Panoramica degli eventi per Amazon RDS](#rds-cloudwatch-events.sample)
+ [Visualizzazione di eventi Amazon RDS](USER_ListEvents.md)
+ [Utilizzo della notifica degli eventi di Amazon RDS](USER_Events.md)
+ [Creazione di una regola che si attiva su un evento Amazon RDS](rds-cloud-watch-events.md)
+ [Categorie di eventi e messaggi di eventi di Amazon RDS](USER_Events.Messages.md)

## Panoramica degli eventi per Amazon RDS
<a name="rds-cloudwatch-events.sample"></a>

Un *evento RDS* indica una modifica nell'ambiente Amazon RDS. Ad esempio, Amazon Aurora di genera un evento quando lo stato di un'istanza database cambia da in sospeso a in esecuzione. Amazon RDS distribuisce gli eventi a EventBridge quasi in tempo reale.

**Nota**  
Amazon RDS emette eventi sulla base del massimo sforzo. Si consiglia di non scrivere programmi che dipendono dall'ordine o dall'esistenza di eventi di notifica, poiché potrebbero essere fuori sequenza o mancanti.

Amazon RDS registra gli eventi correlati alle seguenti risorse:
+ Istanze DB

  Per un elenco degli eventi dell'istanza database, consulta [Eventi di istanza database](USER_Events.Messages.md#USER_Events.Messages.instance).
+ Gruppi di parametri database

  Per un elenco degli eventi del gruppo parametri del database, consulta [Eventi gruppo di parametri database](USER_Events.Messages.md#USER_Events.Messages.parameter-group).
+ Gruppi di sicurezza DB

  Per un elenco di eventi del gruppo di sicurezza DB, consulta [Eventi gruppo di sicurezza DB](USER_Events.Messages.md#USER_Events.Messages.security-group).
+ Snapshot DB

  Per un elenco di eventi degli snapshot DB, consulta [Eventi degli snapshot DB](USER_Events.Messages.md#USER_Events.Messages.snapshot).
+ Eventi RDS Proxy

  Per un elenco degli eventi RDS Proxy, consulta [Eventi RDS Proxy](USER_Events.Messages.md#USER_Events.Messages.rds-proxy).
+ Eventi di implementazione blu/verde

  Per l'elenco degli eventi di implementazione blu/verde, consulta [Eventi di implementazione blu/verde](USER_Events.Messages.md#USER_Events.Messages.BlueGreenDeployments).

Queste informazioni comprendono: 
+ La data e l'ora dell'evento
+ Il nome di origine e il tipo di origine dell'evento
+ Un messaggio associato all'evento
+ Le notifiche degli eventi includono i tag che fanno riferimento al momento in cui il messaggio è stato inviato e potrebbero non riflettere i tag riferiti al momento in cui si è verificato l'evento.

# Visualizzazione di eventi Amazon RDS
<a name="USER_ListEvents"></a>

Puoi recuperare le seguenti informazioni sull'evento per le risorse Amazon RDS:
+ Nome risorsa
+ Tipo di risorsa
+ Ora dell'evento
+ Riepilogo del messaggio dell'evento

È possibile accedere agli eventi nelle seguenti sezioni della Console di gestione AWS:
+ La scheda **Eventi**, che mostra gli eventi delle ultime 24 ore.
+ La tabella **Eventi recenti** nella sezione **Log ed eventi** della scheda **Database**, che può mostrare gli eventi relativi alle ultime 2 settimane.

Puoi anche recuperare gli eventi usando il comando AWS CLI [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) o l'operazione API RDS [DescribeEvents](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html). Se utilizzi la AWS CLI o l'API RDS per visualizzare gli eventi, puoi recuperare gli eventi fino agli ultimi 14 giorni. 

**Nota**  
Se occorre archiviare eventi per periodi di tempo più lunghi, è possibile inviare eventi Amazon RDS a EventBridge. Per ulteriori informazioni, consulta [Creazione di una regola che si attiva su un evento Amazon RDS](rds-cloud-watch-events.md)

Per le descrizioni degli eventi Amazon RDS, vedi [Categorie di eventi e messaggi di eventi di Amazon RDS ](USER_Events.Messages.md).

Per accedere a informazioni dettagliate relative agli eventi utilizzando AWS CloudTrail, inclusi i parametri della richiesta, consulta [Eventi CloudTrail](logging-using-cloudtrail.md#service-name-info-in-cloudtrail.events).

## Console
<a name="USER_ListEvents.CON"></a>

**Per visualizzare tutti gli eventi dell'istanza Amazon RDS delle ultime 24 ore**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione selezionare **Events (Eventi)**. 

   Gli eventi disponibili sono indicati all'interno di un elenco.

1. (Opzionale) Inserisci un termine di ricerca per filtrare i risultati. 

   Il seguente esempio mostra un elenco di eventi filtrati mediante i caratteri **stopped**.  
![\[Elenco di eventi database\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ListEvents.png)

## AWS CLI
<a name="USER_ListEvents.CLI"></a>

Per visualizzare tutti gli eventi generati nell'ultima ora, invoca [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) senza parametri.

```
aws rds describe-events
```

Il seguente output di esempio mostra che un'istanza database è stata arrestata.

```
{
    "Events": [
        {
            "EventCategories": [
                "notification"
            ], 
            "SourceType": "db-instance", 
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:testinst", 
            "Date": "2022-04-22T21:31:00.681Z", 
            "Message": "DB instance stopped", 
            "SourceIdentifier": "testinst"
        }
    ]
}
```

Per visualizzare tutti gli eventi di Amazon RDS per gli ultimi 10.080 minuti (7 giorni) invoca il comando [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) della AWS CLI e imposta il parametro `--duration` su `10080`.

```
1. aws rds describe-events --duration 10080
```

L'esempio seguente mostra gli eventi nell'intervallo di tempo specificato per l'istanza database *test-instance*.

```
aws rds describe-events \
    --source-identifier test-instance \
    --source-type db-instance \
    --start-time 2022-03-13T22:00Z \
    --end-time 2022-03-13T23:59Z
```

L'output di esempio seguente mostra lo stato di un backup.

```
{
    "Events": [
        {
            "SourceType": "db-instance",
            "SourceIdentifier": "test-instance",
            "EventCategories": [
                "backup"
            ],
            "Message": "Backing up DB instance",
            "Date": "2022-03-13T23:09:23.983Z",
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance"
        },
        {
            "SourceType": "db-instance",
            "SourceIdentifier": "test-instance",
            "EventCategories": [
                "backup"
            ],
            "Message": "Finished DB Instance backup",
            "Date": "2022-03-13T23:15:13.049Z",
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance"
        }
    ]
}
```

## API
<a name="USER_ListEvents.API"></a>

Puoi visualizzare tutti gli eventi dell'istanza Amazon RDS per gli ultimi 14 giorni chiamando l'operazione API RDS [DescribeEvents](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html) e impostando il parametro `Duration` su `20160`.

# Utilizzo della notifica degli eventi di Amazon RDS
<a name="USER_Events"></a>

Amazon RDS usa Amazon Simple Notification Service (Amazon SNS) per fornire una notifica quando si verifica un evento Amazon RDS. Queste notifiche possono essere in qualsiasi forma supportata da Amazon SNS per una regione AWS, ad esempio un'e-mail, un SMS o una chiamata a un endpoint HTTP. 

**Topics**
+ [Panoramica delle notifiche eventi di Amazon RDS](USER_Events.overview.md)
+ [Concessione di autorizzazioni per pubblicare le notifiche in un argomento Amazon SNS](USER_Events.GrantingPermissions.md)
+ [Sottoscrizione alle notifiche eventi di Amazon RDS](USER_Events.Subscribing.md)
+ [Tag e attributi delle notifiche eventi di Amazon RDS](USER_Events.TagsAttributesForFiltering.md)
+ [Elenco delle sottoscrizioni delle notifiche degli eventi Amazon RDS](USER_Events.ListSubscription.md)
+ [Modifica di una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.Modifying.md)
+ [Aggiunta di un identificatore di origine a una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.AddingSource.md)
+ [Rimozione di un identificatore di origine da una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.RemovingSource.md)
+ [Creazione di un elenco delle categorie di notifiche eventi Amazon RDS](USER_Events.ListingCategories.md)
+ [Eliminazione di una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.Deleting.md)

# Panoramica delle notifiche eventi di Amazon RDS
<a name="USER_Events.overview"></a>

Amazon RDS raggruppa gli eventi in categorie che puoi sottoscrivere, per ricevere una notifica quando si verifica un evento di tale categoria.

**Topics**
+ [Risorse RDS idonee per la sottoscrizione di eventi](#USER_Events.overview.resources)
+ [Per sottoscrivere una notifica eventi di Amazon RDS, procedi come indicato di seguito:](#USER_Events.overview.process)
+ [Consegna delle notifiche degli eventi RDS](#USER_Events.overview.subscriptions)
+ [Fatturazione per le notifiche eventi Amazon RDS](#USER_Events.overview.billing)
+ [Esempi di eventi RDS con Amazon EventBridge](#events-examples)

## Risorse RDS idonee per la sottoscrizione di eventi
<a name="USER_Events.overview.resources"></a>

È possibile sottoscrivere una categoria di eventi per le seguenti risorse:
+ Istanza database
+ snapshot di database
+ DB parameter group (Gruppo di parametri database)
+ Gruppo di sicurezza DB
+ Server proxy per RDS
+ Versioni personalizzate del motore

Ad esempio, sottoscrivendo la categoria Backup per una determinata istanza database, riceverai una notifica ogni volta che si verifica un evento relativo al backup che interessa l'istanza database. Sottoscrivendo una categoria Modifica della configurazione per un'istanza database, riceverai una notifica quando l'istanza database viene modificata. Riceverai una notifica anche quando viene modificata la sottoscrizione a una notifica eventi.

È possibile creare alcuni sottoscrizioni diverse. Per esempio, è possibile creare una sottoscrizione che riceve tutte le notifiche eventi per tutte le istanze database e un'altra sottoscrizione che include solo eventi critici per un sottoinsieme di istanze database. Per la seconda sottoscrizione, specifica una o più istanze database nel filtro.

## Per sottoscrivere una notifica eventi di Amazon RDS, procedi come indicato di seguito:
<a name="USER_Events.overview.process"></a>

Per sottoscrivere una notifica eventi Amazon RDS, procedi come indicato di seguito:

1. Puoi creare un abbonamento per la notifica di eventi Amazon RDS utilizzando la console o l'API di Amazon RDS. AWS CLI

   Amazon RDS usa l'ARN di un argomento Amazon SNS per identificare ogni sottoscrizione. La console Amazon RDS crea automaticamente l'ARN quando crei la sottoscrizione. Crea l'ARN utilizzando la console Amazon SNS, o AWS CLI l'API Amazon SNS.

1. Amazon RDS invia un SMS o un'e-mail di approvazione all'indirizzo da te specificato nella sottoscrizione.

1. Puoi confermare la sottoscrizione selezionando il collegamento nella notifica ricevuta.

1. La console di Amazon RDS aggiorna la sezione **My Event Subscriptions** con lo stato della sottoscrizione.

1. Amazon RDS inizia inviando le notifiche agli indirizzi forniti al momento della creazione della sottoscrizione.

Per ulteriori informazioni su Identity and Access Management quando utilizzi Amazon SNS, consulta[Identity and Access Management in Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) nella *Guida per sviluppatori di Amazon Simple Notification*.

Puoi utilizzarla AWS Lambda per elaborare notifiche di eventi da un'istanza DB. Per ulteriori informazioni, consulta [Using AWS Lambda with Amazon RDS](https://docs.aws.amazon.com/lambda/latest/dg/services-rds.html) nella *AWS Lambda Developer Guide*.

## Consegna delle notifiche degli eventi RDS
<a name="USER_Events.overview.subscriptions"></a>

Amazon RDS invia le notifiche all'indirizzo fornito al momento della creazione della sottoscrizione. La notifica può inserire gli attributi del messaggio che forniscono i metadati strutturati sul messaggio. Per ulteriori informazioni sugli attributi del messaggio, consulta [Categorie di eventi e messaggi di eventi di Amazon RDS ](USER_Events.Messages.md).

La distribuzione delle notifiche degli eventi può richiedere fino a cinque minuti.

**Importante**  
Amazon RDS non garantisce l'ordine degli eventi inviato in un flusso di eventi. Tale ordine è soggetto a modifiche.

Quando Amazon SNS invia una notifica a un endpoint HTTP o HTTPS sottoscritto, il corpo del messaggio POST inviato all'endpoint contiene un documento JSON. Per ulteriori informazioni, consulta [Formati di messaggio e JSON Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-and-json-formats.html) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.

È possibile configurare SNS in modo che le notifiche vengano inviate tramite messaggi di testo. Per ulteriori informazioni, consulta [Messaggistica SMS](https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-phone-number-as-subscriber.html) nella *Guida per sviluppatori di Amazon Simple Notification Service*.

Per disattivare le notifiche senza eliminare una sottoscrizione, scegliere **No** per **Enabled (Abilitato)** nella console Amazon RDS. Oppure puoi impostare il `Enabled` parametro per `false` utilizzare l'API AWS CLI o Amazon RDS.

## Fatturazione per le notifiche eventi Amazon RDS
<a name="USER_Events.overview.billing"></a>

Fatturazione per la notifica degli eventi Amazon RDS avviene tramite Amazon SNS. L'uso della notifica degli eventi è soggetta alle tariffe di Amazon SNS. Per ulteriori informazioni sulla fatturazione di Amazon SNS, consulta [prezzi di Amazon Simple Notification Service](https://aws.amazon.com/sns/#pricing).

## Esempi di eventi RDS con Amazon EventBridge
<a name="events-examples"></a>

Negli esempi seguenti vengono illustrati diversi tipi di eventi Amazon RDS in formato JSON. Per un'esercitazione che illustra come acquisire e visualizzare eventi in formato JSON, consultare [Tutorial: registra le modifiche allo stato delle istanze DB utilizzando Amazon EventBridge](rds-cloud-watch-events.md#log-rds-instance-state).

**Topics**
+ [Esempio di evento di istanza database](#rds-cloudwatch-events.db-instances)
+ [Esempio di evento del gruppo parametri del database](#rds-cloudwatch-events.db-parameter-groups)
+ [Esempio di evento snapshot DB](#rds-cloudwatch-events.db-snapshots)

### Esempio di evento di istanza database
<a name="rds-cloudwatch-events.db-instances"></a>

Di seguito è riportato un esempio di evento di istanza database in formato JSON. L'evento mostra che RDS ha eseguito un failover Multi-AZ per l'istanza denominata `my-db-instance`. L'ID evento è RDS-EVENT-0049.

```
{
  "version": "0",
  "id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e",
  "detail-type": "RDS DB Instance Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-09-27T22:36:43Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:db:my-db-instance"
  ],
  "detail": {
    "EventCategories": [
      "failover"
    ],
    "SourceType": "DB_INSTANCE",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance",
    "Date": "2018-09-27T22:36:43.292Z",
    "Message": "A Multi-AZ failover has completed.",
    "SourceIdentifier": "my-db-instance",
    "EventID": "RDS-EVENT-0049"
  }
}
```

### Esempio di evento del gruppo parametri del database
<a name="rds-cloudwatch-events.db-parameter-groups"></a>

Di seguito è riportato un esempio di un evento gruppo parametri del database in formato JSON. L'evento mostra che il parametro `time_zone` è stato aggiornato nel gruppo di parametri `my-db-param-group`. L'ID evento è RDS-EVENT-0037.

```
{
  "version": "0",
  "id": "844e2571-85d4-695f-b930-0153b71dcb42",
  "detail-type": "RDS DB Parameter Group Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-10-06T12:26:13Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group"
  ],
  "detail": {
    "EventCategories": [
      "configuration change"
    ],
    "SourceType": "DB_PARAM",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group",
    "Date": "2018-10-06T12:26:13.882Z",
    "Message": "Updated parameter time_zone to UTC with apply method immediate",
    "SourceIdentifier": "my-db-param-group",
    "EventID": "RDS-EVENT-0037"
  }
}
```

### Esempio di evento snapshot DB
<a name="rds-cloudwatch-events.db-snapshots"></a>

Di seguito è riportato un esempio di un evento snapshot DB in formato JSON. L'evento mostra l'eliminazione della snapshot denominata `my-db-snapshot`. L'ID evento è RDS-EVENT-0041.

```
{
  "version": "0",
  "id": "844e2571-85d4-695f-b930-0153b71dcb42",
  "detail-type": "RDS DB Snapshot Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-10-06T12:26:13Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot"
  ],
  "detail": {
    "EventCategories": [
      "deletion"
    ],
    "SourceType": "SNAPSHOT",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot",
    "Date": "2018-10-06T12:26:13.882Z",
    "Message": "Deleted manual snapshot",
    "SourceIdentifier": "my-db-snapshot",
    "EventID": "RDS-EVENT-0041"
  }
}
```

# Concessione di autorizzazioni per pubblicare le notifiche in un argomento Amazon SNS
<a name="USER_Events.GrantingPermissions"></a>

Per concedere ad Amazon RDS le autorizzazioni per pubblicare notifiche su un argomento di Amazon Simple Notification Service (Amazon SNS), allega AWS Identity and Access Management una policy (IAM) all'argomento di destinazione. Per maggiori informazioni sulle autorizzazioni, consulta [Esempi di casi per il controllo degli accessi Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.

Per impostazione predefinita, un argomento Amazon SNS dispone di una policy che consente a tutte le risorse Amazon RDS nello stesso account di pubblicare notifiche nello stesso. Puoi collegare una policy personalizzata per consentire notifiche tra account o per limitare l'accesso a determinate risorse.

Di seguito è riportato un esempio di policy IAM collegata all'argomento Amazon SNS di destinazione. Limita l'argomento alle istanze database con nomi corrispondenti al prefisso specificato. Per utilizzare questa policy, specifica i seguenti valori:
+ `Resource` – Il nome della risorsa Amazon (ARN) per l'argomento Amazon SNS
+ `SourceARN` – L'ARN della risorsa RDS
+ `SourceAccount`— Il tuo ID Account AWS

Per visualizzare un elenco dei tipi di risorse e relativi ARNs, consulta [Resources Defined by Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-resources-for-iam-policies) nel *Service Authorization Reference*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.rds.amazonaws.com"
      },
      "Action": [
        "sns:Publish"
      ],
      "Resource": "arn:aws:sns:us-east-1:123456789012:topic_name",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:prefix-*"
        },
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        }
      }
    }
  ]
}
```

------

# Sottoscrizione alle notifiche eventi di Amazon RDS
<a name="USER_Events.Subscribing"></a>

Il modo più semplice per creare una sottoscrizione è utilizzare la console RDS. Se scegli di creare sottoscrizioni delle notifiche degli eventi tramite la CLI o l'API, devi creare un argomento Amazon Simple Notification Service e sottoscrivere l'argomento con la console Amazon SNS o l'API di Amazon SNS. Dovrai inoltre annotare l'Amazon Resource Name (ARN) dell'argomento, in quanto viene utilizzato quando si inviano comandi CLI o operazioni API. Per informazioni sulla creazione di un argomento SNS e sull'abbonamento allo stesso, consulta [Nozioni di base su Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html) nella *Guida per sviluppatori di Amazon Simple Notification Service*.

Puoi specificare il tipo di origine per cui vuoi ricevere le notifiche e l'origine Amazon RDS che attiva l'evento:

**Source type** (Tipo di origine)  
Il tipo di origine Ad esempio: **Source Type** (Tipo di origine) potrebbe essere **Instances** (Istanze). Devi scegliere un tipo di origine.

***Risorse* da includere**  
La risorsa Amazon RDS che genera gli eventi. Ad esempio, puoi scegliere **Select specific instances** (Seleziona istanze specifiche) e quindi **myDBInstance1**. 

Nella tabella seguente viene illustrato il risultato quando si specificano o non si specificano ***Risorse* da includere**.


|  Risorse da includere  |  Descrizione  |  Esempio  | 
| --- | --- | --- | 
|  Specificato  |  RDS invia notifiche relative a tutti gli eventi solo per la risorsa specificata.  | Se Source type (Tipo di origine) è Instances (Istanze) e la risorsa è myDBInstance1, RDS invia notifiche relative a tutti gli eventi solo per myDBInstance1. | 
|  Non specificato  |  RDS invia notifiche relative agli eventi relativi al tipo di origine specificato per tutte le risorse Amazon RDS.   |  Se **Source type** (Tipo di origine) è **Instances** (Istanze), RDS invia notifiche relative a tutti gli eventi correlati alle istanze nell'account.  | 

L'abbonato di un argomento Amazon SNS riceve per impostazione predefinita ogni messaggio pubblicato nell'argomento. Per ricevere solo un sottoinsieme dei messaggi, l'abbonato deve assegnare una policy di filtro all'abbonamento all'argomento. Per ulteriori informazioni, consulta [Filtraggio messaggi di Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.

## Console
<a name="USER_Events.Subscribing.Console"></a>

**Per sottoscrivere una notifica eventi RDS**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Event subscriptions (Sottoscrizioni a eventi)**. 

1. Nel riquadro **Event subscriptions (Sottoscrizioni di eventi)** scegliere **Create event subscription (Crea sottoscrizione di eventi)**. 

1. Inserisci i dettagli dell'abbonamento come segue:

   1. Per **Name (Nome)**, immettere un nome per la sottoscrizione alle notifiche eventi.

   1. Nel campo **Send notifications to** (Invia notifica a), esegui una delle seguenti operazioni:
      + Scegli **New email topic** (Nuovo argomento e-mail). Inserisci un nome per l'argomento dell'email e un elenco di destinatari. Ti consigliamo di configurare le sottoscrizioni agli eventi con lo stesso indirizzo e-mail del contatto dell'account principale. I suggerimenti, gli eventi di assistenza e i messaggi personali vengono inviati utilizzando canali diversi. Le sottoscrizioni con lo stesso indirizzo e-mail assicurano che tutti i messaggi siano consolidati in un'unica posizione.
      + Scegli **Amazon Resource Name (ARN)** (Nome della risorsa Amazon (ARN)). Quindi scegli l'ARN Amazon SNS esistente per un argomento Amazon SNS.

        Se desideri utilizzare un argomento abilitato per la crittografia lato server (SSE), concedi ad Amazon RDS le autorizzazioni necessarie per accedere a AWS KMS key. Per ulteriori informazioni, consulta [Abilitare la compatibilità tra le origini eventi dai servizi AWS e gli argomenti crittografati](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#compatibility-with-aws-services) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.

   1. Per **Source type (Tipo di origine)** scegliere un tipo di origine. Ad esempio, scegli **Instances** (Istanze) o **Parameter groups (Gruppi di parametri)**.

   1. Scegli le categorie di eventi e le risorse per i quali desideri ricevere notifiche eventi.

      L'esempio seguente configura le notifiche degli eventi per l'istanza database denominata.`testinst`.  
![\[Immetti il tipo di origine\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/event-source.png)

   1. Scegli **Create (Crea)**.

La console Amazon RDS indica che è in corso la creazione della sottoscrizione.

![\[Elenco delle sottoscrizioni delle notifiche degli eventi\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/EventNotification-Create2.png)


## AWS CLI
<a name="USER_Events.Subscribing.CLI"></a>

Per sottoscrivere notifiche degli eventi RDS, utilizzare il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-event-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-event-subscription.html). Includi i parametri obbligatori seguenti:
+ `--subscription-name`
+ `--sns-topic-arn`

**Example**  
Per Linux, macOS o Unix:  

```
aws rds create-event-subscription \
    --subscription-name myeventsubscription \
    --sns-topic-arn arn:aws:sns:us-east-1:123456789012:myawsuser-RDS \
    --enabled
```
Per Windows:  

```
aws rds create-event-subscription ^
    --subscription-name myeventsubscription ^
    --sns-topic-arn arn:aws:sns:us-east-1:123456789012:myawsuser-RDS ^
    --enabled
```

## API
<a name="USER_Events.Subscribing.API"></a>

Per sottoscrivere le notifiche degli eventi Amazon RDS, invoca la funzione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateEventSubscription.html). Includi i parametri obbligatori seguenti: 
+ `SubscriptionName`
+ `SnsTopicArn`

# Tag e attributi delle notifiche eventi di Amazon RDS
<a name="USER_Events.TagsAttributesForFiltering"></a>

Quando Amazon RDS invia una notifica di evento ad Amazon Simple Notification Service (SNS) o EventBridge Amazon, la notifica contiene gli attributi del messaggio e i tag degli eventi. RDS invia gli attributi del messaggio separatamente insieme al messaggio, mentre i tag degli eventi sono inclusi nel corpo del messaggio. Usa gli attributi del messaggio e i tag di Amazon RDS per aggiungere metadati alle risorse. Puoi modificare questi tag con notazioni personalizzate relative alle istanze database . Per ulteriori informazioni sul tagging delle risorse di Amazon RDS, consulta [Etichettatura delle Amazon RDS](USER_Tagging.md). 

Per impostazione predefinita, Amazon SNS e Amazon EventBridge ricevono tutti i messaggi che vengono loro inviati. SNS e EventBridge possono filtrare il messaggio e inviare le notifiche nella modalità di comunicazione preferita, ad esempio un'e-mail, un messaggio di testo o una chiamata a un endpoint HTTP.

**Nota**  
La notifica inviata tramite e-mail o SMS non includerà tag di evento.

La tabella seguente mostra gli attributi dei messaggi per gli eventi RDS inviati agli abbonati all'argomento.


| Attributo per gli eventi Amazon RDS |  Description  | 
| --- | --- | 
| EventID |  Identificatore del messaggio dell'evento RDS, ad esempio RDS-EVENT-0006.  | 
| Risorsa |  L'identificatore ARN della risorsa che emette l'evento, ad esempio `arn:aws:rds:ap-southeast-2:123456789012:db:database-1`.  | 

I tag RDS forniscono i dati sulla risorsa interessata dall'evento del servizio. RDS aggiunge lo stato corrente dei tag nel corpo del messaggio quando la notifica viene inviata a SNS o. EventBridge

Per ulteriori informazioni sull'applicazioni di filtri agli attributi dei messaggi per SNS, consulta [Filtraggio messaggi di Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) nella *Guida per gli sviluppatori di Amazon Simple Notification Service*.

Per ulteriori informazioni sul filtraggio dei tag degli eventi per EventBridge, consulta [Operatori di confronto da utilizzare nei modelli di eventi in Amazon EventBridge nella Amazon EventBridge ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html) *User Guide*.

Per ulteriori informazioni sull’applicazione di filtri ai tag basati sul payload per SNS, consulta [Introducing payload-based message filtering for Amazon SNS](https://aws.amazon.com/blogs/compute/introducing-payload-based-message-filtering-for-amazon-sns/).

# Elenco delle sottoscrizioni delle notifiche degli eventi Amazon RDS
<a name="USER_Events.ListSubscription"></a>

Puoi creare un elenco delle sottoscrizioni correnti alle notifiche eventi Amazon RDS.

## Console
<a name="USER_Events.ListSubscription.Console"></a>

**Per creare un elenco delle sottoscrizioni correnti alle notifiche eventi Amazon RDS**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Nel pannello di navigazione selezionare **Event subscriptions (Sottoscrizioni di eventi)**. Il riquadro **Event subscriptions (Sottoscrizioni di eventi)** mostra tutte le sottoscrizioni delle notifiche degli eventi.  
![\[Elenco delle sottoscrizioni delle notifiche degli eventi\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/EventNotification-ListSubs.png)

   

## AWS CLI
<a name="USER_Events.ListSubscription.CLI"></a>

Per visualizzare un elenco delle sottoscrizioni delle notifiche degli eventi Amazon RDS, utilizza il comando della AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-subscriptions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-subscriptions.html). 

**Example**  
L'esempio seguente illustra tutte le sottoscrizioni a eventi.  

```
aws rds describe-event-subscriptions
```
L'esempio seguente illustra `myfirsteventsubscription`.  

```
aws rds describe-event-subscriptions --subscription-name myfirsteventsubscription
```

## API
<a name="USER_Events.ListSubscription.API"></a>

Per creare un elenco delle sottoscrizioni delle notifiche degli eventi Amazon RDS, chiamare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventSubscriptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventSubscriptions.html).

# Modifica di una sottoscrizione alle notifiche eventi Amazon RDS
<a name="USER_Events.Modifying"></a>

Dopo aver creato un abbonamento, puoi modificarne il nome, l'identificatore di origine, le categorie o l'ARN dell'argomento.

## Console
<a name="USER_Events.Modifying.Console"></a>

**Per modificare una sottoscrizione alle notifiche eventi Amazon RDS**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Nel pannello di navigazione selezionare **Event subscriptions (Sottoscrizioni di eventi)**. 

1.  Nel riquadro **Event subscriptions (Sottoscrizioni di eventi)** scegliere la sottoscrizione da modificare e selezionare **Edit (Modifica)**. 

1.  Apportare le modifiche alla sottoscrizione nella sezione **Target (Destinazione)** o **Source (Origine)**.

1. Seleziona **Edit** (Modifica). La console Amazon RDS indica che è in corso la modifica della sottoscrizione.  
![\[Elenco delle sottoscrizioni delle notifiche degli eventi\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/EventNotification-Modify2.png)

   

## AWS CLI
<a name="USER_Events.Modifying.CLI"></a>

Per modificare una sottoscrizione delle notifiche degli eventi Amazon RDS, utilizza il comando della AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-event-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-event-subscription.html). Includi il seguente parametro obbligatorio:
+ `--subscription-name`

**Example**  
Il codice seguente abilita `myeventsubscription`.  
Per Linux, macOS o Unix:  

```
aws rds modify-event-subscription \
    --subscription-name myeventsubscription \
    --enabled
```
Per Windows:  

```
aws rds modify-event-subscription ^
    --subscription-name myeventsubscription ^
    --enabled
```

## API
<a name="USER_Events.Modifying.API"></a>

Per modificare un evento Amazon RDS, chiamare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyEventSubscription.html). Includi il seguente parametro obbligatorio:
+ `SubscriptionName`

# Aggiunta di un identificatore di origine a una sottoscrizione alle notifiche eventi Amazon RDS
<a name="USER_Events.AddingSource"></a>

Puoi aggiungere un identificatore di origine Amazon RDS che genera l'evento a una sottoscrizione esistente.

## Console
<a name="USER_Events.AddingSource.Console"></a>

Puoi aggiungere o rimuovere facilmente gli identificatori di origine tramite la console Amazon RDS, selezionandoli o deselezionandoli quando modifichi una sottoscrizione. Per ulteriori informazioni, consulta [Modifica di una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.Modifying.md).

## AWS CLI
<a name="USER_Events.AddingSource.CLI"></a>

Per aggiungere un identificatore di origine a un abbonamento di notifica di eventi Amazon RDS, usa il AWS CLI [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/)comando. Includi i parametri obbligatori seguenti:
+ `--subscription-name`
+ `--source-identifier`

**Example**  
L'esempio seguente aggiunge l'identificatore di origine `mysqldb` alla sottoscrizione `myrdseventsubscription`.  
Per Linux, macOS o Unix:  

```
aws rds add-source-identifier-to-subscription \
    --subscription-name myrdseventsubscription \
    --source-identifier mysqldb
```
Per Windows:  

```
aws rds add-source-identifier-to-subscription ^
    --subscription-name myrdseventsubscription ^
    --source-identifier mysqldb
```

## "Hello, World\$1"
<a name="USER_Events.AddingSource.API"></a>

Per aggiungere un identificatore di origine a una sottoscrizione delle notifiche degli eventi Amazon RDS, chiamare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddSourceIdentifierToSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddSourceIdentifierToSubscription.html). Includi i parametri obbligatori seguenti:
+ `SubscriptionName`
+ `SourceIdentifier`

# Rimozione di un identificatore di origine da una sottoscrizione alle notifiche eventi Amazon RDS
<a name="USER_Events.RemovingSource"></a>

Per smettere di ricevere notifiche relative agli eventi di un'origine, puoi rimuovere un identificatore di origine Amazon RDS che genera l'evento da una sottoscrizione. 

## Console
<a name="USER_Events.RemovingSource.Console"></a>

Puoi aggiungere o rimuovere facilmente gli identificatori di origine tramite la console Amazon RDS, selezionandoli o deselezionandoli quando modifichi una sottoscrizione. Per ulteriori informazioni, consulta [Modifica di una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.Modifying.md).

## AWS CLI
<a name="USER_Events.RemovingSource.CLI"></a>

Per rimuovere un identificatore di origine da un abbonamento di notifica di eventi Amazon RDS, usa il AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/remove-source-identifier-from-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-source-identifier-from-subscription.html)comando. Includi i parametri obbligatori seguenti:
+ `--subscription-name`
+ `--source-identifier`

**Example**  
L'esempio seguente rimuove l'identificatore dell'origine `mysqldb` dalla sottoscrizione `myrdseventsubscription`.  
Per Linux, macOS o Unix:  

```
aws rds remove-source-identifier-from-subscription \
    --subscription-name myrdseventsubscription \
    --source-identifier mysqldb
```
Per Windows:  

```
aws rds remove-source-identifier-from-subscription ^
    --subscription-name myrdseventsubscription ^
    --source-identifier mysqldb
```

## "Hello, World\$1"
<a name="USER_Events.RemovingSource.API"></a>

Per rimuovere un identificatore di origine da una sottoscrizione delle notifiche degli eventi Amazon RDS, utilizzare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveSourceIdentifierFromSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveSourceIdentifierFromSubscription.html). Includi i parametri obbligatori seguenti:
+ `SubscriptionName`
+ `SourceIdentifier`

# Creazione di un elenco delle categorie di notifiche eventi Amazon RDS
<a name="USER_Events.ListingCategories"></a>

Tutti gli eventi per un tipo di risorsa sono raggruppati in categorie. Per visualizzare l'elenco delle categorie disponibili, utilizza le procedure riportate di seguito.

## Console
<a name="USER_Events.ListingCategories.Console"></a>

Quando crei o modifichi una sottoscrizione alle notifiche eventi, le categorie di eventi vengono visualizzate nella console Amazon RDS. Per ulteriori informazioni, consulta [Modifica di una sottoscrizione alle notifiche eventi Amazon RDS](USER_Events.Modifying.md). 

![\[Elenco di categorie delle notifiche degli eventi database\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/EventNotification-Categories.png)




## AWS CLI
<a name="USER_Events.ListingCategories.CLI"></a>

Per visualizzare un elenco delle categorie delle notifiche degli eventi Amazon RDS, utilizza il comando della AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-categories.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-categories.html). Questo comando non prevede parametri obbligatori.

**Example**  

```
aws rds describe-event-categories
```

## API
<a name="USER_Events.ListingCategories.API"></a>

Per elencare le categorie delle notifiche degli eventi Amazon RDS, utilizzare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventCategories.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventCategories.html). Questo comando non prevede parametri obbligatori.

# Eliminazione di una sottoscrizione alle notifiche eventi Amazon RDS
<a name="USER_Events.Deleting"></a>

Puoi eliminare un abbonamento quando questo non è più necessario. Tutti gli abbonati all'argomento non riceveranno più le notifiche di eventi specificate dall'abbonamento.

## Console
<a name="USER_Events.Deleting.Console"></a>

**Per eliminare una sottoscrizione alle notifiche eventi Amazon RDS**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Nel pannello di navigazione scegliere **DB Event Subscriptions (Sottoscrizioni di eventi database)**. 

1.  Nel riquadro **My DB Event Subscriptions (Sottoscrizioni di eventi database personali)** scegliere la sottoscrizione che si vuole eliminare. 

1. Scegliere **Delete (Elimina)**.

1. La console Amazon RDS indica che è in corso l'eliminazione della sottoscrizione.  
![\[Eliminazione di una sottoscrizione delle notifiche degli eventi\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/EventNotification-Delete.png)

   

## AWS CLI
<a name="USER_Events.Deleting.CLI"></a>

Per eliminare una sottoscrizione delle notifiche degli eventi Amazon RDS, utilizza il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-event-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-event-subscription.html). Includi il seguente parametro obbligatorio:
+ `--subscription-name`

**Example**  
L'esempio seguente elimina la sottoscrizione `myrdssubscription`.  

```
aws rds delete-event-subscription --subscription-name myrdssubscription
```

## API
<a name="USER_Events.Deleting.API"></a>

Per eliminare una sottoscrizione delle notifiche degli eventi Amazon RDS, utilizzare l'operazione API RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteEventSubscription.html). Includi il seguente parametro obbligatorio:
+ `SubscriptionName`

# Creazione di una regola che si attiva su un evento Amazon RDS
<a name="rds-cloud-watch-events"></a>

Con Amazon EventBridge, puoi automatizzare AWS i servizi e rispondere a eventi di sistema come problemi di disponibilità delle applicazioni o modifiche delle risorse. 

**Topics**
+ [Creazione di regole per inviare eventi Amazon RDS ad Amazon EventBridge](#rds-cloudwatch-events.sending-to-cloudwatch-events)
+ [Tutorial: registra le modifiche allo stato delle istanze DB utilizzando Amazon EventBridge](#log-rds-instance-state)

## Creazione di regole per inviare eventi Amazon RDS ad Amazon EventBridge
<a name="rds-cloudwatch-events.sending-to-cloudwatch-events"></a>

Puoi scrivere semplici regole che indichino quali eventi Amazon RDS ti interessano e quali operazioni automatizzate eseguire quando si verifica un evento previsto da una regola. Puoi impostare una varietà di obiettivi, come una AWS Lambda funzione o un argomento Amazon SNS, che ricevono eventi in formato JSON. Ad esempio, puoi configurare Amazon RDS Amazon ogni volta che viene creata o eliminata un'istanza DB. Per ulteriori informazioni, consulta la [Amazon CloudWatch Events User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/) e la [Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

**Per creare una regola che si attiva su un evento RDS:**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. In **Events (Eventi)** nel pannello di navigazione, scegli **Rules (Regole)**.

1. Scegli **Create rule** (Crea regola).

1. Per **Event Source** (Origine evento) procedi nel seguente modo:

   1. Seleziona **Event Pattern** (Modello di eventi).

   1. Per **Service Name (Nome servizio)**, scegli **Relational Database Service (RDS)**.

   1. Per **Event Type (Tipo di evento)**, scegli il tipo di risorsa Amazon RDS che attiva l'evento. Ad esempio, se un'istanza database attiva l'evento, scegli **RDS DB Instance Event (Evento istanza database RDS)**.

1. Per **Target**, scegli **Aggiungi destinazione** e scegli il AWS servizio che deve agire quando viene rilevato un evento del tipo selezionato. 

1. Negli altri campi di questa sezione, inserisci informazioni specifiche di questo tipo di destinazione, se necessarie. 

1. Per molti tipi di oggetto, EventBridge sono necessarie le autorizzazioni per inviare eventi alla destinazione. In questi casi, EventBridge puoi creare il ruolo IAM necessario per l'esecuzione del tuo evento: 
   + Per creare un ruolo IAM automaticamente, seleziona **Create a new role for this specific resource (Crea un nuovo ruolo per questa risorsa specifica)**.
   + Per utilizzare un ruolo IAM creato in precedenza, seleziona **Use existing role (Utilizza un ruolo esistente)**.

1. Facoltativamente, ripeti le fasi 5-7 per aggiungere un'altra destinazione per questa regola

1. Scegli **Configure details** (Configura dettagli). In **Rule definition (Definizione regola)**, digita un nome e una descrizione della regola.

   Il nome della regola deve essere univoco all'interno di questa regione.

1. Scegli **Create rule** (Crea regola).

Per ulteriori informazioni, consulta [Creazione di una EventBridge regola che si attiva su un evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html) nella *Amazon CloudWatch User Guide*.

## Tutorial: registra le modifiche allo stato delle istanze DB utilizzando Amazon EventBridge
<a name="log-rds-instance-state"></a>

In questo tutorial, crei una AWS Lambda funzione che registra le modifiche di stato per un'istanza Amazon RDS. Successivamente crei una regola che esegua la funzione ogni volta che si verifica un cambiamento di stato di un'istanza database RDS esistente. Il tutorial presuppone che si dispone di una piccola istanza di test in esecuzione che è possibile arrestare temporaneamente.

**Importante**  
Non eseguire questo tutorial su un'istanza database di produzione in esecuzione.

**Topics**
+ [Fase 1: Creare una funzione AWS Lambda](#rds-create-lambda-function)
+ [Fase 2: Creazione di una regola](#rds-create-rule)
+ [Fase 3: Test della regola](#rds-test-rule)

### Fase 1: Creare una funzione AWS Lambda
<a name="rds-create-lambda-function"></a>

Crea una funzione Lambda per registrare gli eventi di modifica dello stato. È necessario specificare questa funzione alla creazione della regola.

**Per creare una funzione Lambda**

1. Apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Se è la prima volta che utilizzi Lambda, verrà visualizzata una pagina di benvenuto. Selezionare **Get Started Now** (Inizia subito). Altrimenti, scegliere **Create function (Crea funzione)**.

1. Scegli **Author from scratch** (Crea da zero).

1. Nella pagina **Create function (Crea funzione)**, procedere come segue:

   1. Digitare un nome e una descrizione per la funzione Lambda. Ad esempio, denomina la funzione **RDSInstanceStateChange**. 

   1. In **Runtime**, seleziona **Node.js 16x**. 

   1. In **Architecture** (Architettura), scegli **x86\$164**.

   1. In **Execution role (Ruolo di esecuzione)**, esegui una delle operazioni seguenti:
      + Scegliere **Create a new role with basic Lambda permissions (Crea un nuovo ruolo con le autorizzazioni Lambda di base)**.
      + In **Execution role** (Ruolo di esecuzione), sceglie **Use an existing role** (Utilizza un ruolo esistente). Scegli il ruolo che desideri usare. 

   1. Scegli **Crea funzione**.

1. Nella **RDSInstanceStateChange**pagina, procedi come segue:

   1. In **Origine codice**, seleziona **index.js**. 

   1. Nel riquadro di **index.js**, elimina il codice esistente.

   1. Immetti il seguente codice:

      ```
      console.log('Loading function');
      
      exports.handler = async (event, context) => {
          console.log('Received event:', JSON.stringify(event));
      };
      ```

   1. Selezionare **Deploy (Distribuisci)**.

### Fase 2: Creazione di una regola
<a name="rds-create-rule"></a>

Crea una regola per l'esecuzione della funzione Lambda ogni volta che avvii un'istanza Amazon RDS.

**Per creare la EventBridge regola**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, scegli **Regole**.

1. Scegli **Crea regola**.

1. Immettere un nome e una descrizione per la regola. Ad esempio, specifica **RDSInstanceStateChangeRule**.

1. Scegli **Rule with an event pattern** (Regola con un modello di eventi), quindi seleziona **Next** (Successivo).

1. Per **Event source**, scegli **AWS eventi o eventi per i EventBridge partner**.

1. Scorri verso il basso fino alla sezione **Event pattern** (Modello di eventi).

1. In **Event source (Origine eventi)**, selezionare **Servizi AWS**.

1. In **AWS service** (Servizio AWS ), scegli **Relational Database Service (RDS)**.

1. Per **Tipo di evento**, seleziona **Evento istanza database RDS**.

1. Lascia il modello di eventi predefinito. Quindi scegli **Successivo**.

1. Per **Tipi di destinazione**, scegli **servizio AWS **.

1. Per **Select a target** (Seleziona destinazione), scegli **Lambda function** (Funzione Lambda).

1. In **Function** (Funzione), seleziona la funzione Lambda che hai creato. Quindi scegli **Successivo**.

1. In **Configure tags** (Configura tag), scegli **Next** (Successivo).

1. Esamina i passaggi nella regola. Quindi scegli **Create rule** (Crea regola).

### Fase 3: Test della regola
<a name="rds-test-rule"></a>

Per verificare la regola, arresta un'istanza database RDS. Dopo aver atteso alcuni minuti perché l'istanza venga avviata e inizializzata, verifica che la funzione Lambda sia stata richiamata.

**Per effettuare il test della regola arrestando un'istanza database**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Arresta un'istanza database RDS.

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, seleziona **Regole**, scegli il nome della regola creata.

1. In **Dettagli della regola** scegli **Monitoraggio**.

   Verrai reindirizzato alla CloudWatch console Amazon. Se non vieni reindirizzato, fai clic su **Visualizza le metriche in**. CloudWatch

1. In **Tutti i parametri**, seleziona il nome della regola creata.

   Il grafico deve indicare che la regola è stata richiamata.

1. Nel pannello di navigazione, selezionare **Log groups (Gruppi di log)**.

1. Scegli il nome del gruppo di log per la tua funzione Lambda (***function-name*/aws/lambda/**).

1. Scegliere il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza avviata. Sarà visualizzato un evento ricevuto simile a quello seguente:

   ```
   {
       "version": "0",
       "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k",
       "detail-type": "RDS DB Instance Event",
       "source": "aws.rds",
       "account": "111111111111",
       "time": "2021-03-19T19:34:09Z",
       "region": "us-east-1",
       "resources": [
           "arn:aws:rds:us-east-1:111111111111:db:testdb"
       ],
       "detail": {
           "EventCategories": [
               "notification"
           ],
           "SourceType": "DB_INSTANCE",
           "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb",
           "Date": "2021-03-19T19:34:09.293Z",
           "Message": "DB instance stopped",
           "SourceIdentifier": "testdb",
           "EventID": "RDS-EVENT-0087"
       }
   }
   ```

   Per altri esempi di eventi RDS in formato JSON, vedere [Panoramica degli eventi per Amazon RDS](working-with-events.md#rds-cloudwatch-events.sample).

1. (Facoltativo) Al termine, puoi aprire la console Amazon RDS e avviare l'istanza terminata.

# Categorie di eventi e messaggi di eventi di Amazon RDS
<a name="USER_Events.Messages"></a>

Amazon RDS genera un numero significativo di eventi in categorie a cui puoi abbonarti utilizzando la console Amazon RDS o AWS CLI l'API.

**Topics**
+ [Eventi di cluster di database](#USER_Events.Messages.cluster)
+ [Eventi snapshot cluster di database](#USER_Events.Messages.cluster-snapshot)
+ [Eventi di istanza database](#USER_Events.Messages.instance)
+ [Eventi gruppo di parametri database](#USER_Events.Messages.parameter-group)
+ [Eventi gruppo di sicurezza DB](#USER_Events.Messages.security-group)
+ [Eventi degli snapshot DB](#USER_Events.Messages.snapshot)
+ [Eventi RDS Proxy](#USER_Events.Messages.rds-proxy)
+ [Eventi di implementazione blu/verde](#USER_Events.Messages.BlueGreenDeployments)
+ [Eventi di versioni personalizzate del motore](#USER_Events.Messages.CEV)

## Eventi di cluster di database
<a name="USER_Events.Messages.cluster"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è un cluster database.

Per ulteriori informazioni sulle implementazioni di cluster di database Multi-AZ, consulta [Implementazioni di cluster di database Multi-AZ per Amazon RDS](multi-az-db-clusters-concepts.md).


|  Categoria  | ID evento RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  modifica della configurazione  | RDS-EVENT-0016 |  Reimpostare le credenziali master.  | Nessuno | 
| creazione | RDS-EVENT-0170 |  Cluster di database creato.  |  Nessuno  | 
|  failover  | RDS-EVENT-0069 |  Failover del cluster non riuscito. Verificare lo stato delle istanze del cluster e riprovare.  |  Nessuno  | 
|  failover  | RDS-EVENT-0070 |  Promuovere nuovamente le primarie precedenti:. *name*  |  Nessuno  | 
|  failover  | RDS-EVENT-0071 |  Failover completato sull'istanza DB:*name*.  |  Nessuno  | 
|  failover  | RDS-EVENT-0072 |  È stato avviato il failover dello stesso tipo AZ sull'istanza DB:. *name*  |  Nessuno  | 
|  failover  | RDS-EVENT-0073 |  Avviato il failover cross-AZ verso un'istanza DB:. *name*  |  Nessuno  | 
| errore | RDS-EVENT-0354 |  Non è possibile creare il cluster DB a causa di risorse incompatibili. *message*.  |  *message*Include dettagli sull'errore.  | 
| errore | RDS-EVENT-0355 |  Il cluster DB non può essere creato a causa di limiti di risorse insufficienti. *message*.  |  *message*Include dettagli sull'errore.  | 
|  manutenzione  | RDS-EVENT-0156 |  È disponibile un aggiornamento della versione secondaria del motore del database per il cluster di database.  |  Nessuno  | 
|  manutenzione  | RDS-EVENT-0173 |  La versione del motore del cluster database è stata aggiornata.  | L'applicazione di patch del cluster database è stata completata. | 
|  manutenzione  | RDS-EVENT-0174 |  Il cluster di database si trova in uno stato che non consente l’aggiornamento.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0176 |  La versione principale del motore del cluster database è stata aggiornata.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0177 |  L’aggiornamento del cluster di database è in corso.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0286 |  È iniziato l'aggiornamento della versione del motore del cluster di *version\$1number* database. Il cluster rimane online.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0287 |  Requisito di aggiornamento del sistema operativo rilevato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0288 |  Avvio dell'aggiornamento del sistema operativo del cluster in corso.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0289 |  Aggiornamento del sistema operativo del cluster completato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0290 |  Il cluster di database è stato patchato: versione sorgente *version\$1number* *new\$1version\$1number* =>.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0410 |  Il controllo preliminare per l’aggiornamento della versione del motore del cluster di database è stato avviato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0412 |  Il controllo preliminare per l’aggiornamento della versione del motore del cluster di database non è riuscito o si è verificato un timeout.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0413 |  Le attività preliminari per l’aggiornamento del cluster di database sono in corso.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0414 |  Le attività successive all’aggiornamento del cluster di database sono in corso.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0417 |  Aggiornamento della versione del motore del cluster di database avviato.  | Nessuno | 
|  notification  | RDS-EVENT-0172 |  Cluster rinominato da a. *name* *name*  |  Nessuno  | 
|  replica di lettura  | RDS-EVENT-0411 |  Il controllo preliminare per l’aggiornamento della versione del motore del cluster di database è stato terminato.  | Nessuno | 

## Eventi snapshot cluster di database
<a name="USER_Events.Messages.cluster-snapshot"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è uno snapshot del cluster database.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)

## Eventi di istanza database
<a name="USER_Events.Messages.instance"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è un'istanza database.


|  Categoria  | ID evento RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  disponibilità  | RDS-EVENT-0004 |  L'istanza database è stata arrestata.  | Nessuno | 
|  availability  | RDS-EVENT-0006 |  L'istanza database è stata riavviata.  | Nessuno | 
|  disponibilità  | RDS-EVENT-0022 |  Errore durante il riavvio di mysql:. *message*  | Si è verificato un errore durante il riavvio di MySQL. | 
|  disponibilità  | RDS-EVENT-0221 |  L'istanza database ha raggiunto la soglia di completamento dell'archiviazione e il database è stato arrestato. È possibile aumentare lo spazio di archiviazione allocato per risolvere questo problema.  | Nessuno | 
|  disponibilità  | RDS-EVENT-0222 |  La capacità di archiviazione gratuita per l'istanza DB *name* è inferiore allo spazio *percentage* di archiviazione allocato [Archiviazione allocata:, Spazio di archiviazione gratuito:*amount*]. *amount* Il database verrà chiuso per prevenire il danneggiamento se lo spazio di archiviazione gratuito è inferiore a. *amount* È possibile aumentare lo spazio di archiviazione allocato per risolvere questo problema.  | Si applica solo a RDS per MySQL quando un’istanza database consuma più del 90% dello spazio di archiviazione allocato. Monitorare lo spazio di archiviazione per un’istanza database usando la metrica Spazio di archiviazione gratuito. Per ulteriori informazioni, consulta [Storage delle istanze di database Amazon RDS](CHAP_Storage.md). | 
|  disponibilità  | RDS-EVENT-0330 |  La capacità di archiviazione gratuita del volume dedicato del registro delle transazioni è troppo bassa per l'istanza DB*name*. Lo spazio di archiviazione gratuito del volume di registro è lo spazio *percentage* di archiviazione allocato. [Archiviazione allocata:*amount*, Spazio di archiviazione gratuito:*amount*] Il database verrà chiuso per evitare il danneggiamento se lo spazio di archiviazione gratuito è inferiore a. *amount* È possibile disabilitare il volume del log delle transazioni dedicato per risolvere questo problema.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  disponibilità  | RDS-EVENT-0331 |  La capacità di archiviazione gratuita del volume dedicato del registro delle transazioni è troppo bassa per l'istanza *name* DB. Lo spazio di archiviazione gratuito del volume *percentage* di registro è quello di archiviazione fornito. [Provisioned Storage:*amount*, Free Storage:*amount*] È possibile disabilitare il volume dedicato del registro delle transazioni per risolvere questo problema.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  disponibilità  | RDS-EVENT-0396 |  Amazon RDS ha pianificato un riavvio per questa replica di lettura nella finestra di manutenzione successiva di questa istanza dopo la rotazione interna delle password utente.  |  Nessuno  | 
| disponibilità | RDS-EVENT-0419 | Amazon RDS non è riuscito ad accedere alla chiave di KMS crittografia per l'istanza *name* del database. Il database verrà posto in uno stato inaccessibile. Per ulteriori dettagli, consulta la sezione relativa alla risoluzione dei problemi nella documentazione di Amazon RDS. | Nessuno | 
|  backup  | RDS-EVENT-0001 |  Viene eseguito il backup dell'istanza database.  | Nessuno | 
|  backup  | RDS-EVENT-0002 |  Il backup dell'istanza database è terminato.  | Nessuno | 
|  backup  | RDS-EVENT-0086 |  Non siamo in grado di associare il gruppo di opzioni *name* all'istanza *name* del database. Verifica che il gruppo di opzioni *name* sia supportato nella classe e nella configurazione dell'istanza DB. In caso affermativo, verificare tutte le impostazioni del gruppo di opzioni e riprovare.  |  Per ulteriori informazioni, consulta [Uso di gruppi di opzioni](USER_WorkingWithOptionGroups.md). | 
|  modifica della configurazione  | RDS-EVENT-0011 |  Aggiornato per utilizzare DBParameter Group*name*.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0012 |  Vengono applicate le modifiche alla classe di istanza database.   | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0014 |  Applicazione delle modifiche alla classe di istanza database completata.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0016 |  Reimpostare le credenziali master.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0017 |  Applicazione delle modifiche all'archiviazione allocata completata.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0018 |  Applicazione delle modifiche allo spazio di archiviazione allocato in corso.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0024 |  Applicazione di modifiche per la conversione in un'istanza database Multi-AZ in corso.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0025 |  Applicazione delle modifiche per la conversione in un'istanza database Multi-AZ completata.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0028 |  Backup automatici disabilitati.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0029 |  Applicazione delle modifiche per la conversione in un'istanza database standard (Single-AZ) completata.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0030 |  Applicazione delle modifiche per la conversione in un'istanza database standard (Single-AZ) in corso.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0032 |  Backup automatici abilitati.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0033 |  Ci sono *number* utenti che corrispondono al nome utente principale; viene reimpostato solo quello non legato a un host specifico.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0067 |  Impossibile reimpostare la password. Informazioni sull'errore:. *message*  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0078 |  Intervallo di monitoraggio modificato in. *number*  |  La configurazione Enhanced Monitoring è stata modificata. | 
|  modifica della configurazione  | RDS-EVENT-0092 |  Aggiornamento gruppo di parametri DB terminato.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0217 |  Applicazione di modifiche avviate dal ridimensionamento automatico allo storage allocato.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0218 |  Terminata l'applicazione della modifica avviata dal ridimensionamento automatico allo storage allocato.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0295 |  L'aggiornamento della configurazione dell'archiviazione è iniziato.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0296 |  L'aggiornamento della configurazione dell'archiviazione è completato.  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0332 |  Il volume di log dedicato è disabilitato.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  modifica della configurazione  | RDS-EVENT-0333 |  La disabilitazione del volume di log dedicato è stata avviata.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  modifica della configurazione  | RDS-EVENT-0334 |  L’abilitazione del volume di log dedicato è stata avviata.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  modifica della configurazione  | RDS-EVENT-0335 |  Il volume di log dedicato è abilitato.  |  Per ulteriori informazioni, consulta [Volume di log dedicato (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  modifica della configurazione  | RDS-EVENT-0383 |  *engine version*non supporta il plugin memcached. RDS continuerà ad aggiornare l’istanza database e rimuoverà questo plug-in.  |  A partire da MySQL 8.3.0, il plugin memcached non è supportato. Per ulteriori informazioni, consulta [Changes in MySQL 8.3.0 (2024-01-16, Innovation Release)](https://dev.mysql.com/doc/relnotes/mysql/8.3/en/news-8-3-0.html).  | 
|  creazione  | RDS-EVENT-0005 |  Istanza database creata.  | Nessuno | 
|  eliminazione  | RDS-EVENT-0003 |  Istanza database eliminata.  | Nessuno | 
|  failover  | RDS-EVENT-0013 |  Failover dell'istanza Multi-AZ avviato.  | È stato avviato un failover Multi-AZ che ha comportato la promozione di un'istanza database in standby. | 
|  failover  | RDS-EVENT-0015 |  Failover da Multi-AZ a standby completato: la propagazione DNS può richiedere alcuni minuti.  | È stato completato un failover Multi-AZ che ha comportato la promozione di un'istanza database in standby. Potrebbero essere necessari alcuni minuti per il trasferimento del DNS alla nuova istanza database principale. | 
|  failover  | RDS-EVENT-0034 |  Abbandono in corso del failover richiesto dall'utente perché di recente si è verificato un failover nell'istanza database.  | Amazon RDS non sta tentando di effettuare un failover richiesto perché di recente si è verificato un failover nell'istanza database. | 
|  failover  | RDS-EVENT-0049 | Failover dell'istanza Multi-AZ completato. | Nessuno | 
|  failover  | RDS-EVENT-0050 |  Attivazione dell'istanza Multi-AZ avviata.  | È stata avviata un’attivazione Multi-AZ dopo il completamento del ripristino dell’istanza database. Questo evento si verifica se Amazon RDS promuove l’istanza database primaria nella stessa zona di disponibilità dell’istanza database primaria precedente. | 
|  failover  | RDS-EVENT-0051 |  Attivazione dell'istanza Multi-AZ completata.  | È stata completata un'attivazione Multi-AZ. Ora il database dovrebbe essere accessibile.  | 
|  failover  | RDS-EVENT-0065 |  Ripristino riuscito da un failover parziale.  | Nessuno | 
|  errore  | RDS-EVENT-0031 |  Istanza DB messa in *name* stato. RDS consiglia di avviare un. point-in-time-restore  | L'istanza database ha avuto esito negativo a causa di una configurazione non compatibile o di un problema di storage sottostante. Inizia a point-in-time-restore per l'istanza DB. | 
|  errore  | RDS-EVENT-0035 |  Istanza di database inserita in*state*. *message*.  | L'istanza database include parametri non validi. Ad esempio, se non è stato possibile avviare l'istanza database perché un parametro relativo alla memoria è troppo elevato per questa classe di istanze, è necessario modificare il parametro relativo alla memoria e riavviare l'istanza database. | 
|  errore  | RDS-EVENT-0036 |  Istanza di database in*state*. *message*.  | L'istanza database si trova in una rete non compatibile. Alcune delle sottoreti specificate non IDs sono valide o non esistono. | 
|  errore  | RDS-EVENT-0058 |  L'installazione di Statspack non è riuscita. *message*.  | Errore durante la creazione dell'account utente Oracle Statspack `PERFSTAT`. Eliminare l'account prima di aggiungere l'opzione `STATSPACK`. | 
|  errore  | RDS-EVENT-0079 |  Amazon RDS non è stato in grado di creare le credenziali per un monitoraggio avanzato e questa funzionalità è stata disattivata. Ciò è probabilmente dovuto al fatto che rds-monitoring-role non è presente e non è configurato correttamente nel tuo account. Per ulteriori dettagli, consulta la sezione relativa alla risoluzione dei problemi nella documentazione di Amazon RDS.  |  Impossibile abilitare la funzionalità Monitoraggio avanzato senza il ruolo IAM di monitoraggio avanzato. Per ulteriori informazioni sulla creazione del ruolo IAM, consulta [Per creare un ruolo IAM per Amazon RDS Enhanced Monitoring](USER_Monitoring.OS.Enabling.md#USER_Monitoring.OS.IAMRole).  | 
|  errore  | RDS-EVENT-0080 |  Amazon RDS non è stato in grado di configurare il monitoraggio avanzato sulla tua istanza *name* e questa funzionalità è stata disabilitata. Ciò è probabilmente dovuto al fatto che rds-monitoring-role non è presente e non è configurato correttamente nel tuo account. Per ulteriori dettagli, consulta la sezione relativa alla risoluzione dei problemi nella documentazione di Amazon RDS.  |  La funzionalità Monitoraggio avanzato è stata disabilitata a causa di un errore che ha provocato la modifica della configurazione. È possibile che il ruolo IAM di monitoraggio avanzato non sia configurato correttamente. Per informazioni sulla creazione del ruolo IAM di monitoraggio avanzato, consulta [Per creare un ruolo IAM per Amazon RDS Enhanced Monitoring](USER_Monitoring.OS.Enabling.md#USER_Monitoring.OS.IAMRole).  | 
|  errore  | RDS-EVENT-0081 |  Amazon RDS non è stato in grado di creare credenziali per l'*name*opzione. Ciò è dovuto al fatto che il ruolo *name* IAM non è configurato correttamente nel tuo account. Per ulteriori dettagli, consulta la sezione relativa alla risoluzione dei problemi nella documentazione di Amazon RDS.  |  Il ruolo IAM utilizzato per accedere al bucket di Amazon S3 per il backup e ripristino nativo di SQL Server non è configurato correttamente. Per ulteriori informazioni, consulta [Configurazione di backup e ripristino nativi](SQLServer.Procedural.Importing.Native.Enabling.md).  | 
|  errore  | RDS-EVENT-0165 |  L'istanza RDS Custom DB si trova al di fuori del perimetro di supporto.  |  È tua responsabilità risolvere i problemi di configurazione che portano l'istanza database di RDS Custom nello stato `unsupported-configuration`. Se il problema riguarda l' AWS infrastruttura, puoi utilizzare la console o risolverlo. AWS CLI Se il problema riguarda il sistema operativo o la configurazione del database, è possibile accedere all'host per risolverlo.Per ulteriori informazioni, consulta [Perimetro di supporto RDS Custom](custom-concept.md#custom-troubleshooting.support-perimeter). | 
|  errore  | RDS-EVENT-0188 |  L'istanza DB si trova in uno stato che non può essere aggiornato. *message*  |  Amazon RDS non è riuscito ad aggiornare un’istanza database MySQL a causa di incompatibilità correlate al dizionario dei dati. L’istanza database è stata ripristinata alla versione 5.7 di MySQL a causa di un tentativo di aggiornamento alla versione 8.0 non riuscito, oppure è stata ripristinata alla versione 8.0 di MySQL a causa di un tentativo di aggiornamento alla versione 8.4 non riuscito. Per ulteriori informazioni, consulta [Rollback dopo il mancato aggiornamento](USER_UpgradeDBInstance.MySQL.Major.md#USER_UpgradeDBInstance.MySQL.Major.RollbackAfterFailure).  | 
|  errore  | RDS-EVENT-0219 |  Lo stato dell'istanza database non è valido. Nessuna operazione richiesta. Il ridimensionamento automatico verrà riprovato in un secondo momento.  | Nessuno | 
|  errore  | RDS-EVENT-0220 |  L'istanza database è nel periodo di raffreddamento per una precedente operazione di dimensionamento dell'archiviazione. Ottimizzazione dell'istanza database in corso. Questa operazione può richiedere almeno 6 ore. Nessuna operazione richiesta. La scalabilità automatica si riprova dopo il periodo di raffreddamento.  | Nessuno | 
|  errore  | RDS-EVENT-0223 |  La scalabilità automatica dello storage non è in grado di scalare lo storage per il motivo:. *reason*  | Nessuno | 
|  errore  | RDS-EVENT-0224 |  Il dimensionamento automatico dell'archiviazione ha attivato un'attività di dimensionamento dell'archiviazione in sospeso che raggiungerà o supererà la soglia massima di archiviazione. Aumenta la soglia massima di archiviazione.  | Nessuno | 
|  errore  | RDS-EVENT-0237 |  Il tipo di archiviazione dell'istanza database non è attualmente disponibile nella zona di disponibilità. Il ridimensionamento automatico verrà riprovato in un secondo momento.  | Nessuno | 
| errore | RDS-EVENT-0254 |  La quota di archiviazione sottostante per questo account cliente ha superato il limite. Aumentare la quota di archiviazione consentita per consentire il dimensionamento dell'istanza.  | Nessuno | 
|  errore  |  RDS-EVENT-0278  |  La creazione dell'istanza DB non è riuscita. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0279  |  La promozione della replica di lettura personalizzata RDS non è riuscita. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0280  |  RDS Custom non è riuscito ad aggiornare l'istanza DB perché il controllo preliminare non è riuscito. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0281  |  RDS Custom non è riuscito a modificare l'istanza DB perché il controllo preliminare non è riuscito. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0282  |  RDS Custom non è riuscito a modificare l'istanza database perché le autorizzazioni degli indirizzi IP elastici non sono corrette. Verificare che l'indirizzo IP elastico sia contrassegnato con `AWSRDSCustom`.  |  Nessuno  | 
|  errore  |  RDS-EVENT-0283  |  RDS Custom non è riuscito a modificare l'istanza database perché è stato raggiunto il limite di indirizzi IP elastici nell'account. Rilascia Elastic inutilizzato IPs o richiedi un aumento della quota per il limite di indirizzi IP elastici.  |  Nessuno  | 
|  errore  |  RDS-EVENT-0284  |  RDS Custom non è riuscito a convertire l'istanza in alta disponibilità perché il controllo preliminare non è riuscito. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0285  |  RDS Custom non è riuscito a creare uno snapshot finale per l'istanza DB perché. *message*  |  *message*Include dettagli sull'errore.  | 
|  errore  |  RDS-EVENT-0421  |  RDS Custom non è riuscito a convertire l'istanza DB in una distribuzione Multi-AZ:. *message* L’istanza rimarrà un’implementazione Single-AZ. Consultare la Guida per l’utente di RDS per informazioni sulle implementazioni Multi-AZ per RDS Custom per Oracle.  |  *message*Include dettagli sull'errore.  | 
|  errore  | RDS-EVENT-0306 |  L'aggiornamento della configurazione dell'archiviazione non è riuscito. Prova a eseguire nuovamente l'aggiornamento.  | Nessuno | 
|  errore  | RDS-EVENT-0315 |  Impossibile spostare il database di rete incompatibile allo stato *name* disponibile: *message*  |  La configurazione di rete del database non è valida. Impossibile spostare il database da una rete non compatibile a una rete disponibile.  | 
| errore | RDS-EVENT-0328 |  Impossibile aggiungere un host a un dominio. Lo stato di appartenenza al dominio, ad esempio, *instancename* è stato impostato su Non riuscito.  | Nessuno | 
| errore | RDS-EVENT-0329 |  Impossibile aggiungere un host al dominio. Durante il processo di aggiunta al dominio, Microsoft Windows ha restituito il codice di errore*message*. Verificare le configurazioni di rete e autorizzazioni e inviare una richiesta `modify-db-instance` per provare a ripetere l’aggiunta al dominio.  | Per l’utilizzo di un’istanza di Active Directory autogestita, consulta [Risoluzione dei problemi di Active Directory gestito dal cliente](USER_SQLServer_SelfManagedActiveDirectory.TroubleshootingSelfManagedActiveDirectory.md). | 
| errore | RDS-EVENT-0353 |  L'istanza DB non può essere creata a causa di limiti di risorse insufficienti. *message*.  |  *message*Include dettagli sull'errore.  | 
| errore | RDS-EVENT-0356 |  RDS non è riuscito a configurare l’endpoint Kerberos nel dominio. Questo potrebbe impedire l’autenticazione Kerberos per l’istanza database. Verificare la configurazione di rete tra l’istanza database e i controller di dominio.  | Nessuno | 
| errore | RDS-EVENT-0418 | Amazon RDS non è in grado di accedere alla chiave di KMS crittografia per l'istanza *name* del database. È possibile che la chiave sia disabilitata o che Amazon RDS non riesca ad accedervi. Se il problema persiste, il database verrà posto in uno stato inaccessibile. Per ulteriori dettagli, consulta la sezione relativa alla risoluzione dei problemi nella documentazione di Amazon RDS. | Nessuno | 
| errore | RDS-EVENT-0420 | Amazon RDS ora può accedere correttamente alla chiave di KMS crittografia per l'istanza *name* di database. | Nessuno | 
|  storage insufficiente  | RDS-EVENT-0007 |  Lo spazio di archiviazione allocato è stato esaurito. Allocare spazio di archiviazione aggiuntivo per risolvere il problema.  |  Lo storage allocato per l'istanza database è esaurito. Per risolvere questo problema, assegna ulteriore storage per l'istanza database. Per ulteriori informazioni, consulta le [domande frequenti su RDS](https://aws.amazon.com/rds/faqs). Puoi monitorare lo spazio di storage per un'istanza database usando il parametro **Free Storage Space (Spazio di storage libero)**.  | 
|  storage insufficiente  | RDS-EVENT-0089 |  La capacità di storage gratuita per l'istanza DB: *name* è bassa rispetto allo *percentage* storage fornito [Provisioned Storage:*size*, Free Storage:]. *size* È possibile aumentare lo spazio di archiviazione assegnato per risolvere questo problema.  |  L'istanza database ha utilizzato oltre il 90% dello storage allocato. Puoi monitorare lo spazio di storage per un'istanza database usando il parametro **Free Storage Space (Spazio di storage libero)**.  | 
|  storage insufficiente  | RDS-EVENT-0227 |  Lo storage del cluster Aurora è pericolosamente basso e rimangono solo terabyte. *amount* Prendere misure idonee per ridurre il carico di archiviazione sul cluster.  |  Il sottosistema di archiviazione di Aurora sta esaurendo lo spazio.  | 
|  manutenzione  | RDS-EVENT-0026 |  Applicazione di patch offline all'istanza database in corso.  |  È in corso la manutenzione offline dell'istanza database. L'istanza database non è attualmente disponibile.  | 
|  manutenzione  | RDS-EVENT-0027 |  Applicazione di patch offline all'istanza database terminata.  |  La manutenzione offline dell'istanza database è stata completata. L'istanza database è ora disponibile.  | 
|  manutenzione  | RDS-EVENT-0047 |  Applicazione delle patch all'istanza database completata.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0155 |  È disponibile un aggiornamento della versione secondaria del motore di database per l'istanza database.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0178 |  L’aggiornamento dell’istanza database è in corso.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0264 |  Il controllo preliminare per l'aggiornamento della versione del motore di database è iniziato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0265 |  Il controllo preliminare per l'aggiornamento della versione del motore di database è terminato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0266 |  Il tempo di inattività per l'istanza database è iniziato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0267 |  L'aggiornamento della versione del motore è iniziato.  | Nessuno | 
|  manutenzione  | RDS-EVENT-0268 |  L'aggiornamento della versione del motore è terminato. | Nessuno | 
|  manutenzione  | RDS-EVENT-0269 |  Le attività successive all'aggiornamento sono in corso. | Nessuno | 
|  manutenzione  | RDS-EVENT-0270 |  L'aggiornamento della versione del motore di database non è riuscito. Il rollback dell'aggiornamento della versione del motore è riuscito. | Nessuno | 
|  manutenzione  | RDS-EVENT-0398 |  In attesa del completamento dell’aggiornamento della versione del motore di database sull’istanza database primaria. | Emesso su una replica di lettura durante un aggiornamento della versione del motore principale. | 
|  manutenzione  | RDS-EVENT-0399 |  In attesa del completamento dell’aggiornamento della versione del motore di database sulle repliche di lettura. | Emesso sul motore di database di origine durante un aggiornamento della versione principale del motore. | 
|  manutenzione  | RDS-EVENT-0422 |  RDS sostituirà l'host dell'istanza DB a *name* causa di un'azione di manutenzione in sospeso. | Nessuno | 
|  manutenzione, guasto  | RDS-EVENT-0195 |  *message*  |  L'aggiornamento del file dei fusi orari non riuscito. Per ulteriori informazioni, consulta [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  manutenzione, notifica  | RDS-EVENT-0191 |  Una nuova versione del file dei fusi orari è disponibile per l'aggiornamento.  |  Se il motore RDS per Oracle DB viene aggiornato, Amazon RDS genera questo evento se non è stato scelto un aggiornamento del file dei fusi orari e il database non utilizza il file dei fusi orari più recente relativo all'ora legale disponibile nell'istanza. Per ulteriori informazioni, consulta [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  manutenzione, notifica  | RDS-EVENT-0192 |  L'aggiornamento del file dei fusi orari è stato avviato.  |  L'aggiornamento del file del fuso orario Oracle è iniziato. Per ulteriori informazioni, consulta [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  manutenzione, notifica  | RDS-EVENT-0193 |  Nessun aggiornamento disponibile per la versione corrente del file dei fusi orari.  |  L'istanza database Oracle utilizza la versione più recente del file dei fusi orari e una delle seguenti affermazioni è vera: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) Per ulteriori informazioni, consulta [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  manutenzione, notifica  | RDS-EVENT-0194 |  L'aggiornamento del file dei fusi orari è terminato.  |  L'aggiornamento del file dei fusi orari Oracle è stato completato. Per ulteriori informazioni, consulta [Aggiornamento automatico dei file di fuso orario Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  notifica  | RDS-EVENT-0044 |  *message*  | Si tratta di una notifica emessa dall'operatore. Per ulteriori informazioni, consulta il messaggio di evento. | 
|  notifica  | RDS-EVENT-0048 |  Ritardo dell'aggiornamento del motore di database in corso perché questa istanza contiene repliche di lettura che prima devono essere aggiornate.  | L'applicazione di patch all'istanza database è stata ritardata. | 
|  notifica  | RDS-EVENT-0054 |  *message*  | Il motore di storage MySQL in uso non è InnoDB, ovvero il motore di storage MySQL consigliato per Amazon RDS. Per informazioni sui motori di archiviazione MySQL, consulta [Motori di storage supportati per RDS for MySQL](MySQL.Concepts.FeatureSupport.md#MySQL.Concepts.Storage). | 
|  notification  | RDS-EVENT-0055 |  *message*  |  Il numero di tabelle disponibili per l'istanza database supera le best practice consigliate per Amazon RDS. Riduci il numero di tabelle nell'istanza database. Per informazioni sulle best practice consigliate, consulta [Linee guida operative di base per Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notifica  | RDS-EVENT-0056 |  *message*  |  Il numero di database disponibili per l'istanza database supera le best practice consigliate per Amazon RDS. Riduci il numero di database nell'istanza database. Per informazioni sulle best practice consigliate, consulta [Linee guida operative di base per Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notifica  | RDS-EVENT-0064 |  Rotazione della chiave di crittografia TDE riuscita.  | Per informazioni sulle best practice consigliate, consulta [Linee guida operative di base per Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notifica  | RDS-EVENT-0084 |  Impossibile convertire l'istanza DB in Multi-AZ:. *message*  |  Hai tentato di convertire un'istanza database in Multi-AZ, ma contiene gruppi di file in memoria non supportati per il Multi-AZ. Per ulteriori informazioni, consulta [Implementazioni Multi-AZ per Amazon RDS for Microsoft SQL Server](USER_SQLServerMultiAZ.md).   | 
|  notifica  | RDS-EVENT-0087 |  Istanza database arrestata.   | Nessuno | 
|  notification  | RDS-EVENT-0088 |  Istanza database creata.  | Nessuno | 
|  notification  | RDS-EVENT-0154 |  L'istanza database è in fase di avvio perché ha superato il tempo massimo concesso per l'arresto.  | Nessuno | 
|  notification  | RDS-EVENT-0157 |  Impossibile modificare la classe dell'istanza DB. *message*.  |  RDS non può modificare la classe di istanza database perché la classe di istanza di destinazione non può supportare il numero di database esistenti nell'istanza database di origine. Viene visualizzato il messaggio di errore: "The instance has *N* databases, but after conversion it would only support *N*" (L'istanza presenta N database, ma in seguito alla conversione potrebbe supportarne solo N). Per ulteriori informazioni, consulta [Restrizioni per le istanze database di Microsoft SQL Server](CHAP_SQLServer.md#SQLServer.Concepts.General.FeatureSupport.Limits).  | 
|  notifica  | RDS-EVENT-0158 |  L'istanza del database si trova in uno stato che non può essere aggiornato:*message*.  | Nessuno | 
|  notification  | RDS-EVENT-0167 |  *message*  |  La configurazione perimetrale di supporto RDS Custom è stata modificata.  | 
|  notification  | RDS-EVENT-0189 |  I crediti del saldo di burst gp2 per l'istanza database RDS sono bassi. Per risolvere questo problema, ridurre l'utilizzo di IOPS o modificare le impostazioni di archiviazione per consentire prestazioni superiori.  |  I crediti del saldo di burst gp2 per l'istanza database RDS sono bassi. Per risolvere questo problema, ridurre l'utilizzo di IOPS o modificare le impostazioni di archiviazione per consentire prestazioni superiori. Per ulteriori informazioni, consulta [Crediti I/O e prestazioni espandibili](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#EBSVolumeTypes_gp2) nella *Guida per l'utente di Amazon Elastic Compute Cloud*.  | 
|  notification  | RDS-EVENT-0225 |  La dimensione di archiviazione allocata in *amount* GB si avvicina alla soglia massima di archiviazione GB. *amount* Aumenta la soglia massima di archiviazione.  |  Questo evento viene richiamato quando l'archiviazione allocata raggiunge l'80% della soglia massima di occupazione. Per evitare l'evento, aumentare la soglia massima di occupazione dello spazio di archiviazione.  | 
|  notification  | RDS-EVENT-0231 |  La modifica dell'archiviazione dell'istanza database ha riscontrato un errore interno. La richiesta di modifica è in sospeso e la sua esecuzione verrà riprovata in seguito.  |  Si è verificato un errore interno nel processo di replica di lettura. Per ulteriori informazioni, consulta il messaggio di evento. Inoltre, vedere la sezione relativa alla risoluzione dei problemi per le repliche di lettura per il motore DB. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)  | 
|  notification  | RDS-EVENT-0253 |  Il database utilizza il buffer di doppia scrittura. *message*. Per ulteriori informazioni, consulta RDS Optimized Writes per la *name* documentazione.  | RDS con scritture ottimizzate non è compatibile con la configurazione dell'archiviazione dell'istanza. Per ulteriori informazioni, consultare [Prestazioni di scrittura migliorate con Scritture ottimizzate per Amazon RDS per MySQL](rds-optimized-writes.md) e [Prestazioni di scrittura migliorate con Scritture ottimizzate per Amazon RDS per MariaDB](rds-optimized-writes-mariadb.md). È possibile eseguire l'aggiornamento della configurazione di archiviazione per abilitare Optimized Writes [creando una blue/green distribuzione](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments-creating.html). | 
|  notification  | RDS-EVENT-0297 |  La configurazione di archiviazione per l'istanza DB *name* supporta una dimensione massima di 16384 GiB. Esegui un aggiornamento della configurazione dell'archiviazione per supportare dimensioni di archiviazione superiori a 16384 GiB.  | Non è possibile aumentare la dimensione dell'archiviazione allocata dell'istanza database oltre 16384 GiB. Per superare questa limitazione, esegui un aggiornamento della configurazione dell'archiviazione. Per ulteriori informazioni, consulta [Aggiornamento del file system di archiviazione per un’istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem).  | 
|  notification  | RDS-EVENT-0298 |  La configurazione di archiviazione per l'istanza DB *name* supporta una dimensione massima della tabella di 2048 GiB. Esegui un aggiornamento della configurazione dell'archiviazione per supportare dimensioni di tabella superiori a 2048 GiB.  | Le istanze RDS MySQL e MariaDB con questa limitazione non possono avere una dimensione della tabella superiore a 2048 GiB. Per superare questa limitazione, esegui un aggiornamento della configurazione dell'archiviazione. Per ulteriori informazioni, consulta [Aggiornamento del file system di archiviazione per un’istanza database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem).  | 
|  notification  | RDS-EVENT-0327 |  Amazon RDS non è riuscito a trovare il segreto*SECRET ARN*. *message.*  | Nessuno | 
|  notification  | RDS-EVENT-0365 |  I file del fuso orario sono stati aggiornati. Riavviare l’istanza database affinché vengano applicate le modifiche.  | Nessuno | 
|  notification  | RDS-EVENT-0385 |  La topologia del cluster è stata aggiornata.  |  Sono state apportate modifiche DNS al cluster di database per l’istanza database. Sono inclusi i casi di aggiunta o eliminazione di nuove istanze database oppure di failover.  | 
|  notification  | RDS-EVENT-0403 |  Un carico di lavoro del database causa un eccessivo esaurimento della memoria del sistema. Per contribuire a mitigare il problema, RDS imposta automaticamente il valore di innodb\$1buffer\$1pool\$1size su. *amount*  |  Si applica solo a istanze database RDS per MySQL e RDS per MariaDB.  | 
|  notification  | RDS-EVENT-0404 |  Un carico di lavoro del database causa un eccessivo esaurimento della memoria del sistema. Per contribuire a mitigare il problema, RDS imposta automaticamente il valore di shared\$1buffers su. *amount*  |  Si applica solo alle istanze database RDS per PostgreSQL.  | 
|  replica di lettura  | RDS-EVENT-0045 |  La replica è stata interrotta.  |  Questo messaggio viene visualizzato quando si verifica un errore durante la replica. Per determinare il tipo di errore, consulta [Risoluzione dei problemi relativi a una replica di lettura MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.Troubleshooting.html).  | 
|  replica di lettura  | RDS-EVENT-0046 |  Replica della replica di lettura ripristinata.  | Questo messaggio viene visualizzato quando crei per la prima volta una replica di lettura o come messaggio di monitoraggio che conferma il corretto funzionamento della replica. Se il messaggio segue una notifica `RDS-EVENT-0045`, la replica viene ripristinata in seguito a un errore o dopo l'arresto della replica. | 
|  replica di lettura  | RDS-EVENT-0057 |  Lo streaming della replica è stata interrotta.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0062 |  La replica della replica di lettura è stata arrestata manualmente.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0063 |  La replica da un'istanza non RDS è stata reimpostata.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0202 |  Creazione della replica di lettura non riuscita.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0233 |  Lo switchover alla replica di lettura è stato avviato.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0357 |  *name*Canale di replica avviato.  | Per informazioni sui canali di replica, consulta [Configurazione multi-source-replication per Amazon RDS for MySQL](mysql-multi-source-replication.md). | 
|  replica di lettura  | RDS-EVENT-0358 |  Canale di replica interrotto*name*.  | Per informazioni sui canali di replica, consulta [Configurazione multi-source-replication per Amazon RDS for MySQL](mysql-multi-source-replication.md). | 
|  replica di lettura  | RDS-EVENT-0359 |  Il canale di replica *name* è stato interrotto manualmente.  | Per informazioni sui canali di replica, consulta [Configurazione multi-source-replication per Amazon RDS for MySQL](mysql-multi-source-replication.md). | 
|  replica di lettura  | RDS-EVENT-0360 |  Il canale di replica *name* è stato ripristinato.  | Per informazioni sui canali di replica, consulta [Configurazione multi-source-replication per Amazon RDS for MySQL](mysql-multi-source-replication.md). | 
|  replica di lettura  | RDS-EVENT-0415 |  Il processo di aggiornamento ha ripreso la replica sulla replica di lettura.  | Nessuno | 
|  replica di lettura  | RDS-EVENT-0416 |  Il processo di aggiornamento ha arrestato la replica sulla replica di lettura.  | Nessuno | 
|  recupero  | RDS-EVENT-0020 |  È stato avviato il recupero dell'istanza database. La durata del recupero varia in funzione della quantità di dati da recuperare.  | Nessuno | 
|  recupero  | RDS-EVENT-0021 |  È stato completato il recupero dell'istanza database.  | Nessuno | 
|  recupero  | RDS-EVENT-0023 |  Richiesta istantanea emergente:. *message*  |  È stato richiesto un backup manuale, ma in Amazon RDS è in corso la creazione di uno snapshot DB. Invia di nuovo la richiesta quando Amazon RDS avrà completato lo snapshot DB.  | 
|  recupero  | RDS-EVENT-0052 |  Ripristino dell'istanza Multi-AZ avviato.  | La durata del recupero varia in funzione della quantità di dati da recuperare. | 
|  recupero  | RDS-EVENT-0053 |  Ripristino dell'istanza Multi-AZ completato. Failover o attivazione in sospeso.  | Questo messaggio indica che Amazon RDS ha preparato l’istanza database per avviare un failover sull’istanza secondaria, se necessario. | 
|  recupero  | RDS-EVENT-0066 |  L'istanza verrà degradata quando verrà ristabilito il mirroring:. *message*  |  L'istanza database di SQL Server sta ristabilendo il relativo mirror. Le prestazioni subiranno un peggioramento fino al termine dell'operazione. È stato trovato un database con un modello di recupero non FULL. Il modello di ripristino è stato impostato di nuovo su FULL ed è stato avviato il ripristino del mirroring (<dbname>: <recovery model found>[,…])"  | 
|  recupero  | RDS-EVENT-0166 |  *message*  |  L'istanza RDS Custom DB si trova all'interno del perimetro di supporto.  | 
|  recupero  | RDS-EVENT-0361 |  Il recupero dell’istanza database in standby è stato avviato.  |  L’istanza database in standby viene ricompilata durante il processo di ripristino. Il processo di ripristino influisce sulle prestazioni del database.  | 
|  recupero  | RDS-EVENT-0362 |  Il recupero dell’istanza database in standby è stato completato.  |  L’istanza database in standby viene ricompilata durante il processo di ripristino. Il processo di ripristino influisce sulle prestazioni del database.  | 
|  ripristino  | RDS-EVENT-0019 |  Ripristinato da un'istanza DB a. *name* *name*  |  L'istanza DB è stata ripristinata da un point-in-time backup.  | 
|  sicurezza  | RDS-EVENT-0068 |  Decrittografia della password della partizione hsm in corso per aggiornare l'istanza.  |  RDS sta decriptando la password della AWS CloudHSM partizione per aggiornare l'istanza DB. Per ulteriori informazioni, consulta [Oracle Database Transparent Data Encryption (TDE) con AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/oracle-tde.html) nella *Guida per l'utente di AWS CloudHSM *.  | 
|  applicazione di patch di sicurezza  | RDS-EVENT-0230 |  È disponibile un aggiornamento del sistema per l'istanza database. Per informazioni sull'applicazione degli aggiornamenti, consulta "Manutenzione di un'istanza database" nella Guida per l'utente di RDS.  |  È disponibile un nuovo aggiornamento per il sistema operativo. È disponibile un nuova versione secondaria dell'aggiornamento del sistema operativo per l'istanza database. Per informazioni sull'applicazione degli aggiornamenti, consulta [Aggiornamenti del sistema operativo per istanze database RDS](USER_UpgradeDBInstance.Maintenance.md#OS_Updates).  | 
|  manutenzione  | RDS-EVENT-0425 |  Amazon RDS non è in grado di eseguire l’aggiornamento del sistema operativo perché non sono disponibili indirizzi IP nelle sottoreti specificate. Scegliere le sottoreti con indirizzi IP disponibili e riprovare.  |  Nessuno  | 
|  manutenzione  | RDS-EVENT-0429 |  Amazon RDS non può eseguire l'aggiornamento del sistema operativo a causa della capacità insufficiente disponibile per il tipo di *type* istanza nella zona di *zone* disponibilità  |  Nessuno  | 
|  manutenzione  | RDS-EVENT-0501  |  Il certificato del server dell'istanza database Amazon RDS richiede la rotazione attraverso un'azione di manutenzione in sospeso.  |  Il certificato del server dell'istanza DB richiede la rotazione attraverso un'azione di manutenzione in sospeso. Amazon RDS riavvia il database durante questa manutenzione per completare la rotazione dei certificati. Per pianificare questa manutenzione, vai alla scheda **Manutenzione e backup e** scegli **Applica ora** o **Pianifica per la prossima** finestra di manutenzione. Se la modifica non è pianificata, Amazon RDS la applica automaticamente nella finestra di manutenzione alla data di applicazione automatica indicata nell'azione di manutenzione.  | 
|  manutenzione  | RDS-EVENT-0502  |  Amazon RDS ha pianificato una rotazione dei certificati del server per l'istanza DB durante la prossima finestra di manutenzione. Questa manutenzione richiederà il riavvio del database.  |  Nessuno  | 

## Eventi gruppo di parametri database
<a name="USER_Events.Messages.parameter-group"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è un gruppo dei parametri database.


|  Categoria  | ID evento RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  modifica della configurazione  | RDS-EVENT-0037 |  Parametro aggiornato *name* al metodo *value* *method* with apply.   |  Nessuno  | 

## Eventi gruppo di sicurezza DB
<a name="USER_Events.Messages.security-group"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è un gruppo di sicurezza DB.

**Nota**  
I gruppi di sicurezza del database sono risorse per EC2-Classic. EC2-Classic è stato ritirato il 15 agosto 2022. Se non hai eseguito la migrazione da EC2-Classic a un VPC, ti consigliamo di eseguirla il prima possibile. Per ulteriori informazioni, consulta [Eseguire la migrazione da EC2-Classic a un VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) nella *Guida per l'utente di Amazon EC2* e il blog [EC2-Classic Networking is Retiring – Here's How to Prepare](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/) (Il networking EC2-Classic viene ritirato: ecco come prepararsi).


|  Categoria  | ID evento RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  modifica della configurazione  | RDS-EVENT-0038 |  Modifica al gruppo di sicurezza applicata.  |  Nessuno  | 
|  errore  | RDS-EVENT-0039 |  Revoca dell'autorizzazione come. *user*  |  Il gruppo di sicurezza di proprietà di *user* non esiste. L'autorizzazione per gruppo di sicurezza è stata revocata perché non è valida.  | 

## Eventi degli snapshot DB
<a name="USER_Events.Messages.snapshot"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è uno snapshot DB.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)

## Eventi RDS Proxy
<a name="USER_Events.Messages.rds-proxy"></a>

La tabella seguente riporta la categoria di eventi e un elenco di eventi applicabili quando il tipo di origine è un proxy RDS.


|  Categoria  | ID evento RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
| modifica della configurazione | RDS-EVENT-0204 |  Proxy *name* DB modificato da RDS.  | Nessuno | 
| modifica della configurazione | RDS-EVENT-0207 |  RDS ha modificato il punto finale del proxy DB. *name*  | Nessuno | 
| modifica della configurazione | RDS-EVENT-0213 |  RDS ha rilevato l'aggiunta dell'istanza DB e l'ha aggiunta automaticamente al gruppo di destinazione del proxy DB. *name*  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0214 |  RDS ha rilevato l'eliminazione dell'istanza DB *name* e l'ha rimossa automaticamente dal gruppo target *name* del proxy DB. *name*  | Nessuno | 
|  modifica della configurazione  | RDS-EVENT-0215 |  RDS ha rilevato l'eliminazione del cluster DB *name* e lo ha rimosso automaticamente dal gruppo *name* di destinazione del proxy DB. *name*  | Nessuno | 
|  creazione  | RDS-EVENT-0203 |  Proxy DB creato da RDS. *name*  | Nessuno | 
|  creazione  | RDS-EVENT-0206 |  Endpoint creato da RDS *name* per il proxy DB. *name*  | Nessuno | 
| eliminazione | RDS-EVENT-0205 |  RDS ha eliminato il proxy DB. *name*  | Nessuno | 
|  eliminazione  | RDS-EVENT-0208 |  RDS ha eliminato l'endpoint *name* per il proxy DB. *name*  | Nessuno | 
|  errore  | RDS-EVENT-0243 |  RDS non è riuscito a fornire la capacità per il proxy *name* perché non ci sono abbastanza indirizzi IP disponibili nelle sottoreti:. *name* Per risolvere il problema, assicurarsi che le sottoreti abbiano il numero minimo di indirizzi IP non utilizzati come consigliato nella documentazione di Server proxy per Amazon RDS.  |  Per determinare il numero consigliato per la classe di istanza, consulta [Pianificazione della capacità degli indirizzi IP](rds-proxy-network-prereqs.md#rds-proxy-network-prereqs.plan-ip-address).  | 
|  errore | RDS-EVENT-0275 |  RDS ha limitato alcune connessioni al proxy DB. *name* Il numero di richieste di connessione simultanee dal client al proxy ha superato il limite.  | Nessuno | 

## Eventi di implementazione blu/verde
<a name="USER_Events.Messages.BlueGreenDeployments"></a>

La tabella seguente mostra la categoria di eventi e un elenco di eventi quando una blue/green distribuzione è il tipo di origine.

Per ulteriori informazioni sulle blue/green distribuzioni, vedere. [Utilizzo di Amazon RDS Blue/Green Aurora Deployments per gli aggiornamenti del database](blue-green-deployments.md)


|  Categoria  | ID evento Amazon RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  creazione  | RDS-EVENT-0244 |  Le attività di implementazione blu/verde sono state completate. È possibile apportare ulteriori modifiche ai database dell'ambiente verde o passare all'implementazione.  | Nessuno | 
|  errore  | RDS-EVENT-0245 |  La creazione della blue/green distribuzione non è riuscita perché. *reason*  | Nessuno | 
|  eliminazione  | RDS-EVENT-0246 |  L'implementazione blu/verde è stata eliminata.  | Nessuno | 
|  notification  | RDS-EVENT-0247 |  Passaggio da *blue* a avviato. *green*  | Nessuno | 
|  notification  | RDS-EVENT-0248 |  Switchover completato al momento dell'implementazione. blue/green   | Nessuno | 
|  errore  | RDS-EVENT-0249 |  Switchover annullato al momento dell'implementazione. blue/green   | Nessuno | 
|  notification  | RDS-EVENT-0250  |   *blue* *green*  | Nessuno | 
|  notification  | RDS-EVENT-0251  |   *blue* *green* *blue**blue-old*Rinominato *green* in *blue* e in.  | Nessuno | 
|  errore  | RDS-EVENT-0252  |  Il passaggio dal cluster di replica primario/di lettura a è stato annullato a causa di. *blue* *green* *reason*  | Nessuno | 
|  notification  | RDS-EVENT-0307  |   *blue* *green* Quando si utilizzano le sequenze lo switchover può comportare tempi di inattività prolungati.  | Nessuno | 
|  notification  | RDS-EVENT-0308  |  La sincronizzazione della sequenza per il passaggio del cluster a è stata completata. *blue* *green*  | Nessuno | 
|  errore  | RDS-EVENT-0310  |  La sincronizzazione della sequenza per il passaggio del *blue* a *green* è stata annullata perché le sequenze non sono state sincronizzate.  | Nessuno | 
| notification | RDS-EVENT-0405 |  I volumi di archiviazione sono in fase di inizializzazione.  |  Nessuno  | 
| notification | RDS-EVENT-0406 |  I volumi di archiviazione sono stati inizializzati.  |  Nessuno  | 
|  notification  | RDS-EVENT-0409  |  *message*  | Nessuno | 

## Eventi di versioni personalizzate del motore
<a name="USER_Events.Messages.CEV"></a>

La tabella seguente mostra la categoria di evento e un elenco di eventi quando il tipo di origine è una versione personalizzata del motore.


|  Categoria  | ID evento Amazon RDS |  Messaggio  |  Note  | 
| --- | --- | --- | --- | 
|  creazione  | RDS-EVENT-0316 |  Preparazione alla creazione di una versione personalizzata del motore. *name* Il completamento dell'intero processo di creazione può richiedere fino a quattro ore.  | Nessuno | 
|  creazione  | RDS-EVENT-0317 |  Creazione di una versione del motore personalizzata*name*.  | Nessuno | 
|  creazione  | RDS-EVENT-0318 |  Convalida della versione *name* del motore personalizzata.  | Nessuno | 
|  creazione  | RDS-EVENT-0319 |  La versione personalizzata del motore *name* è stata creata correttamente.  | Nessuno | 
|  creazione  | RDS-EVENT-0320 |  RDS non può creare una versione personalizzata del motore *name* a causa di un problema interno. Stiamo risolvendo il problema e ti contatteremo se necessario. Per ulteriore assistenza, contatta [AWS Premium Support](https://console.aws.amazon.com/support/).  | Nessuno | 
|  errore  | RDS-EVENT-0198 |  Creazione non riuscita per la versione *name* personalizzata del motore. *message*  | *message*Include dettagli sull'errore, ad esempio i file mancanti. | 
|  errore  | RDS-EVENT-0277 |  Errore durante l'eliminazione della versione personalizzata del motore*name*. *message*  | *message*Include dettagli sull'errore. | 
|  ripristino  | RDS-EVENT-0352 |  Il numero massimo di database supportato per point-in-time il ripristino è cambiato.  | *message*Include dettagli sull'evento. | 

# Monitoraggio dei file di log di Amazon RDS
<a name="USER_LogAccess"></a>

Ogni motore di database RDS genera registri cui è possibile accedere per il controllo e la risoluzione dei problemi. Il tipo di registri dipende dal motore di database.

È possibile accedere ai log del database per le istanze database utilizzando la Console di gestione AWS, AWS Command Line Interface (AWS CLI) o l’API Amazon RDS. Non puoi visualizzare, controllare o scaricare registri delle transazioni.

**Topics**
+ [Visualizzazione ed elenco dei file di log del database](USER_LogAccess.Procedural.Viewing.md)
+ [Download di un file di log di database](USER_LogAccess.Procedural.Downloading.md)
+ [Controllo di un file di log di database](USER_LogAccess.Procedural.Watching.md)
+ [Pubblicazione di log di database su Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md)
+ [Lettura dei contenuti del file di log con REST](DownloadCompleteDBLogFile.md)
+ [File di log del database Amazon RDS per Db2](USER_LogAccess.Concepts.Db2.md)
+ [File di log del database MariaDB](USER_LogAccess.Concepts.MariaDB.md)
+ [File di log di database Amazon RDS per Microsoft SQL Server](USER_LogAccess.Concepts.SQLServer.md)
+ [File di registro del database](USER_LogAccess.Concepts.MySQL.md)
+ [File di log del database Amazon RDS per Oracle](USER_LogAccess.Concepts.Oracle.md)
+ [](USER_LogAccess.Concepts.PostgreSQL.md)

# Visualizzazione ed elenco dei file di log del database
<a name="USER_LogAccess.Procedural.Viewing"></a>

Puoi visualizzare i file di log del database per il motore DB Amazon RDS utilizzando la Console di gestione AWS. Puoi elencare i file di log disponibili per il download o il monitoraggio tramite AWS CLI o l'API di Amazon RDS. 

**Nota**  
Se non riesci a visualizzare l'elenco dei file di log per un'istanza database Oracle esistente, riavvia l'istanza per visualizzare l'elenco. 

## Console
<a name="USER_LogAccess.CON"></a>

**Per visualizzare un file di log di database**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Databases (Database)**.

1. Scegliere il nome dell'istanza di database che ha il file di log che si desidera visualizzare.

1. Scegliere la scheda **Logs & events (Log ed eventi)**.

1. Scorrere fino alla sezione **Logs (Log)**.

1. (Opzionale) Inserisci un termine di ricerca per filtrare i risultati.

1. Scegli il log che desideri visualizzare, quindi seleziona **View (Visualizza)**.

## AWS CLI
<a name="USER_LogAccess.CLI"></a>

Per elencare i file di log del database disponibili per un'istanza database, utilizza il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-log-files.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-log-files.html).

Il seguente esempio restituisce un elenco di file di log per un'istanza database denominata `my-db-instance`.

**Example**  

```
1. aws rds describe-db-log-files --db-instance-identifier my-db-instance
```

## API RDS
<a name="USER_LogAccess.API"></a>

Per elencare i file di log del database disponibili per un'istanza database usa l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html).

# Download di un file di log di database
<a name="USER_LogAccess.Procedural.Downloading"></a>

Puoi usare la Console di gestione AWS, AWS CLI o l'API per scaricare un file di log del database. 

## Console
<a name="USER_LogAccess.Procedural.Downloading.CON"></a>

**Per scaricare un file di log di database**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Databases (Database)**.

1. Scegliere il nome dell'istanza di database che ha il file di log che si desidera visualizzare.

1. Scegliere la scheda **Logs & events (Log ed eventi)**.

1. Scorrere fino alla sezione **Logs (Log)**. 

1. Nella sezione **Logs (Log)**, selezionare il pulsante accanto al log che si desidera scaricare, quindi selezionare **Download (Scarica)**.

1. Aprire il menu contestuale (clic con il tasto destro del mouse) per il collegamento fornito, quindi scegliere **Save Link As (Salva collegamento come)**. Immettere l'ubicazione in cui si intende salvare il file di log, quindi scegliere **Save (Salva)**.  
![\[Visualizzazione del file di log\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/log_download2.png)

## AWS CLI
<a name="USER_LogAccess.Procedural.Downloading.CLI"></a>

Per scaricare un file di log del database, utilizzare il comando AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html). Per impostazione predefinita, questo comando scarica la porzione più recente di un file di log. Tuttavia, puoi scaricare un intero file specificando il parametro `--starting-token 0`.

L'esempio seguente mostra come scaricare tutto il contenuto di un file di log denominato *log/ERROR.4* e come archiviarlo in un file locale denominato *errorlog.txt*.

**Example**  
Per Linux, macOS o Unix:  

```
1. aws rds download-db-log-file-portion \
2.     --db-instance-identifier myexampledb \
3.     --starting-token 0 --output text \
4.     --log-file-name log/ERROR.4 > errorlog.txt
```
Per Windows:  

```
1. aws rds download-db-log-file-portion ^
2.     --db-instance-identifier myexampledb ^
3.     --starting-token 0 --output text ^
4.     --log-file-name log/ERROR.4 > errorlog.txt
```

## API RDS
<a name="USER_LogAccess.Procedural.Downloading.API"></a>

Per scaricare un file di log del database, utilizzare l'operazione API Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html).

# Controllo di un file di log di database
<a name="USER_LogAccess.Procedural.Watching"></a>

Controllare un file di registro del database equivale a eseguire l'accodamento del file su un sistema UNIX o Linux. Puoi controllare un file di registro usando la Console di gestione AWS. RDS aggiorna la coda del registro ogni 5 secondi.

**Per controllare un file di log di database**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Databases (Database)**.

1. Scegliere il nome dell'istanza di database che ha il file di log che si desidera visualizzare.

1. Scegliere la scheda **Logs & events (Log ed eventi)**.  
![\[Scelta della scheda Logs & events (Log ed eventi).\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/Monitoring_logsEvents.png)

1. Nella sezione **Logs (Log)**, scegliere un file di log, quindi selezionare **Watch (Controlla)**.  
![\[Scelta di un registro\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/Monitoring_LogsEvents_watch.png)

   RDS mostra la coda del registro, come nel seguente esempio MySQL.  
![\[Coda di un file di registro\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/Monitoring_LogsEvents_watch_content.png)

# Pubblicazione di log di database su Amazon CloudWatch Logs
<a name="USER_LogAccess.Procedural.UploadtoCloudWatch"></a>

In un database on-premise, i registri del database risiedono nel file system. Amazon RDS non fornisce accesso host ai registri del database sul file system dell'istanza database. Per questo motivo, Amazon RDS consente di esportare i registri del database nei [file di log Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). Con File di log CloudWatch, puoi eseguire analisi in tempo reale dei dati dei registri. Puoi anche archiviare i dati in un archivio estremamente durevole e gestirli con l'agente File di log CloudWatch. 

**Topics**
+ [Panoramica dell'integrazione RDS con i file di log CloudWatch](#rds-integration-cw-logs)
+ [Decidere quali registri pubblicare nei file di log CloudWatch](#engine-specific-logs)
+ [Specifica dei registri da pubblicare nei file di log CloudWatch](#integrating_cloudwatchlogs.configure)
+ [Ricerca e filtraggio dei registri nei file di log CloudWatch](#accessing-logs-in-cloudwatch)

## Panoramica dell'integrazione RDS con i file di log CloudWatch
<a name="rds-integration-cw-logs"></a>

Nei file di log CloudWatch, un *flusso di log* è una sequenza di eventi di log che condividono la stessa origine. Ciascuna origine di log in CloudWatch Logs costituisce un flusso di log distinto. Un *gruppo di log* è un gruppo di flussi di log che condividono le stesse impostazioni di conservazione, monitoraggio e controllo degli accessi.

Amazon RDS esegue lo streaming continuo dei record di log dell'istanza database in un gruppo di log. Ad esempio, disponi di un gruppo di registri `/aws/rds/instance/instance_name/log_type` per ogni tipo di registro che pubblichi. Questo gruppo di log si trova nella stessa regione AWS dell'istanza database che genera il log.

AWS conserva i dati di registro pubblicati nei file di log CloudWatch per un periodo di tempo indefinito a meno che non venga specificato un periodo di conservazione. Per ulteriori informazioni, consulta la pagina relativa alla [modifica del periodo di conservazione dei dati dei log in CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention). 

## Decidere quali registri pubblicare nei file di log CloudWatch
<a name="engine-specific-logs"></a>

Ogni motore di database RDS supporta il proprio set di registri. Per informazioni sulle opzioni per il motore di database, consulta i seguenti argomenti:
+ [Pubblicazione dei log Db2 su Amazon Logs CloudWatch](USER_LogAccess.Concepts.Db2.md#USER_LogAccess.Db2.PublishtoCloudWatchLogs)
+ [Pubblicazione dei log di MariadB su Amazon Logs CloudWatch](USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.md)
+ [Pubblicazione dei log MySQL in Amazon CloudWatch Logs](USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.md)
+ [Pubblicazione dei log Oracle su Amazon CloudWatch Logs](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Pubblicazione dei log PostgreSQL su Amazon Logs CloudWatch](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)
+ [Pubblicazione dei log di SQL Server su Amazon CloudWatch Logs](USER_LogAccess.Concepts.SQLServer.md#USER_LogAccess.SQLServer.PublishtoCloudWatchLogs)

## Specifica dei registri da pubblicare nei file di log CloudWatch
<a name="integrating_cloudwatchlogs.configure"></a>

Puoi specificare quali registri pubblicare nella console. Assicurati di disporre di un ruolo collegato al servizio in AWS Identity and Access Management (IAM). Per ulteriori informazioni sui ruoli collegati al servizio, consulta [Utilizzo di ruoli collegati ai servizi per Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md).

**Per specificare i registri da pubblicare**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Esegui una delle operazioni seguenti:
   + Scegliere **Crea database**.
   + Scegli un database dall'elenco, quindi scegli **Modify** (Modifica).

1. In **Logs exports** (Esportazioni di log), scegli quali registri pubblicare.

   L’esempio seguente specifica il log di audit, i log degli errori, il log generale, e il log delle query lente per un’istanza database RDS per MySQL.  
![\[Scelta dei registri da pubblicare nei file di log CloudWatch\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/AddCWLogs.png)

## Ricerca e filtraggio dei registri nei file di log CloudWatch
<a name="accessing-logs-in-cloudwatch"></a>

Puoi cercare voci di registro che soddisfino un criterio specificato utilizzando la console File di log CloudWatch. Puoi accedere ai registri tramite la console RDS, che porta alla console File di log CloudWatch, o direttamente dalla console File di log CloudWatch.

**Per cercare registri RDS utilizzando la console RDS**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Scegli un'istanza database.

1. Scegliere **Configuration (Configurazione)**.

1. In **Published logs** (Log pubblicati), scegli il registro del database che desideri visualizzare.

**Per cercare i registri RDS utilizzando la console File di log CloudWatch**

1. Apri la console CloudWatch all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione, seleziona **Log groups** (Gruppi di log).

1. Nella casella del filtro, immetti **/aws/rds**.

1. In **Log Groups** (Gruppi di log), seleziona il nome del gruppo di log contenente il flusso di log da cercare.

1. In **Log Streams** (Flussi di log), seleziona il nome del flusso di log da cercare.

1. In **Eventi di log**, immettere la sintassi del filtro da utilizzare.

Per ulteriori informazioni, consulta [Ricerca e filtraggio dei dati di registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) nella *Guida per l'utente di File di log Amazon CloudWatch*. Per un blog tutorial su come monitorare i registri RDS, consulta la sezione relativa alla [creazione di un monitoraggio proattivo del database per Amazon RDS con File di log Amazon CloudWatch, AWS Lambda e Amazon SNS](https://aws.amazon.com/blogs/database/build-proactive-database-monitoring-for-amazon-rds-with-amazon-cloudwatch-logs-aws-lambda-and-amazon-sns/).

# Lettura dei contenuti del file di log con REST
<a name="DownloadCompleteDBLogFile"></a>

Amazon RDS fornisce un endpoint REST che consente l'accesso ai file di log dell'istanza database. Questo è utile se hai necessità di scrivere un'applicazione per eseguire lo streaming dei contenuti del file di log Amazon RDS.

La sintassi è:

```
GET /v13/downloadCompleteLogFile/DBInstanceIdentifier/LogFileName HTTP/1.1
Content-type: application/json
host: rds.region.amazonaws.com
```

I parametri seguenti sono obbligatori:
+ `DBInstanceIdentifier` — Nome dell'istanza database che contiene il file di log che vuoi scaricare.
+ `LogFileName` — Nome del file di log da scaricare.

La risposta contiene i contenuti del file di log richiesto, come stream.

L'esempio seguente scarica il file di log denominato *log/ERROR.6* per l'istanza database denominata *sample-sql* nella regione *us-west-2*.

```
GET /v13/downloadCompleteLogFile/sample-sql/log/ERROR.6 HTTP/1.1
host: rds.us-west-2.amazonaws.com
X-Amz-Security-Token: AQoDYXdzEIH//////////wEa0AIXLhngC5zp9CyB1R6abwKrXHVR5efnAVN3XvR7IwqKYalFSn6UyJuEFTft9nObglx4QJ+GXV9cpACkETq=
X-Amz-Date: 20140903T233749Z
X-Amz-Algorithm: AWS4-HMAC-SHA256
X-Amz-Credential: AKIADQKE4SARGYLE/20140903/us-west-2/rds/aws4_request
X-Amz-SignedHeaders: host
X-Amz-Content-SHA256: e3b0c44298fc1c229afbf4c8996fb92427ae41e4649b934de495991b7852b855
X-Amz-Expires: 86400
X-Amz-Signature: 353a4f14b3f250142d9afc34f9f9948154d46ce7d4ec091d0cdabbcf8b40c558
```

Se specifichi un'istanza database non esistente, otterrai il seguente errore:
+ `DBInstanceNotFound`—`DBInstanceIdentifier` non fa riferimento a un'istanza database esistente. (Codice di stato HTTP: 404)

# File di log del database Amazon RDS per Db2
<a name="USER_LogAccess.Concepts.Db2"></a>

Puoi accedere ai log di diagnostica e ai log di notifica di RDS for Db2 utilizzando la console Amazon RDS o l'API RDS. AWS CLI Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Pianificazione della conservazione](#USER_LogAccess.Concepts.Db2.Retention)
+ [Pubblicazione dei log Db2 su Amazon Logs CloudWatch](#USER_LogAccess.Db2.PublishtoCloudWatchLogs)

## Pianificazione della conservazione
<a name="USER_LogAccess.Concepts.Db2.Retention"></a>

I file di log vengono ruotati ogni giorno e ogni volta che viene riavviata un'istanza database. Di seguito è illustrata la pianificazione della conservazione per i log RDS per Db2 in Amazon RDS. 


****  

| Tipo di log | Pianificazione della conservazione | 
| --- | --- | 
|  Log diagnostici  |  Db2 elimina i log al di fuori delle impostazioni di conservazione nella configurazione a livello di istanza. Amazon RDS imposta il parametro `diagsize` su 1000.  | 
|  Notifica di log  |  Db2 elimina i log al di fuori delle impostazioni di conservazione nella configurazione a livello di istanza. Amazon RDS imposta il parametro `diagsize` su 1000.  | 

## Pubblicazione dei log Db2 su Amazon Logs CloudWatch
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs"></a>

Con RDS for Db2, puoi pubblicare eventi di diagnostica e notificare gli eventi di log direttamente su Amazon CloudWatch Logs. Analizza i dati di log con CloudWatch Logs, quindi utilizzali CloudWatch per creare allarmi e visualizzare i parametri.

Con CloudWatch Logs, puoi fare quanto segue:
+ Conservare i log in uno spazio di storage estremamente durevole con un periodo di retention che definisci tu.
+ Ricerca e filtraggio dei dati di log.
+ Condivisione dei dati di log tra account.
+ Esportare log in Simple Storage Service (Amazon S3).
+ Trasmetti dati ad Amazon OpenSearch Service.
+ Elaborare dati di log in tempo reale con Amazon Kinesis Data Streams. Per ulteriori informazioni, consulta [Working with Amazon CloudWatch Logs](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html) nella *Amazon Managed Service for Apache Flink for SQL Applications* Developer Guide.

 Amazon RDS pubblica ogni log di database RDS per Db2 come flusso di database separato nel gruppo di log. Ad esempio, se si pubblicano i log diagnostici e i log di notifica, i dati di diagnostica vengono memorizzati in un flusso di log di diagnostica nel gruppo di log `/aws/rds/instance/my_instance/diagnostic` e i dati dei log di notifica vengono memorizzati nel gruppo di log `/aws/rds/instance/my_instance/notify`.

**Nota**  
La pubblicazione dei log di RDS for Db2 su Logs non è abilitata per impostazione CloudWatch predefinita. La pubblicazione dei log delle statistiche del gestore della memoria con ottimizzazione automatica (STMM, Self-Tuning Memory Manager) e dello strumento di ottimizzazione non è supportata. La pubblicazione dei log di RDS for Db2 su CloudWatch Logs è supportata in tutte le regioni, ad eccezione dell'Asia Pacifico (Hong Kong).

### Console
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs.console"></a>

**Per pubblicare i log di RDS for Db2 su Logs da CloudWatch Console di gestione AWS**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

   È possibile scegliere **diag.log**, **notify.log** o entrambi.

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

### AWS CLI
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs.CLI"></a>

Per pubblicare i log RDS per Db2, è possibile utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

È possibile pubblicare i log RDS per Db2 anche utilizzando i seguenti comandi: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
L'esempio seguente crea un'istanza DB RDS for Db2 con CloudWatch la pubblicazione dei log abilitata. Il valore `--enable-cloudwatch-logs-exports`è un array di stringhe JSON che comprende `diag.log`, `notify.log`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --enable-cloudwatch-logs-exports '["diag.log","notify.log"]' \
    --db-instance-class db.m4.large \
    --engine db2-se
```
Per Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --enable-cloudwatch-logs-exports "[\"diag.log\",\"notify.log\"]" ^
    --db-instance-class db.m4.large ^
    --engine db2-se
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

**Example**  
L'esempio seguente modifica un'istanza DB RDS for Db2 esistente per pubblicare i file di registro in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes`, e il suo valore è un array di stringhe che può includere`diag.log`, `notify.log`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["diag.log","notify.log"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"diag.log\",\"notify.log\"]}"
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

**Example**  
L'esempio seguente modifica un'istanza RDS for Db2 DB esistente per disabilitare la pubblicazione dei file di registro di diagnostica in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `DisableLogTypes`, e il suo valore è un array di stringhe che può includere`diag.log`, `notify.log`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["diag.log"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"diag.log\"]}"
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

# File di log del database MariaDB
<a name="USER_LogAccess.Concepts.MariaDB"></a>

È possibile monitorare il log degli errori di MariaDB, il log delle query lente, il log degli errori di autenticazione del database IAM e il log generale. Il log di errori di MariaDB viene generato per impostazione predefinita. È possibile generare la query lenta e i log generali impostando i parametri nel gruppo parametri del database. Amazon RDS ruota tutti i file di log MariaDB; gli intervalli per ciascun tipo sono indicati di seguito. 

Puoi monitorare i log di MariaDB direttamente tramite la console Amazon RDS, l'API di Amazon RDS, la CLI di Amazon RDS o gli SDK AWS. Puoi anche eseguire l'accesso ai log MariaDB indirizzando i log a una tabella del database nel database principale e facendo una ricerca in tale tabella. Puoi utilizzare la utility mysqlbinlog per scaricare un log binario. 

Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Accesso al log degli errori MariaDB](USER_LogAccess.MariaDB.Errorlog.md)
+ [Accesso al log delle query lente e al log generale del MariaDB](USER_LogAccess.MariaDB.Generallog.md)
+ [Pubblicazione dei log di MariadB su Amazon Logs CloudWatch](USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.md)
+ [Rotazione e conservazione dei log per MariaDB](USER_LogAccess.MariaDB.LogFileSize.md)
+ [Gestione dei log MariaDB basati su tabella](Appendix.MariaDB.CommonDBATasks.Logs.md)
+ [Configurazione della registrazione di log binari MariaDB](USER_LogAccess.MariaDB.BinaryFormat.md)
+ [Accesso ai log binari MariaDB](USER_LogAccess.MariaDB.Binarylog.md)
+ [Abilitazione dell’annotazione del log binario MariaDB](USER_LogAccess.MariaDB.BinarylogAnnotation.md)

# Accesso al log degli errori MariaDB
<a name="USER_LogAccess.MariaDB.Errorlog"></a>

Il log degli errori MariaDB è scritto sul file `<host-name>.err`. Puoi visualizzare questo file usando la console Amazon RDS o recuperando il registro tramite l'API Amazon RDS, l'interfaccia della linea di comando Amazon RDS o gli SDK AWS. Il file `<host-name>.err` viene svuotato ogni 5 minuti e i suoi contenuti vengono aggiunti a `mysql-error-running.log`. Il file `mysql-error-running.log` viene quindi ruotato ogni ora e i file che vengono generati ogni ora durante le ultime 24 ore vengono conservati. Ogni file di log ha l'ora di creazione (in UTC) accodata al nome. I file di log hanno anche un timestamp che ti aiuta a determinare quando le voci del log sono state scritte.

MariaDB scrive il log di errori solo durante l'avvio, l'arresto e quando si verificano errori. Un'istanza database può andare avanti ore senza che ci siano nuove voci scritte nel file di log degli errori. Se non vedi voci recenti, significa che il server non ha riscontrato errori per generare una voce di log.

# Accesso al log delle query lente e al log generale del MariaDB
<a name="USER_LogAccess.MariaDB.Generallog"></a>

Il registro delle query lente MariaDB e quello generale possono essere scritti in un file o una tabella di database impostando i parametri nel gruppo di parametri del database. Per informazioni sulla creazione e la modifica di un gruppo di parametri database, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md). Devi impostare questi parametri prima di poter visualizzare il log delle query lente o il log generale nella console Amazon RDS o tramite l'API di Amazon RDS, AWS CLI o gli SDK AWS.

Puoi controllare la registrazione di MariaDB utilizzando i parametri in questo elenco:
+ `slow_query_log` o `log_slow_query`: per creare il log delle query lente, imposta su 1. Il valore predefinito è 0.
+ `general_log`: per creare il log generale, imposta su 1. Il valore predefinito è 0.
+ `long_query_time` o `log_slow_query_time`: per evitare che le query a rapida esecuzione vengano registrate nel log delle query lente, è necessario specificare in secondi un valore di registrazione per il tempo di esecuzione query più breve. Il valore predefinito è 10 secondi, il minimo è 0 secondi. Se log\$1output = FILE, puoi specificare un valore in virgola mobile con risoluzione al microsecondo. Se log\$1output = TABLE, devi specificare un valore intero con risoluzione al secondo. Vengono registrate nel log solo le query con tempo di esecuzione che supera il valore `long_query_time` o `log_slow_query_time`. Ad esempio, impostando `long_query_time` o `log_slow_query_time` su 0,1 si impedisce a tutte le query con tempo di esecuzione inferiore a 100 millisecondi di essere registrate nel log.
+ `log_queries_not_using_indexes`: per registrare tutte le query che non usano un indice sul log delle query lente, imposta il parametro su 1. Il valore predefinito è 0. Le query che non usano un indice vengono registrate anche se il loro tempo di registrazione è inferiore al valore del parametro `long_query_time`.
+ `log_output option`: puoi specificare una delle seguenti opzioni per il parametro `log_output`:
  + **TABLE** (predefinito) – Scrive le query generali nella tabella `mysql.general_log` e le query lente nella tabella `mysql.slow_log`. 
  + **FILE** – Scrive sia i log generali sia i log delle query lente nel file system. I file di log vengono ruotati ogni ora. 
  + **NONE** – Disabilita il logging.

Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una precauzione per ridurre la possibilità che un file di log di grandi dimensioni blocchi l'uso del database o influisca sulle prestazioni. I logging di tipo `FILE` e `TABLE` gestiscono la rotazione e l'eliminazione in questo modo:
+ Quando la registrazione `FILE` è abilitata, i file di log vengono esaminati ogni ora e quelli più vecchi di 24 ore vengono eliminati. In alcuni casi, la dimensione del file di log combinato restante dopo l'eliminazione supera la soglia del 2 per cento di spazio assegnato a un'istanza database. In questi casi, i file di log più grandi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia. 
+ Quando la registrazione `TABLE` è abilitata, in alcuni casi, le tabelle di log vengono ruotate ogni 24 ore. Questa rotazione avviene se lo spazio usato dai registri delle tabelle è più del 20% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 10 GB. Se la quantità di spazio utilizzato per un'istanza database è maggiore del 90% dello spazio di archiviazione assegnato per l'istanza database, le soglie di rotazione dei registri vengono ridotte. Le tabelle dei registri vengono ruotate se lo spazio utilizzato dai registri delle tabelle supera il 10% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 5 GB.

  Quando le tabelle di log sono convertite, la tabella di log corrente è copiata in una tabella di logo di backup e le voci nella tabella di log corrente sono eliminate. Se esiste già una tabella di log di backup, questa viene eliminata prima che la tabella di log corrente sia copiata nel backup. Puoi eseguire una query sulla tabella di log di backup, se necessario. La tabella di log di backup per la tabella `mysql.general_log` è denominata `mysql.general_log_backup`. La tabella di log di backup per la tabella `mysql.slow_log` è denominata `mysql.slow_log_backup`.

  Puoi ruotare la tabella `mysql.general_log` chiamando la procedura `mysql.rds_rotate_general_log`. Puoi ruotare la tabella `mysql.slow_log` chiamando la procedura `mysql.rds_rotate_slow_log`.

  I log della tabella vengono ruotati durante l'aggiornamento della versione del database.

Amazon RDS registra la rotazione di log `TABLE` e `FILE` in un evento Amazon RDS e invia una notifica.

Per usare i log dalla console Amazon RDS, dall'API di Amazon RDS, dalla CLI di Amazon RDS o dagli SDK AWS, imposta il parametro `log_output` su FILE. Come il log degli errori MariaDB, questi file di log vengono ruotati ogni ora. I file di log che sono stati generati durante le precedenti 24 ore vengono conservati.

Per ulteriori informazioni sui log delle query lente e i log generali, consulta i seguenti argomenti nella documentazione del MariaDB:
+ [Log delle query lente](http://mariadb.com/kb/en/mariadb/slow-query-log/)
+ [Log delle query generali](http://mariadb.com/kb/en/mariadb/general-query-log/)

# Pubblicazione dei log di MariadB su Amazon Logs CloudWatch
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs"></a>

Puoi configurare la tua istanza MariaDB DB per pubblicare i dati di log in un gruppo di log in Amazon Logs. CloudWatch Con CloudWatch Logs, puoi eseguire analisi in tempo reale dei dati di log e utilizzarli CloudWatch per creare allarmi e visualizzare metriche. È possibile utilizzare CloudWatch Logs per archiviare i record di registro in un archivio altamente durevole. 

Amazon RDS pubblica ogni log di database MariaDB come flusso di database separato nel gruppo di log. Supponi, ad esempio, di configurare la funzione di esportazione per includere il registro delle query lente. I dati relativi alle query lente vengono archiviati in un flusso di log delle query lente nel gruppo di log `/aws/rds/instance/my_instance/slowquery`.

Il log degli errori è abilitato per impostazione predefinita. La tabella seguente fornisce un riepilogo dei requisiti per gli altri log MariaDB.


| Log | Requisito | 
| --- | --- | 
|  Log di controllo  |  L'istanza database deve usare un gruppo di opzioni personalizzato con l'opzione `MARIADB_AUDIT_PLUGIN`.  | 
|  Log generale  |  L'istanza database deve usare un gruppo di parametri personalizzato con l'impostazione `general_log = 1` per abilitare il log generale.  | 
|  Log delle query lente  |  L’istanza database deve utilizzare un gruppo di parametri personalizzato con l’impostazione `slow_query_log = 1` o `log_slow_query = 1` per abilitare il log delle query lente.  | 
|  Log degli errori di autenticazione del database IAM  |  È necessario abilitare il tipo di log `iam-db-auth-error` per un’istanza database creando o modificando un’istanza database.  | 
|  Output log  |  L'istanza DB deve utilizzare un gruppo di parametri personalizzato con l'impostazione dei parametri `log_output = FILE` per scrivere i log nel file system e pubblicarli CloudWatch nei registri.  | 

## Console
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CON"></a>

**Per pubblicare i log di MariadB su Logs CloudWatch dalla console**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

## AWS CLI
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CLI"></a>

Puoi pubblicare un registro di MariadB con. AWS CLI Puoi chiamare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi anche pubblicare i log di MariadB chiamando i seguenti comandi: AWS CLI 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Esegui uno di questi AWS CLI comandi con le seguenti opzioni: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Potrebbero essere necessarie altre opzioni a seconda del AWS CLI comando eseguito.

**Example**  
L'esempio seguente modifica un'istanza di MariaDB DB esistente per pubblicare i file di registro in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `audit`, `error`, `general` e `slowquery`.  
Per Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Per Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
Il comando seguente crea un'istanza di MariaDB DB e pubblica i file di registro in Logs. CloudWatch Il valore `--enable-cloudwatch-logs-exports` è una matrice di stringhe JSON. Le stringhe possono essere una qualsiasi combinazione di `audit`, `error`, `general` e `slowquery`.  
Per Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine mariadb
```
Per Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine mariadb
```

## API RDS
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.API"></a>

Puoi pubblicare i log MariaDB con l'API di RDS. Chiama l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con i parametri seguenti: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Nota**  
Viene sempre applicata all'istanza database una modifica al parametro `CloudwatchLogsExportConfiguration` immediatamente. Pertanto, il parametro `ApplyImmediately` non ha alcun effetto.

Puoi anche pubblicare i log MariaDB eseguendo una delle seguenti azioni API RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Esegui una di queste azioni API RDS con i seguenti parametri: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Potrebbero essere necessari altri parametri a seconda del AWS CLI comando eseguito.

# Rotazione e conservazione dei log per MariaDB
<a name="USER_LogAccess.MariaDB.LogFileSize"></a>

Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una misura preventiva per ridurre l'eventualità che un file di log molto grande comprometta l'uso del database o la performance.

Le dimensioni dei file di log delle query lente, degli errori e generale di MariaDB sono limitate a un massimo del 2 per cento dello spazio di storage assegnato per un'istanza database. Per rispettare questa soglia i log vengono ruotati automaticamente ogni ora e i file di log più vecchi di 24 ore vengono rimossi. Se le dimensioni del file di log combinato superano tale soglia dopo la rimozione dei file di log vecchi, i file di log più grandi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.

Amazon RDS ruota i file di log degli errori di autenticazione del database IAM di dimensioni superiori a 10 MB. Amazon RDS rimuove i file di log degli errori di autenticazione del database IAM più vecchi di cinque giorni o più grandi di 100 MB.

# Gestione dei log MariaDB basati su tabella
<a name="Appendix.MariaDB.CommonDBATasks.Logs"></a>

Puoi indirizzare i log delle query lente e generali alle tabelle nell'istanza database. Per farlo devi creare un gruppo di parametri database e impostare il parametro server `log_output` su `TABLE`. Le query generali vengono quindi registrate sulla tabella `mysql.general_log`, mentre le query lente vengono registrate sulla tabella `mysql.slow_log`. Puoi eseguire query sulle tabelle per avere accesso alle informazioni di log. L'abilitazione di questa registrazione aumenta il numero di dati scritti sul database, il che potrebbe compromettere le performance.

Sia il log generale che quello delle query lente sono disattivati per impostazione predefinita. Per abilitare la registrazione sulle tabelle, devi impostare anche i seguenti parametri server su `1`:
+ `general_log`
+ `slow_query_log` o `log_slow_query`

Le tabelle di log continuano a crescere fino a che le rispettive attività di registrazione non vengono disattivate eseguendo la reimpostazione del parametro appropriato su `0`. Spesso nel corso del tempo si accumulano grandi quantità di dati che possono usare una percentuale considerevole dello spazio di archiviazione assegnato. Amazon RDS non consente di troncare le tabelle dei log, ma è possibile spostarne il contenuto. La rotazione delle tabelle ne salva il contenuto in una tabella di backup e crea una nuova tabella di log vuota. Puoi ruotare manualmente le tabelle di log con le seguenti procedure a riga di comando, nelle quali il prompt dei comandi è indicato da `PROMPT>`: 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

 Per rimuovere completamente i dati vecchi e recuperare lo spazio del disco, chiama la procedura adeguata due volte in successione. 

# Configurazione della registrazione di log binari MariaDB
<a name="USER_LogAccess.MariaDB.BinaryFormat"></a>

Il *log binario* è un insieme di file di log che contengono informazioni sulle modifiche apportate ai dati di un’istanza server MariaDB. Il log binario contiene informazioni come le seguenti:
+ Eventi che descrivono le modifiche al database come la creazione di tabelle o la modifica di righe
+ Informazioni sulla durata di ogni istruzione che ha aggiornato i dati
+ Eventi per istruzioni che avrebbero potuto aggiornare i dati ma non l'hanno fatto

Il log binario registra le istruzioni inviate durante la replica. È inoltre necessario per alcune operazioni di ripristino. Per ulteriori informazioni, consulta [Binary Log](https://mariadb.com/kb/en/binary-log/) nella documentazione di MariaDB.

La funzionalità di backup automatizzati determina se la registrazione di log binari è attivata o disattivata per MariaDB. Sono disponibili le seguenti opzioni:

Attivazione del log binario  
Impostare il tempo di conservazione del backup su un valore positivo diverso da zero.

Disattivazione del log binario  
Impostare il tempo di conservazione del backup su zero.

Per ulteriori informazioni, consulta [Abilitazione dei backup automatici](USER_WorkingWithAutomatedBackups.Enabling.md).

MariaDB in Amazon RDS supporta i formati di logging binario *basati su riga*, *basati su istruzioni* e *quelli misti*. Il formato di logging binario predefinito è quello *misto*. Per informazioni sui diversi formati di log binari di MariaDB, consulta la pagina relativa ai [formati di log binari](http://mariadb.com/kb/en/mariadb/binary-log-formats/) nella documentazione di MariaDB.

Se intendi utilizzare la replica, il formato dei log binari è importante in quanto determina il record delle modifiche dei dati che viene registrato nell'origine e inviato alle destinazioni della replica. Per ulteriori informazioni sui vantaggi e sugli svantaggi dei vari formati di logging binario per la replica, consulta la pagina relativa a [vantaggi e svantaggi della replica basata su istruzioni e basata su riga](https://dev.mysql.com/doc/refman/5.7/en/replication-sbr-rbr.html) nella documentazione di MySQL.

**Importante**  
L'impostazione del formato di registrazione binario su "basato su riga" può generare file di log binari molto grandi. I file di log binari di grandi dimensioni riducono lo spazio di archiviazione disponibile per un'istanza database e possono anche determinare un aumento della quantità di tempo necessaria per eseguire un'operazione di ripristino di un'istanza database.  
La replica basata sulle istruzioni può causare incoerenze tra l'istanza database di origine e una replica di lettura. Per ulteriori informazioni, consulta la pagina relativa a [ istruzioni non sicure per la replica basata su istruzioni](https://mariadb.com/kb/en/library/unsafe-statements-for-statement-based-replication/) nella documentazione di MariaDB.  
L'abilitazione della registrazione binaria aumenta il numero di I/O operazioni del disco di scrittura sull'istanza DB. È possibile monitorare l'utilizzo degli IOPS con la `WriteIOPS` CloudWatch metrica.

**Per impostare il formato di registrazione binaria MariaDB**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegliere **Parameter groups (Gruppi di parametri)**.

1. Scegliere il gruppo di parametri usati dall'istanza database che si desidera modificare.

   Non è consentito modificare un gruppo di parametri predefinito. Se l'istanza database è usata da un gruppo di parametri predefinito, creare un nuovo gruppo di parametri e associarlo all'istanza database.

   Per ulteriori informazioni sui gruppi di parametri database, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md).

1. Per **Parameter group actions (Operazioni del gruppo di parametri)**, scegliere **Edit (Modifica)**.

1. Impostare il parametro `binlog_format` sul formato di logging binario scelto (**ROW**, **STATEMENT** o **MIXED**).

   Puoi disattivare la registrazione binaria impostando il periodo di conservazione dei backup di un'istanza database su zero, ma ciò disabilita i backup automatici giornalieri. La disabilitazione dei backup automatizzati disattiva o disabilita la variabile di sessione `log_bin`. Questo comportamento disabilita la registrazione dei log binari sull’istanza database RDS per MariaDB, che a sua volta reimposta la variabile di sessione `binlog_format` sul valore predefinito `ROW` nel database. Si consiglia di non disabilitare i backup. Per ulteriori informazioni sull'impostazione **Periodo di conservazione dei backup**, consulta [Impostazioni per istanze database](USER_ModifyInstance.Settings.md).

1. Scegliere **Save Changes (Salva modifiche)** per salvare gli aggiornamenti applicati al gruppo di parametri database.

Poiché il parametro `binlog_format` è dinamico in RDS per MariaDB, non è necessario riavviare l’istanza database per applicare le modifiche. 

**Importante**  
La modifica di un gruppo di parametri database influisce su tutte le istanze database che utilizzano tale gruppo di parametri. Se desideri specificare diversi formati di registrazione binaria per diverse istanze DB MariaDB in AWS una regione, le istanze DB devono utilizzare diversi gruppi di parametri DB. Questi gruppi di parametri identificano diversi formati di logging. Assegnare il gruppo di parametri database appropriato a ciascuna istanza database.

# Accesso ai log binari MariaDB
<a name="USER_LogAccess.MariaDB.Binarylog"></a>

Puoi utilizzare la utility mysqlbinlog per scaricare log binari in formato di testo dalle istanze database MariaDB. Il log binario viene scaricato sul tuo computer locale. Per ulteriori informazioni sull'uso dell'utilità mysqlbinlog, consulta la pagina relativa all'[uso di mysqlbinlog](http://mariadb.com/kb/en/mariadb/using-mysqlbinlog/) nella documentazione di MariaDB.

 Per eseguire la utility mysqlbinlog su un'istanza Amazon RDS usa le seguenti opzioni: 
+  Specifica l'opzione `--read-from-remote-server`. 
+  `--host`: specifica il nome DNS dall'endpoint dell'istanza. 
+  `--port`: specifica la porta utilizzata dall'istanza. 
+  `--user`: specifica un utente di MariaDB al quale è stata concessa l'autorizzazione slave permission. 
+  `--password`: specifica la password per l'utente o ometti un valore di password affinché la utility ti chieda una password. 
+  `--result-file`: specifica il file locale che riceve l'output. 
+ Specifica il nome di uno o più file di log binari. Per ottenere un elenco dei log disponibili utilizza il comando SQL SHOW BINARY LOGS. 

Per ulteriori informazioni sulle opzioni di mysqlbinlog, consulta la pagina relativa alle [opzioni di mysqlbinlog](http://mariadb.com/kb/en/mariadb/mysqlbinlog-options/) nella documentazione di MariaDB. 

 Di seguito è riportato un esempio: 

Per Linux, macOS o Unix:

```
mysqlbinlog \
    --read-from-remote-server \
    --host=mariadbinstance1.1234abcd.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password <password> \
    --result-file=/tmp/binlog.txt
```

Per Windows:

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=mariadbinstance1.1234abcd.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password <password> ^
    --result-file=/tmp/binlog.txt
```

Amazon RDS in genere elimina un log binario appena possibile. Tuttavia, il log binario deve essere disponibile sull'istanza affinché mysqlbinlog possa accedervi. Per specificare il numero di ore per cui RDS deve mantenere i registri binari, usa la stored procedure `mysql.rds_set_configuration`. Specifica un periodo di tempo sufficiente per scaricare i log. Dopo l'impostazione del periodo di retention, monitora l'utilizzo dello storage per l'istanza database per assicurare che i log binari conservati non occupino troppo spazio di storage.

L'esempio seguente imposta il periodo di conservazione su 1 giorno.

```
call mysql.rds_set_configuration('binlog retention hours', 24); 
```

Per visualizzare l'impostazione attuale, utilizza la procedura archiviata `mysql.rds_show_configuration`.

```
call mysql.rds_show_configuration; 
```

# Abilitazione dell’annotazione del log binario MariaDB
<a name="USER_LogAccess.MariaDB.BinarylogAnnotation"></a>

In una istanza database MariaDB puoi usare l'evento `Annotate_rows` per annotare un evento di riga con una copia della query SQL che ha causato l'evento. Questo approccio fornisce una funzionalità simile all'abilitazione del parametro `binlog_rows_query_log_events` su un'istanza database RDS per MySQL.

Puoi abilitare le annotazioni di log binarie a livello globale creando un gruppo di parametri personalizzati e impostando il parametro `binlog_annotate_row_events` su **1**. Puoi anche abilitare le annotazioni a livello di sessione richiamando `SET SESSION binlog_annotate_row_events = 1`. Usa `replicate_annotate_row_events` per replicare le annotazioni di log binario all'istanza di replica se la registrazione binaria è abilitata. Non sono necessari privilegi speciali per usare queste impostazioni.

Di seguito è illustrato un esempio di transazione basata su riga in MariaDB. L'uso della registrazione basata su riga viene attivato impostando il livello di isolamento delle transazioni su read-committed.

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
```

Senza annotazioni, le voci del log binario per la transazione appaiono nel modo seguente:

```
BEGIN
/*!*/;
# at 1163
# at 1209
#150922  7:55:57 server id 1855786460  end_log_pos 1209         Table_map: `test`.`square` mapped to number 76
#150922  7:55:57 server id 1855786460  end_log_pos 1247         Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 1247
#150922  7:56:01 server id 1855786460  end_log_pos 1274         Xid = 62
COMMIT/*!*/;
```

La seguente istruzione abilita le annotazioni a livello di sessione per questa stessa transazione e le disabilita dopo aver eseguito la transazione:

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION binlog_annotate_row_events = 1;
BEGIN;
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
SET SESSION binlog_annotate_row_events = 0;
```

Con le annotazioni, le voci del log binario per la transazione appaiono nel modo seguente:

```
BEGIN
/*!*/;
# at 423
# at 483
# at 529
#150922  8:04:24 server id 1855786460  end_log_pos 483  Annotate_rows:
#Q> INSERT INTO square(x, y) VALUES(5, 5 * 5)
#150922  8:04:24 server id 1855786460  end_log_pos 529  Table_map: `test`.`square` mapped to number 76
#150922  8:04:24 server id 1855786460  end_log_pos 567  Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 567
#150922  8:04:26 server id 1855786460  end_log_pos 594  Xid = 88
COMMIT/*!*/;
```

# File di log di database Amazon RDS per Microsoft SQL Server
<a name="USER_LogAccess.Concepts.SQLServer"></a>

Puoi accedere a log di errore, log dell'agente, file di traccia e file dump di Microsoft SQL Server tramite la console Amazon RDS, la AWS CLI o l'API RDS. Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md).

## Pianificazione della conservazione
<a name="USER_LogAccess.Concepts.SQLServer.Retention"></a>

I file di log vengono ruotati ogni giorno e ogni volta che viene riavviata un'istanza database. Di seguito è illustrata la pianificazione della conservazione per i log di Microsoft SQL Server in Amazon RDS. 


****  

| Tipo di log | Pianificazione della conservazione | 
| --- | --- | 
|  Log di errore  |  Viene conservato un massimo di 30 log di errori. Amazon RDS può eliminare i log degli errori più vecchi di 7 giorni.   | 
|  Log dell'agente  |  Viene conservato un massimo di 10 log dell'agente. Amazon RDS può eliminare i log dell'agente più vecchi di 7 giorni.   | 
|  File di traccia  |  I file di traccia vengono conservati in base al periodo di conservazione dei file di traccia dell'istanza database. Il periodo di conservazione dei file di traccia predefinito è 7 giorni. Per modificare il periodo di conservazione dei file di traccia per l'istanza database, consulta [Impostazione del periodo di retention dei file di traccia e dei file dump](Appendix.SQLServer.CommonDBATasks.TraceFiles.md#Appendix.SQLServer.CommonDBATasks.TraceFiles.PurgeTraceFiles).   | 
|  File dump  |  I file dump vengono conservati in base al periodo di conservazione dei file dump dell'istanza database. Il periodo di conservazione dei file dump predefinito è 7 giorni. Per modificare il periodo di conservazione dei file dump per l'istanza database, consulta [Impostazione del periodo di retention dei file di traccia e dei file dump](Appendix.SQLServer.CommonDBATasks.TraceFiles.md#Appendix.SQLServer.CommonDBATasks.TraceFiles.PurgeTraceFiles).   | 

## Visualizzazione del log di errore di SQL Server tramite la procedura archiviata rds\$1read\$1error\$1log
<a name="USER_LogAccess.Concepts.SQLServer.Proc"></a>

Puoi usare la stored procedure `rds_read_error_log` in Amazon RDS per visualizzare i log degli errori e i log dell'agente. Per ulteriori informazioni, consulta [Visualizzazione dei log dell'agente e degli errori](Appendix.SQLServer.CommonDBATasks.Logs.md#Appendix.SQLServer.CommonDBATasks.Logs.SP). 

## Pubblicazione dei log di SQL Server su Amazon CloudWatch Logs
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs"></a>

Con Amazon RDS for SQL Server, puoi pubblicare gli eventi dei log degli errori e degli agenti direttamente su CloudWatch Amazon Logs. Analizza i dati di log con CloudWatch Logs, quindi utilizzali CloudWatch per creare allarmi e visualizzare i parametri.

Con CloudWatch Logs, puoi fare quanto segue:
+ Conservare i log in uno spazio di storage estremamente durevole con un periodo di retention che definisci tu.
+ Ricerca e filtraggio dei dati di log.
+ Condivisione dei dati di log tra account.
+ Esportare log in Simple Storage Service (Amazon S3).
+ Trasmetti dati ad Amazon OpenSearch Service.
+ Elaborare dati di log in tempo reale con Amazon Kinesis Data Streams. Per ulteriori informazioni, consulta [Working with Amazon CloudWatch Logs](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html) nella *Amazon Managed Service for Apache Flink for SQL Applications* Developer Guide.

 Amazon RDS pubblica ogni log di database SQL Server come flusso di database separato nel gruppo di log. Ad esempio, se si pubblicano i log di agenti e i log degli errori, i dati di diagnostica vengono memorizzati in un flusso di log di agenti nel gruppo di log `/aws/rds/instance/my_instance.node1/error` e i dati dei log di degli errori vengono memorizzati nel gruppo di log `/aws/rds/instance/my_instance.node1/agent`.

Per le istanze database multi-AZ, Amazon RDS pubblica il log del database come due flussi separati nel gruppo di log. Ad esempio, se pubblichi log di errori, i dati degli errori vengono conservati nei flussi di log `/aws/rds/instance/my_instance.node1/error` e `/aws/rds/instance/my_instance.node2/error` rispettivamente. I flussi di log non cambiano durante un failover e il flusso di log degli errori di ogni nodo può contenere i log degli errori provenienti da un'istanza primaria o secondaria. Con Multi-AZ, viene creato automaticamente un flusso di log per `/aws/rds/instance/my_instance/rds-events` per archiviare i dati degli eventi, come i failover delle istanze database.

**Nota**  
La pubblicazione dei log di SQL Server su CloudWatch Logs non è abilitata per impostazione predefinita. Non è supportata la pubblicazione di trace e dump file. La pubblicazione dei log di SQL Server su CloudWatch Logs è supportata in tutte le regioni.

### Console
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs.console"></a>

**Per pubblicare i log di SQL Server DB in Logs da CloudWatch Console di gestione AWS**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

   È possibile scegliere **Log agente**, **Log errori** o entrambi.

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

### AWS CLI
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs.CLI"></a>

Per pubblicare i log SQL Server, puoi utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi pubblicare i log SQL Server anche utilizzando i seguenti comandi: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
L'esempio seguente crea un'istanza DB di SQL Server con la pubblicazione dei CloudWatch log abilitata. Il valore `--enable-cloudwatch-logs-exports`è un array di stringhe JSON che comprende `error`, `agent`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --enable-cloudwatch-logs-exports '["error","agent"]' \
    --db-instance-class db.m4.large \
    --engine sqlserver-se
```
Per Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --enable-cloudwatch-logs-exports "[\"error\",\"agent\"]" ^
    --db-instance-class db.m4.large ^
    --engine sqlserver-se
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

**Example**  
L'esempio seguente modifica un'istanza DB di SQL Server esistente per pubblicare i file di registro in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes`, e il suo valore è un array di stringhe che può includere`error`, `agent`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","agent"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"error\",\"agent\"]}"
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

**Example**  
L'esempio seguente modifica un'istanza DB di SQL Server esistente per disabilitare i file di registro dell'agente di pubblicazione in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `DisableLogTypes`, e il suo valore è un array di stringhe che può includere`error`, `agent`, o entrambi.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["agent"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"agent\"]}"
```
Quando usi il prompt comandi di Windows, non devi inserire le doppie virgolette (") nel codice JSON precedendole con il backslash (\$1).

# File di registro del database
<a name="USER_LogAccess.Concepts.MySQL"></a>

Puoi monitorare i log di direttamente tramite la console Amazon RDS, l'API Amazon RDS o. AWS CLI AWS SDKs Puoi anche eseguire l'accesso ai log MySQL indirizzando i log a una tabella del database nel database principale e facendo una ricerca in tale tabella. Puoi utilizzare la utility mysqlbinlog per scaricare un log binario. 

Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Panoramica dei registri di database RDS per MySQL](USER_LogAccess.MySQL.LogFileSize.md)
+ [Pubblicazione dei log MySQL in Amazon CloudWatch Logs](USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.md)
+ [Invio dell'output del log di alle tabelle](Appendix.MySQL.CommonDBATasks.Logs.md)
+ [Configurazione di MySQL RDS per la registrazione binaria MySQL per database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md)
+ [Configurazione della registrazione di log binari MySQL per cluster di database Multi-AZ](USER_Binlog.MultiAZ.md)
+ [Accesso ai log binari MySQL](USER_LogAccess.MySQL.Binarylog.md)

# Panoramica dei registri di database RDS per MySQL
<a name="USER_LogAccess.MySQL.LogFileSize"></a>

Puoi monitorare i seguenti tipi di file di registro RDS per MySQL:
+ Log di errori
+ Log delle query lente
+ Log generale
+ Log di audit
+ Log delle istanze
+ Log degli errori di autenticazione del database IAM

Il registro degli errori RDS per MySQL viene generato per impostazione predefinita. È possibile generare la query lenta e i log generali impostando i parametri nel gruppo di parametri di database.

**Topics**
+ [Registri degli errori RDS per MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Registri generali e delle query lente di RDS per MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Registro di controllo di MySQL](#USER_LogAccess.MySQL.Auditlog)
+ [Rotazione e conservazione dei registri per RDS per MySQL](#USER_LogAccess.MySQL.LogFileSize.retention)
+ [Limiti di dimensioni nei registri di ripristino](#USER_LogAccess.MySQL.LogFileSize.RedoLogs)

## Registri degli errori RDS per MySQL
<a name="USER_LogAccess.MySQL.Errorlog"></a>

RDS per MySQL scrive errori nel file `mysql-error.log`. Ogni file di log ha l'ora di creazione (in UTC) accodata al nome. I file di log hanno anche un timestamp che ti aiuta a determinare quando le voci del log sono state scritte.

RDS per MySQL scrive nel registro degli errori solo durante l'avvio, l'arresto e quando si verificano errori. Un'istanza database può andare avanti ore senza che ci siano nuove voci scritte nel file di log degli errori. Se non vedi voci recenti, significa che il server non ha riscontrato errori che generano una voce di registro.

In base alla progettazione, i registri degli errori vengono filtrati in modo da visualizzare solo eventi imprevisti come errori. Tuttavia, i registri degli errori contengono anche altre informazioni sul database, ad esempio l'avanzamento della query, che non vengono visualizzate. Pertanto, anche senza errori effettivi, la dimensione dei registri degli errori potrebbe aumentare a causa delle attività del database in corso. Anche se potresti vedere una certa dimensione in byte o kilobyte per i log degli errori in Console di gestione AWS, potrebbero avere 0 byte quando li scarichi.

RDS per MySQL scrive `mysql-error.log` su disco ogni 5 minuti. Aggiunge il contenuto del registro a `mysql-error-running.log`.

RDS per MySQL ruota il file `mysql-error-running.log` ogni ora. Conserva i registri generati nelle ultime due settimane.

**Nota**  
Il periodo di conservazione dei log è diverso tra Amazon RDS e Aurora.

## Registri generali e delle query lente di RDS per MySQL
<a name="USER_LogAccess.MySQL.Generallog"></a>

Il registro delle query lente e il registro generale di RDS per MySQL possono essere scritti in un file o una tabella di database impostando i parametri nel gruppo parametri del database. Per informazioni sulla creazione e la modifica di un gruppo di parametri database, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md). È necessario impostare questi parametri prima di poter visualizzare il log delle query lente o il registro generale nella console Amazon RDS o utilizzando l'API Amazon RDS, la CLI di Amazon RDS o. AWS SDKs

Puoi controllare la registrazione di RDS per MySQL utilizzando i parametri in questo elenco:
+ `slow_query_log`: per creare il log delle query lente, imposta su 1. Il valore predefinito è 0.
+ `general_log`: per creare il log generale, imposta su 1. Il valore predefinito è 0.
+ `long_query_time`: per evitare che le query a esecuzione rapida vengano registrate nel registro delle query lente, specifica in secondi un valore per il runtime di query più breve da registrare. Il valore predefinito è 10 secondi, il minimo è 0 secondi. Se log\$1output = FILE, puoi specificare un valore in virgola mobile con risoluzione al microsecondo. Se log\$1output = TABLE, devi specificare un valore intero con risoluzione al secondo. Vengono registrate solo le query con runtime che supera il valore `long_query_time`. Ad esempio, impostando `long_query_time` su 0,1 si impedisce a tutte le query con tempo di esecuzione inferiore a 100 millisecondi di essere registrate.
+ `log_queries_not_using_indexes`: per registrare tutte le query che non usano un indice sul log delle query lente, imposta su 1. Le query che non utilizzano un indice vengono registrate anche se il runtime è inferiore al valore del parametro `long_query_time`. Il valore predefinito è 0.
+ `log_output option`: puoi specificare una delle seguenti opzioni per il parametro `log_output`. 
  + **TABLE** (predefinito) `mysql.general_log` Scrive le query generali nella tabella – e le query lente nella tabella `mysql.slow_log`.
  + **FILE** – Scrive sia i log generali sia i log delle query lente nel file system.
  + **NONE** – Disabilita il logging.

Affinché i dati delle query lente vengano visualizzati in Amazon CloudWatch Logs, devono essere soddisfatte le seguenti condizioni:
+ CloudWatch I log devono essere configurati per includere log di query lente.
+ `slow_query_log` deve essere abilitato.
+ `log_output` deve essere impostato su `FILE`.
+ La query deve richiedere più tempo di quanto configurato per `long_query_time`.

Per ulteriori informazioni sui log delle query lente e i log generali, consulta i seguenti argomenti nella documentazione di MySQL:
+ [Log delle query lente](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html)
+ [Log delle query generali](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)

## Registro di controllo di MySQL
<a name="USER_LogAccess.MySQL.Auditlog"></a>

Per accedere al log di audit, l'istanza database deve usare un gruppo di opzioni personalizzato con l'opzione `MARIADB_AUDIT_PLUGIN`. Per ulteriori informazioni, consulta [Supporto per MySQL del plug-in per audit MariaDB](Appendix.MySQL.Options.AuditPlugin.md).

## Rotazione e conservazione dei registri per RDS per MySQL
<a name="USER_LogAccess.MySQL.LogFileSize.retention"></a>

Quando la registrazione è abilitata, Amazon RDS ruota i log delle tabelle o elimina i file di log a intervalli regolari. Questa è una misura preventiva per ridurre l'eventualità che un file di log molto grande comprometta l'uso del database o la performance. RDS per MySQL gestisce la rotazione e l'eliminazione come segue:
+ Le dimensioni dei log delle query lente, degli errori e generale di MySQL sono limitate a un massimo del 2 per cento dello spazio di storage assegnato per un'istanza database. Per mantenere questa soglia, i log vengono ruotati automaticamente ogni ora. MySQL rimuove i file di registro più vecchi di due settimane. Se le dimensioni del file di log combinato superano tale soglia dopo la rimozione dei file di log più vecchi, i file di log più grandi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.
+ Quando la registrazione `FILE` è abilitata, i file di registro vengono esaminati ogni ora e quelli più vecchi di due settimane vengono eliminati. In alcuni casi, la dimensione del file di log combinato restante dopo l'eliminazione supera la soglia del 2 per cento di spazio assegnato a un'istanza database. In questi casi, i file di log più vecchi vengono eliminati fino a che le dimensioni del file di log non rimangono inferiori alla soglia.
+ Quando la registrazione `TABLE` è abilitata, in alcuni casi, le tabelle di log vengono ruotate ogni 24 ore. Questa rotazione avviene se lo spazio usato dai registri delle tabelle è più del 20% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i registri combinati è maggiore di 10 GB. Se la quantità di spazio utilizzato per un'istanza database è maggiore del 90 per cento dello spazio di storage assegnato per l'istanza database, allora le soglie di rotazione del log vengono ridotte. Le tabelle dei registri vengono ruotate se lo spazio utilizzato dai registri delle tabelle supera il 10% dello spazio di archiviazione assegnato oppure se la dimensione di tutti i log combinati è maggiore di 5 GB. È possibile abbonarsi alla categoria di eventi `low storage` per ricevere una notifica quando le tabelle di log vengono ruotate per liberare spazio. Per ulteriori informazioni, consulta [Utilizzo della notifica degli eventi di Amazon RDS](USER_Events.md).

  Quando le tabelle dei registri vengono ruotate, la tabella dei registri corrente viene copiata prima in una tabella dei registri di backup. Quindi le voci della tabella dei registri corrente vengono rimosse. Se esiste già una tabella di log di backup, questa viene eliminata prima che la tabella di log corrente sia copiata nel backup. Puoi eseguire una query sulla tabella di log di backup, se necessario. La tabella di log di backup per la tabella `mysql.general_log` è denominata `mysql.general_log_backup`. La tabella di log di backup per la tabella `mysql.slow_log` è denominata `mysql.slow_log_backup`.

  Puoi ruotare la tabella `mysql.general_log` chiamando la procedura `mysql.rds_rotate_general_log`. Puoi ruotare la tabella `mysql.slow_log` chiamando la procedura `mysql.rds_rotate_slow_log`.

  I log della tabella vengono ruotati durante l'aggiornamento della versione del database.

Per utilizzare i log dalla console Amazon RDS, dall'API Amazon RDS, dalla CLI di Amazon RDS oppure AWS SDKs imposta il parametro su FILE. `log_output` Come il log degli errori MySQL, questi file di log vengono ruotati ogni ora. I file di registro generati durante le due settime precedenti vengono conservati. Il periodo di conservazione è diverso tra Amazon RDS e Aurora.

## Limiti di dimensioni nei registri di ripristino
<a name="USER_LogAccess.MySQL.LogFileSize.RedoLogs"></a>

Per RDS per MySQL versione 8.0.32 e precedenti, il valore predefinito di questo parametro è 256 MB. Questo valore viene ottenuto moltiplicando il valore predefinito del parametro `innodb_log_file_size` (128 MB) per il valore predefinito del parametro `innodb_log_files_in_group` (2). Per ulteriori informazioni, consultare [Best practice per la configurazione dei parametri per Amazon RDS per MySQL, parte 1: Parametri relativi alle prestazioni](https://aws.amazon.com/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-related-to-performance/). 

Per RDS per MySQL 8.0.33 e versioni secondarie successive, Amazon RDS utilizza il parametro `innodb_redo_log_capacity` al posto del parametro `innodb_log_file_size`. Il valore predefinito di Amazon RDS per il parametro `innodb_redo_log_capacity` è 2 GB. Per ulteriori informazioni, consulta [Changes in MySQL 8.0.30](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html) (Modifiche in MySQL 8.0.30) nella documentazione di MySQL.

A partire da MySQL 8.4, Amazon RDS abilita il parametro `innodb_dedicated_server` per impostazione predefinita. Con il parametro `innodb_dedicated_server`, il motore del database calcola i parametri `innodb_buffer_pool_size` e `innodb_redo_log_capacity`. Per ulteriori informazioni, consulta [Configurazione delle dimensioni del pool di buffer e della capacità dei log di redo in MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).

# Pubblicazione dei log MySQL in Amazon CloudWatch Logs
<a name="USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs"></a>

Puoi configurare l'istanza database MySQL per la pubblicazione dei dati di log in un gruppo di log in Amazon CloudWatch Logs. Con CloudWatch Logs puoi eseguire analisi in tempo reale dei dati di log e usare CloudWatch per creare allarmi e visualizzare parametri. Puoi utilizzare CloudWatch Logs per archiviare i record dei log in uno storage estremamente durevole. 

Amazon RDS pubblica ogni log di database MySQL come flusso di database separato nel gruppo di log. Ad esempio, se configuri la funzione di esportazione affinché includa il log delle query lente, i dati relativi alle query lente vengono archiviati in un flusso delle log delle query lente nel gruppo di log `/aws/rds/instance/my_instance/slowquery`. 

Il log degli errori è abilitato per impostazione predefinita. La tabella seguente fornisce un riepilogo dei requisiti per gli altri log MySQL.


| Log | Requisito | 
| --- | --- | 
|  Log di controllo  |  L'istanza database deve usare un gruppo di opzioni personalizzato con l'opzione `MARIADB_AUDIT_PLUGIN`.  | 
|  Log generale  |  L'istanza database deve usare un gruppo di parametri personalizzato con l'impostazione `general_log = 1` per abilitare il log generale.  | 
|  Log delle query lente  |  L'istanza database deve usare un gruppo di parametri personalizzato con l'impostazione `slow_query_log = 1` per abilitare il log delle query lente.  | 
|  Log degli errori di autenticazione del database IAM  |  È necessario abilitare il tipo di log `iam-db-auth-error` per un’istanza database creando o modificando un’istanza database.  | 
|  Output log  |  L'istanza database deve usare un gruppo di parametri personalizzato con l'impostazione `log_output = FILE` per scrivere log nel file system e pubblicarli in CloudWatch Logs.  | 

## Console
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CON"></a>

**Per pubblicare i log MySQL su CloudWatch Logs tramite console**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Log exports (Esportazioni log)** scegliere i log che si vuole iniziare a pubblicare in CloudWatch Logs.

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

## AWS CLI
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CLI"></a>

 Puoi pubblicare i log MySQL con la AWS CLI. Puoi chiamare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi pubblicare i log MySQL anche chiamando i seguenti comandi della AWS CLI: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Esegui uno di questi comandi dell'AWS CLI con le opzioni seguenti: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Altre opzioni potrebbero essere richieste a seconda del comando AWS CLI eseguito.

**Example**  
L'esempio seguente modifica un'istanza database MySQL esistente per pubblicare i file di log in CloudWatch Logs. Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `audit`, `error`, `general` e `slowquery`.  
Per Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Per Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
L'esempio seguente crea un'istanza database MySQL e pubblica i file di log in CloudWatch Logs. Il valore `--enable-cloudwatch-logs-exports` è una matrice di stringhe JSON. Le stringhe possono essere una qualsiasi combinazione di `audit`, `error`, `general` e `slowquery`.  
Per Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine MySQL
```
Per Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine MySQL
```

## API RDS
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.API"></a>

Puoi pubblicare i log MySQL con RDS API. Puoi chiamare l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con i parametri seguenti: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Nota**  
Viene sempre applicata all'istanza database una modifica al parametro `CloudwatchLogsExportConfiguration` immediatamente. Pertanto, il parametro `ApplyImmediately` non ha alcun effetto.

Puoi pubblicare i log MySQL anche chiamando le seguenti operazioni API RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Esegui una di queste azioni API RDS con i seguenti parametri: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Altri parametri potrebbero essere richiesti a seconda del comando della AWS CLI che viene eseguito.

# Invio dell'output del log di alle tabelle
<a name="Appendix.MySQL.CommonDBATasks.Logs"></a>

Puoi indirizzare il log generale e il log delle query lente alle tabelle sull'istanza database creando un gruppo di parametri del database e impostando il parametro server `log_output` su `TABLE`. Le query generali vengono quindi registrate sulla tabella `mysql.general_log`, mentre le query lente vengono registrate sulla tabella `mysql.slow_log`. Puoi eseguire query sulle tabelle per avere accesso alle informazioni di log. L'abilitazione di questa registrazione aumenta il numero di dati scritti sul database, il che potrebbe compromettere le performance.

Sia il log generale che quello delle query lente sono disattivati per impostazione predefinita. Per abilitare la registrazione sulle tabelle devi impostare anche i parametri server `general_log` e `slow_query_log` su `1`.

Le tabelle di log continuano a crescere fino a che le rispettive attività di registrazione non vengono disattivate eseguendo la reimpostazione del parametro appropriato su `0`. Spesso nel corso del tempo si accumulano grandi quantità di dati che possono usare una percentuale considerevole dello spazio di archiviazione assegnato. Amazon RDS non consente di troncare le tabelle dei registri, ma è possibile spostarne il contenuto. La rotazione delle tabelle ne salva il contenuto in una tabella di backup e crea una nuova tabella di log vuota. Puoi ruotare manualmente le tabelle di log con le seguenti procedure a riga di comando, nelle quali il prompt dei comandi è indicato da `PROMPT>`: 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

Per rimuovere completamente i dati vecchi e recuperare lo spazio del disco, chiama la procedura adeguata due volte in successione. 

# Configurazione di MySQL RDS per la registrazione binaria MySQL per database Single-AZ
<a name="USER_LogAccess.MySQL.BinaryFormat"></a>

Il *log binario* è un insieme di file di log che contengono informazioni sulle modifiche apportate ai dati di un'istanza server MySQL. Il log binario contiene informazioni come le seguenti:
+ Eventi che descrivono le modifiche al database come la creazione di tabelle o la modifica di righe
+ Informazioni sulla durata di ogni istruzione che ha aggiornato i dati
+ Eventi per istruzioni che avrebbero potuto aggiornare i dati ma non l'hanno fatto

Il log binario registra le istruzioni inviate durante la replica. È inoltre necessario per alcune operazioni di ripristino. Per ulteriori informazioni, consulta la pagina relativa al [log binario](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html) nella documentazione di MySQL.

La caratteristica di backup automatici determina se il log binario è attivato o disattivato per MySQL. Sono disponibili le seguenti opzioni:

Attivazione del log binario  
Impostare il tempo di conservazione del backup su un valore positivo diverso da zero.

Disattivazione del log binario  
Impostare il tempo di conservazione del backup su zero.

Per ulteriori informazioni, consulta [Abilitazione dei backup automatici](USER_WorkingWithAutomatedBackups.Enabling.md).

MySQL su Amazon RDS supporta i formati di logging binario *basati su righe*, *basati su istruzioni* e *misti*. Si consiglia il formato misto a meno che non sia necessario un formato binlog specifico. Per dettagli sui diversi formati di log binari MySQL, consulta [Binary logging formats](https://dev.mysql.com/doc/refman/8.0/en/binary-log-formats.html) nella documentazione MySQL.

Se pianifichi di utilizzare la replica, il formato di logging binario è importante in quanto determina il record delle modifiche dei dati che viene registrato nella sorgente e inviato ai target della replica. Per ulteriori informazioni sui vantaggi e sugli svantaggi dei vari formati di logging binario per la replica, consulta la pagina relativa a [vantaggi e svantaggi della replica basata su istruzioni e basata su riga](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html) nella documentazione di MySQL.

**Importante**  
Con MySQL 8.0.34, MySQL ha reso obsoleto il parametro `binlog_format`. Nelle versioni successive di MySQL, MySQL prevede di rimuovere il parametro e supportare solo la replica basata su righe. Di conseguenza, consigliamo di utilizzare la registrazione dei log basata su righe per le nuove configurazioni di replica MySQL. Per ulteriori informazioni, consulta [binlog\$1format](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format) nella documentazione MySQL.  
Le versioni 8.0 e 8.4 di MySQL accettano il parametro `binlog_format`. Quando si utilizza questo parametro, MySQL emette un avviso che indica che è obsoleto. In una futura versione principale, MySQL rimuoverà il parametro `binlog_format`.  
La replica basata sulle istruzioni può causare incoerenze tra l'istanza database di origine e una replica di lettura. Per ulteriori informazioni, consulta la pagina relativa alla [ determinazione delle istruzioni sicure e non sicure nel logging binario](https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html) nella documentazione MySQL.  
 È possibile monitorare l'utilizzo degli IOPS con la `WriteIOPS` `` CloudWatch metrica.

**Per impostare il formato di registrazione binaria MySQL**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegliere **Parameter groups (Gruppi di parametri)**.

1. Scegliere il gruppo di parametri del di database associato all’istanza di database da modificare.

   Non è consentito modificare un gruppo di parametri predefinito. Se l'istanza database è usata da un gruppo di parametri predefinito, creare un nuovo gruppo di parametri e associarlo all'istanza database.

   Per ulteriori informazioni sui gruppi di parametri, consulta [Gruppi di parametri per Amazon RDS](USER_WorkingWithParamGroups.md).

1. In **Actions (Operazioni)**, scegliere **Edit (Modifica)**.

1. Imposta il parametro `binlog_format` sul formato di registrazione binaria scelto (`ROW`, `STATEMENT` o `MIXED`).

   Puoi disattivare la registrazione binaria impostando il periodo di conservazione dei backup di un'istanza database su zero, ma ciò disabilita i backup automatici giornalieri. La disabilitazione dei backup automatizzati disattiva o disabilita la variabile di sessione `log_bin`. Questo comportamento disabilita la registrazione dei log binari sull’istanza database RDS per MySQL, che a sua volta reimposta la variabile di sessione `binlog_format` sul valore predefinito `ROW` nel database. Si consiglia di non disabilitare i backup. Per ulteriori informazioni sull'impostazione **Periodo di conservazione dei backup**, consulta [Impostazioni per istanze database](USER_ModifyInstance.Settings.md).

1. Scegliere **Salva modifiche** per salvare gli aggiornamenti applicati al gruppo di parametri database.

Poiché il parametro `binlog_format` è dinamico in RDS per MySQL, non è necessario riavviare l’istanza database per applicare le modifiche. Nota che in Aurora MySQL, questo parametro è statico. Per ulteriori informazioni, consulta [Configurazione del log binario di Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.MySQL.BinaryFormat.html).

**Importante**  
La modifica di un gruppo di parametri database influisce su tutte le istanze database che utilizzano tale gruppo di parametri. Se si desidera specificare diversi formati di registrazione binaria per diverse istanze DB MySQL in AWS una regione, le istanze DB devono utilizzare diversi gruppi di parametri DB. Questi gruppi di parametri identificano diversi formati di logging. Assegnare il gruppo di parametri database appropriato a ciascuna istanza database.

# Configurazione della registrazione di log binari MySQL per cluster di database Multi-AZ
<a name="USER_Binlog.MultiAZ"></a>

La registrazione binaria nei cluster DB Amazon RDS for MySQL Multi-AZ registra tutte le modifiche al database per supportare la replica, il ripristino e il controllo. point-in-time Nei cluster di database Multi-AZ, i log binari sincronizzano i nodi secondari con il nodo primario, garantendo la coerenza dei dati tra le zone di disponibilità e semplificando l’esecuzione dei failover. 

Per ottimizzare la registrazione di log binari, Amazon RDS supporta la compressione delle transazioni di log binari, che riduce i requisiti di archiviazione per i log binari e migliora l’efficienza della replica.

**Topics**
+ [Compressione delle transazioni di log binari per cluster di database Multi-AZ](#USER_Binlog.MultiAZ.compression)
+ [Configurazione della compressione delle transazioni di log binari per cluster di database Multi-AZ](#USER_Binlog.MultiAZ.configuring)

## Compressione delle transazioni di log binari per cluster di database Multi-AZ
<a name="USER_Binlog.MultiAZ.compression"></a>

La compressione delle transazioni di log binari utilizza l’algoritmo zstd per ridurre le dimensioni dei dati delle transazioni memorizzati nei log binari. Se abilitato, il motore di database MySQL comprime i payload delle transazioni in un singolo evento, riducendo al minimo il sovraccarico di archiviazione. I/O Questa funzionalità migliora le prestazioni del database, riduce le dimensioni dei log binari e ottimizza l’uso delle risorse per la gestione e la replica dei log nei cluster di database Multi-AZ.

Amazon RDS fornisce la compressione delle transazioni di log binari per cluster di database Multi-AZ RDS per MySQL:
+ `binlog_transaction_compression`: quando abilitata (`1`), il motore di database comprime i payload delle transazioni e li scrive nel log binario come singolo evento. Ciò riduce l'utilizzo e il sovraccarico dello storage. I/O Il parametro è disabilitato per impostazione predefinita.
+ `binlog_transaction_compression_level_zstd`: configura il livello di compressione zstd per le transazioni di log binari. I valori più alti aumentano il rapporto di compressione, riducendo ulteriormente i requisiti di archiviazione ma aumentando l’utilizzo di CPU e memoria per la compressione. Il valore predefinito è 3, con un intervallo compreso tra 1 e 22.

Questi parametri consentono di eseguire il fine-tuning della compressione dei log binari in base alle caratteristiche del carico di lavoro e alla disponibilità delle risorse. Per ulteriori informazioni, consulta [Binary Log Transaction Compression](https://dev.mysql.com/doc/refman/8.4/en/binary-log-transaction-compression.html) nella documentazione MySQL.

La compressione delle transazioni di log binari presenta i seguenti vantaggi principali:
+ La compressione riduce le dimensioni dei log binari, in particolare per carichi di lavoro con transazioni di grandi dimensioni o volumi di scrittura elevati.
+ I log binari più piccoli riducono la rete e il I/O sovraccarico, migliorando le prestazioni di replica.
+ Il parametro `binlog_transaction_compression_level_zstd` consente di controllare il compromesso tra rapporto di compressione e consumo di risorse.

## Configurazione della compressione delle transazioni di log binari per cluster di database Multi-AZ
<a name="USER_Binlog.MultiAZ.configuring"></a>

Per configurare la compressione delle transazioni di log binari per un cluster di database Multi-AZ RDS per MySQL, si modificano le impostazioni dei parametri del cluster pertinenti in base ai requisiti del carico di lavoro.

### Console
<a name="USER_Binlog.MultiAZ.configuring-console"></a>

**Per abilitare la compressione delle transazioni di log binari**

1. Modifica il gruppo di parametri del cluster di database per impostare il parametro `binlog_transaction_compression` su `1`.

1. (Facoltativo) Modifica il valore del parametro `binlog_transaction_compression_level_zstd` in base ai requisiti del carico di lavoro e alla disponibilità delle risorse.

Per ulteriori informazioni, consulta [Modifica dei parametri in un gruppo di parametri del cluster DB ](USER_WorkingWithParamGroups.ModifyingCluster.md).

### AWS CLI
<a name="USER_Binlog.MultiAZ.configuring-cli"></a>

[Per configurare la compressione delle transazioni di registro binario utilizzando il AWS CLI, utilizzare il modify-db-cluster-parameter comando -group.](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html)

**Example**  
Per Linux, macOS o Unix:  

```
aws rds modify-db-cluster-parameter-group \
  --db-cluster-parameter-group-name your-cluster-parameter-group \
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```
Per Windows:  

```
aws rds modify-db-cluster-parameter-group ^
  --db-cluster-parameter-group-name your-cluster-parameter-group ^
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```

### API RDS
<a name="USER_Binlog.MultiAZ.configuring-api"></a>

Per configurare la compressione delle transazioni di log binari tramite l’API Amazon RDS, utilizza l’operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html).

# Accesso ai log binari MySQL
<a name="USER_LogAccess.MySQL.Binarylog"></a>

Puoi utilizzare la utility mysqlbinlog per il download o lo streaming di log binari dalle istanze database RDS for MySQL. Il log binario viene scaricato sul computer locale dove è possibile eseguire operazioni come la riproduzione del log tramite utility mysql. Per ulteriori informazioni sull'uso dell'utilità mysqlbinlog, consulta [Utilizzo di mysqlbinlog per il backup di file di log binari](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html) nella documentazione di MySQL.

Per eseguire la utility mysqlbinlog su un'istanza Amazon RDS usa le seguenti opzioni:
+ `--read-from-remote-server`: obbligatorio
+ `--host`: il nome DNS dall'endpoint dell'istanza.
+ `--port`: la porta utilizzata dall'istanza.
+ `--user`: un utente MySQL al quale è stata concessa l'autorizzazione `REPLICATION SLAVE`.
+ `--password`: la password dell'utente MySQL oppure ometti un valore di password affinché l'utilità richieda una password.
+ `--raw`: scarica il file in formato binario.
+ `--result-file`: il file locale per riceve l'output raw.
+ `--stop-never`: trasmette in streaming i file di log binari.
+ `--verbose`: quando utilizzi il formato binlog `ROW`, includi questa opzione per visualizzare gli eventi di riga come istruzioni pseudo-SQL. Per ulteriori informazioni sull'opzione `--verbose`, consulta [Visualizzazione degli eventi di riga di mysqlbinlog](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-row-events.html) nella documentazione di MySQL.
+ Specifica il nome di uno o più file di log binari. Per ottenere l'elenco dei log disponibili, utilizza il comando SQL `SHOW BINARY LOGS`.

Per ulteriori informazioni sulle opzioni di mysqlbinlog, consulta [Utilità mysqlbinlog per l'elaborazione di file di log binari](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html) nella documentazione di MySQL.

Gli esempi seguenti mostrano come utilizzare l'utilità mysqlbinlog.

Per Linux, macOS o Unix:

```
mysqlbinlog \
    --read-from-remote-server \
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password \
    --raw \
    --verbose \
    --result-file=/tmp/ \
    binlog.00098
```

Per Windows:

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password ^
    --raw ^
    --verbose ^
    --result-file=/tmp/ ^
    binlog.00098
```

I log binari devono rimanere disponibili sull’istanza database affinché l’utilità mysqlbinlog possa accedervi. Per garantirne la disponibilità, utilizzare la stored procedure [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) e specificare un periodo abbastanza lungo che consenta di scaricare i log. Se questa configurazione non è impostata, Amazon RDS elimina i log binari il prima possibile, causando lacune nei log binari recuperati dall’utilità mysqlbinlog. 

L'esempio seguente imposta il periodo di conservazione su 1 giorno.

```
call mysql.rds_set_configuration('binlog retention hours', 24);
```

Per visualizzare l'impostazione attuale, utilizza la procedura archiviata [mysql.rds\$1show\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_show_configuration).

```
call mysql.rds_show_configuration;
```

# File di log del database Amazon RDS per Oracle
<a name="USER_LogAccess.Concepts.Oracle"></a>

Puoi accedere ai log di avviso, ai file di audit e ai file di traccia Oracle tramite console Amazon RDS o API. Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md). 

I file di verifica Oracle forniti sono i file di verifica Oracle standard. Amazon RDS supporta la caratteristica FGA (Fine-Grained Auditing) di Oracle. Tuttavia, l'accesso ai log non fornisce accesso agli eventi FGA archiviati nella tabella `SYS.FGA_LOG$` e accessibili tramite la vista `DBA_FGA_AUDIT_TRAIL`. 

L'operazione API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) che elenca i file di log Oracle disponibili per una istanza database ignora il parametro `MaxRecords` e restituisce fino a 1.000 record. La chiamata restituisce `LastWritten` come data POSIX in millisecondi.

**Topics**
+ [Pianificazione della conservazione](#USER_LogAccess.Concepts.Oracle.Retention)
+ [Utilizzo di file di traccia Oracle](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles)
+ [Pubblicazione dei log Oracle su Amazon CloudWatch Logs](#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Accesso ai log di avvisi e ai log del listener](#USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog)

## Pianificazione della conservazione
<a name="USER_LogAccess.Concepts.Oracle.Retention"></a>

Il motore database Oracle potrebbe ruotare i file di log nel caso in cui diventino molto grandi. Per conservare i file di audit o di traccia è necessario scaricarli. Se archivi i file localmente riduci i costi di storage di Amazon RDS e rendi più spazio disponibile per i dati. 

La seguente tabella illustra la pianificazione di conservazione per i log di avviso, i file di audit e i file di traccia Oracle su Amazon RDS. 


****  

| Tipo di log | Pianificazione della conservazione | 
| --- | --- | 
|  Log di avvisi  |   Il log degli avvisi di testo viene ruotato ogni giorno con conservazione per 30 giorni gestita da Amazon RDS. Il log di avviso XML viene conservato per un minimo di sette giorni. Puoi accedere a questo log usando la visualizzazione `ALERTLOG`.   | 
|  File di audit  |   Il periodo di conservazione predefinito per i file di verifica è sette giorni. Amazon RDS può eliminare i file di verifica più vecchi di sette giorni.   | 
|  File di traccia  |  Il periodo di conservazione dei file di traccia predefinito è 7 giorni. Amazon RDS può eliminare i file di traccia più vecchi di sette giorni.   | 
|  Log del listener  |   Il periodo di conservazione predefinito per i log dei listener è sette giorni. Amazon RDS può eliminare i log del listener più vecchi di sette giorni.   | 

**Nota**  
I file di audit e i file di traccia condividono la stessa configurazione di conservazione.

## Utilizzo di file di traccia Oracle
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles"></a>

Di seguito si riportano le descrizioni delle procedure Amazon RDS per creare, aggiornare ed eliminare file di traccia.

**Topics**
+ [Elenco di file](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest)
+ [Creazione di file di traccia e tracciamento di una sessione](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating)
+ [Recupero di file di traccia](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving)
+ [Eliminazione di file di traccia](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging)

### Elenco di file
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest"></a>

È possibile utilizzare una delle due procedure per consentire l'accesso a qualsiasi file nel percorso `background_dump_dest`. La prima procedura aggiorna una vista contenente un elenco di tutti i file attualmente in `background_dump_dest`. 

```
1. EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;
```

Dopo l'aggiornamento della vista, eseguire la query della vista seguente per accedere ai risultati.

```
1. SELECT * FROM rdsadmin.tracefile_listing;
```

Un'alternativa al processo precedente è quella di utilizzare `FROM table` per lo streaming di dati non relazionali in un formato di tipo tabella per elencare i contenuti della directory database.

```
1. SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP'));
```

La query seguente mostra il testo di un file di log.

```
1. SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','alert_dbname.log.date'));
```

In una replica di lettura, ottenere il nome della directory BDUMP eseguendo una query `V$DATABASE.DB_UNIQUE_NAME`. Se il nome univoco è `DATABASE_B`, allora la directory BDUMP è `BDUMP_B`. Nell'esempio seguente viene eseguita una query sul nome BDUMP in una replica e viene quindi utilizzato questo nome per eseguire una query sul contenuto di `alert_DATABASE.log.2020-06-23`.

```
1. SELECT 'BDUMP' || (SELECT regexp_replace(DB_UNIQUE_NAME,'.*(_[A-Z])', '\1') FROM V$DATABASE) AS BDUMP_VARIABLE FROM DUAL;
2. 
3. BDUMP_VARIABLE
4. --------------
5. BDUMP_B
6. 
7. SELECT TEXT FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP_B','alert_DATABASE.log.2020-06-23'));
```

### Creazione di file di traccia e tracciamento di una sessione
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating"></a>

Poiché `ALTER SESSION` non è soggetto a restrizioni, restano disponibili molti metodi standard per generare file di traccia in Oracle per un'istanza database Amazon RDS. Le procedure seguenti sono fornite per i file di traccia che richiedono maggiore accesso. 


****  

|  Metodo Oracle  |  Metodo Amazon RDS | 
| --- | --- | 
|  `oradebug hanganalyze 3 `  |  `EXEC rdsadmin.manage_tracefiles.hanganalyze; `  | 
|  `oradebug dump systemstate 266 `  |  `EXEC rdsadmin.manage_tracefiles.dump_systemstate;`  | 

Puoi utilizzare molti metodi standard per tracciare singole sessioni collegate all'istanza database Oracle in Amazon RDS. Per abilitare la traccia per una sessione, è possibile eseguire sottoprogrammi in PL/SQL pacchetti forniti da Oracle, come `DBMS_SESSION` e. `DBMS_MONITOR` Per ulteriori informazioni, consulta la pagina relativa all'[abilitazione della traccia per una sessione](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#GUID-F872D6F9-E015-481F-80F6-8A7036A6AD29) nella documentazione di Oracle. 

### Recupero di file di traccia
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving"></a>

Puoi recuperare qualsiasi file di traccia in `background_dump_dest` usando una query SQL standard su una tabella esterna gestita da Amazon RDS–. Per utilizzare questo metodo, devi eseguire la procedura per impostare la posizione di questa tabella sul file di traccia specifico. 

Ad esempio, puoi utilizzare la vista `rdsadmin.tracefile_listing` indicata precedentemente per elencare tutti i file di traccia sul sistema. Successivamente, puoi impostare la vista `tracefile_table` per puntare al file di traccia desiderato utilizzando la procedura seguente. 

```
1. EXEC rdsadmin.manage_tracefiles.set_tracefile_table_location('CUST01_ora_3260_SYSTEMSTATE.trc');
```

L'esempio seguente crea una tabella esterna nello schema corrente con la posizione impostata sul file fornito. Puoi recuperare il contenuto in un file locale utilizzando una query SQL. 

```
1. SPOOL /tmp/tracefile.txt
2. SELECT * FROM tracefile_table;
3. SPOOL OFF;
```

### Eliminazione di file di traccia
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging"></a>

I file di traccia possono accumularsi e occupare spazio su disco. Per impostazione predefinita, Amazon RDS elimina i file di traccia e i file di log che risalgono a più di sette giorni prima. Puoi visualizzare e impostare il periodo di conservazione dei file di traccia tramite la procedura `show_configuration`. Dovresti eseguire il comando `SET SERVEROUTPUT ON` per poter visualizzare i risultati della configurazione. 

L'esempio seguente mostra il periodo di conservazione dei file di traccia e imposta quindi un nuovo periodo di conservazione dei file di traccia. 

```
 1. # Show the current tracefile retention
 2. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
 3. NAME:tracefile retention
 4. VALUE:10080
 5. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
 6. 		
 7. # Set the tracefile retention to 24 hours:
 8. SQL> EXEC rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440);
 9. SQL> commit;
10. 
11. #show the new tracefile retention
12. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
13. NAME:tracefile retention
14. VALUE:1440
15. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
```

Oltre al processo di eliminazione periodica, puoi rimuovere manualmente i file da `background_dump_dest`. L'esempio seguente mostra come eliminare tutti i file che risalgono a cinque minuti prima. 

```
EXEC rdsadmin.manage_tracefiles.purge_tracefiles(5);
```

Puoi inoltre eliminare tutti i file che corrispondono a un modello specifico (non includono l'estensione del file, come .trc). L'esempio seguente mostra come eliminare tutti i file che iniziano con `SCHPOC1_ora_5935`. 

```
1. EXEC rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');
```

## Pubblicazione dei log Oracle su Amazon CloudWatch Logs
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs"></a>

Puoi configurare la tua istanza DB RDS for Oracle per pubblicare i dati di log in un gruppo di log in Amazon CloudWatch Logs. Con CloudWatch Logs, puoi analizzare i dati di log e utilizzarli CloudWatch per creare allarmi e visualizzare metriche. È possibile utilizzare CloudWatch Logs per archiviare i record di registro in un archivio altamente durevole. 

Amazon RDS pubblica ogni log di database Oracle come flusso di database separato nel gruppo di log. Ad esempio, se configuri la funzione di esportazione affinché includa il log di audit, i dati relativi all'audit vengono archiviati in un flusso di log di audit nel gruppo di log `/aws/rds/instance/my_instance/audit`. La tabella seguente riassume i requisiti per la pubblicazione dei log su Amazon Logs da parte di RDS for Oracle. CloudWatch 


| Nome log | Requisito | Predefinita | 
| --- | --- | --- | 
|  Log di avviso  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 
|  Log di traccia  |  Impostare il parametro `trace_enabled` su `TRUE` o lasciarlo impostato sul valore predefinito.  |  `TRUE`  | 
|  Log di audit  |  Impostare il parametro `audit_trail` su uno dei seguenti valori consentiti: <pre>{ none | os | db [, extended] | xml [, extended] }</pre>  |  `none`  | 
|  Log del listener  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 
|  Log di Oracle Management Agent  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 

Questo registro di Oracle Management Agent è costituito dai gruppi di log riportati nella tabella di seguito.


****  

| Nome log | CloudWatch gruppo di log | 
| --- | --- | 
| emctl.log | oemagent-emctl | 
| emdctlj.log | oemagent-emdctlj | 
| gcagent.log | oemagent-gcagent | 
| gcagent\$1errors.log | oemagent-gcagent-errors | 
| emagent.nohup | oemagent-emagent-nohup | 
| secure.log | oemagent-sicuro | 

Per maggiori informazioni, consulta [Individuazione dei file di log e di traccia di Management Agent](https://docs.oracle.com/en/enterprise-manager/cloud-control/enterprise-manager-cloud-control/13.4/emadm/locating-management-agent-log-and-trace-files1.html#GUID-9C710D78-6AA4-42E4-83CD-47B5FF4892DF) nella documentazione Oracle.

### Console
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.console"></a>

**Per pubblicare i log di Oracle DB su CloudWatch Logs da Console di gestione AWS**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

### AWS CLI
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.CLI"></a>

Per pubblicare i log Oracle, puoi utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi pubblicare i log Oracle anche utilizzando i seguenti comandi: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
L'esempio seguente crea un'istanza DB Oracle con la pubblicazione dei CloudWatch log abilitata. Il valore `--cloudwatch-logs-export-configuration` è una matrice di stringhe JSON. Le stringhe possono essere una qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '["trace","audit","alert","listener","oemagent"]' \
    --db-instance-class db.m5.large \
    --allocated-storage 20 \
    --engine oracle-ee \
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 \
    --license-model bring-your-own-license \
    --master-username myadmin \
    --manage-master-user-password
```
Per Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration trace alert audit listener oemagent ^
    --db-instance-class db.m5.large ^
    --allocated-storage 20 ^
    --engine oracle-ee ^
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 ^
    --license-model bring-your-own-license ^
    --master-username myadmin ^
    --manage-master-user-password
```

**Example**  
L'esempio seguente modifica un'istanza Oracle DB esistente per pubblicare i file di log in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration EnableLogTypes=\"trace\",\"alert\",\"audit\",\"listener\",\"oemagent\"
```

**Example**  
L'esempio seguente modifica un'istanza Oracle DB esistente per disabilitare la pubblicazione dei file di log di audit e listener su Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `DisableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
```

### API RDS
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.API"></a>

Puoi pubblicare i log database Oracle con l'API RDS. Puoi chiamare l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con i parametri seguenti: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Nota**  
Viene sempre applicata all'istanza database una modifica al parametro `CloudwatchLogsExportConfiguration` immediatamente. Pertanto, il parametro `ApplyImmediately` non ha alcun effetto.

Puoi pubblicare i log Oracle anche chiamando le seguenti operazioni API RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Esegui una di queste azioni API RDS con i seguenti parametri: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Altri parametri potrebbero essere richiesti a seconda dell'operazione RDS eseguita.

## Accesso ai log di avvisi e ai log del listener
<a name="USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog"></a>

Puoi visualizzare il log di avvisi tramite console Amazon RDS. È anche possibile utilizzare la seguente istruzione SQL.

```
1. SELECT message_text FROM alertlog;
```

Accedi al registro del listener utilizzando Amazon CloudWatch Logs.

**Nota**  
Oracle ruota i log di avvisi e del listener quando superano 10 MB, punto in cui non sono disponibili dalle viste Amazon RDS.

# 
<a name="USER_LogAccess.Concepts.PostgreSQL"></a>

È possibile monitorare i seguenti tipi di file di log :
+ Log di PostgreSQL
+ Registro di aggiornamento
+ Log degli errori di autenticazione del database IAM
**Nota**  
Per abilitare i log degli errori di autenticazione del database IAM, è necessario prima abilitare l’autenticazione del database IAM per l’istanza database RDS per PostgreSQL. Per ulteriori informazioni sull’abilitazione database IAM, consulta [Abilitazione e disabilitazione dell’autenticazione database IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

RDS per PostgreSQL registra le attività del database nel file di log PostgreSQL predefinito. Per un'istanza database PostgreSQL on-premise, questi messaggi vengono archiviati localmente in `log/postgresql.log`. Per un'istanza database RDS per PostgreSQL, il file di log è disponibile nell'istanza Amazon RDS. Questi log sono accessibili anche tramite Console di gestione AWS, dove è possibile visualizzarli o scaricarli. Il livello di registrazione predefinito rileva gli errori di accesso, gli errori irreversibili del server, i deadlock e gli errori delle query.

Per ulteriori informazioni su come visualizzare, scaricare e guardare i registri di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md). Per ulteriori informazioni sui registri PostgreSQL, consulta [Working with Amazon RDS and Aurora PostgreSQL logs: Part 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/) (Utilizzo dei registri RDS e Aurora PostgreSQL: parte 1) e [Working with Amazon RDS and Aurora PostgreSQL logs: Part 2](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-2/) (Utilizzo dei registri RDS e Aurora PostgreSQL: parte 2). 

Oltre ai log PostgreSQL standard trattati in questo argomento, RDS per PostgreSQL supporta anche l'estensione di audit PostgreSQL (`pgAudit`). La maggior parte dei settori regolamentati e degli enti governativi deve mantenere un log di audit o un audit trail delle modifiche apportate ai dati per conformità ai requisiti legali. Per informazioni sull'installazione e sull'utilizzo di pgAudit, consulta [Utilizzo di pgAudit per registrare l'attività del database](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md).

**Topics**
+ [Parametri per la registrazione di log in RDS per PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups.md)
+ [Attivazione della registrazione delle query per l'](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md)
+ [Pubblicazione dei log PostgreSQL su Amazon Logs CloudWatch](#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)

# Parametri per la registrazione di log in RDS per PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups"></a>

È possibile personalizzare il comportamento di registrazione per l'istanza database RDS per PostgreSQL modificando vari parametri. Nella tabella seguente sono riportati, tra le altre impostazioni, i parametri che stabiliscono la durata di archiviazione dei log, quando ruotarli e se l'output del log è in formato CSV (valori separati da virgole). Puoi anche trovare l'output di testo inviato a STDERR, tra le altre impostazioni. Per modificare le impostazioni per i parametri modificabili, utilizza un gruppo di parametri del·clusterdatabase personalizzato per L'istanza database RDS per PostgreSQL. Per ulteriori informazioni, consulta [Gruppi di parametri database per istanze database Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).


| Parametro | Predefinita | Description | 
| --- | --- | --- | 
| log\$1destination | stderr | Imposta il formato di output per il registro. L'impostazione predefinita è `stderr`, ma puoi anche specificare il formato CSV aggiungendo `csvlog` all'impostazione. Per ulteriori informazioni, consulta [Impostazione della destinazione del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format).  | 
| log\$1filename |  postgresql.log.%Y-%m-%d-%H  | Specifica il modello per il nome del file di log. Oltre al valore predefinito, questo parametro supporta `postgresql.log.%Y-%m-%d` e `postgresql.log.%Y-%m-%d-%H%M` per il modello del nome del file.  | 
| log\$1line\$1prefix | %t:%r:%u@%d:[%p]: | Definisce il prefisso per ogni riga di log che viene scritta in `stderr`, per annotare l'ora (%t), l'host remoto (%r), l'utente (%u), il database (%d) e l'ID del processo (%p). | 
| log\$1rotation\$1age | 60 | I minuti dopo i quali il file di log viene ruotato automaticamente. È possibile modificarli con un valore compreso tra 1 e 1440 minuti. Per ulteriori informazioni, consulta [Impostazione della rotazione dei file di log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation).  | 
| log\$1rotation\$1size | – | La dimensione (KB) che stabilisce la rotazione automatica del log. Per impostazione predefinita, questo parametro non viene utilizzato perché i log vengono ruotati in base al parametro `log_rotation_age`. Per ulteriori informazioni, consulta [Impostazione della rotazione dei file di log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation). | 
| rds.log\$1retention\$1period | 4320 | I registri PostgreSQL più vecchi del numero di minuti specificato vengono eliminati. Il valore di default di 4.320 minuti elimina i file di log dopo 3 giorni. Per ulteriori informazioni, consulta [Impostazione del periodo di retention dei log](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period). | 

Per identificare i problemi dell'applicazione, puoi cercare fallimenti di query, errori di accesso, deadlock ed errori irreversibili del server nel registro. Ad esempio, supponi di convertire un'applicazione legacy da Oracle ad Amazon RDS PostgreSQL, ma non tutte le query sono state convertite correttamente. Queste query formattate in modo errato generano messaggi di errore nei registri che puoi utilizzare per identificare i problemi. Per ulteriori informazioni sulla registrazione delle query, consulta [Attivazione della registrazione delle query per l'](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md). 

Negli argomenti seguenti sono disponibili informazioni su come impostare vari parametri che controllano i dettagli di base dei log PostgreSQL. 

**Topics**
+ [Impostazione del periodo di retention dei log](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period)
+ [Impostazione della rotazione dei file di log](#USER_LogAccess.Concepts.PostgreSQL.log_rotation)
+ [Impostazione della destinazione del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format)
+ [Informazioni sul parametro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix)

## Impostazione del periodo di retention dei log
<a name="USER_LogAccess.Concepts.PostgreSQL.log_retention_period"></a>

Il parametro `rds.log_retention_period` specifica per quanto tempo l'istanza database RDS per PostgreSQL conserva i file di log. L'impostazione predefinita è 3 giorni (4.320 minuti), ma è possibile impostare qualsiasi valore compreso tra 1 giorno (1.440 minuti) e 7 giorni (10.080 minuti). Assicurati che l'istanza database RDS per PostgreSQL abbia spazio di archiviazione sufficiente per contenere i file di log per il periodo di tempo specificato.

 l’istanza database RDS per PostgreSQL. Per ulteriori informazioni, consulta [Pubblicazione dei log PostgreSQL su Amazon Logs CloudWatch](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs).  Logs. CloudWatch 

## Impostazione della rotazione dei file di log
<a name="USER_LogAccess.Concepts.PostgreSQL.log_rotation"></a>

Per impostazione predefinita, nuovi file di log vengono creati da Amazon RDS ogni ora. La tempistica è controllata dal parametro `log_rotation_age`. Questo parametro ha un valore predefinito di 60 (minuti), ma è possibile impostarlo su qualsiasi valore tra 1 minuto e 24 ore (1.440 minuti). Al momento della rotazione, viene creato un nuovo file di log distinto. Il file è denominato in base al modello specificato dal parametro `log_filename`. 

I file di log possono anche essere ruotati in base alle loro dimensioni, come specificato dal parametro `log_rotation_size`. Questo parametro specifica che il log deve essere ruotato quando raggiunge la dimensione specificata (in kilobyte). Per un'istanza database RDS for PostgreSQL, `log_rotation_size` non è impostato, cioè non è specificato alcun valore. Tuttavia, puoi impostare il parametro su un valore compreso tra 0 e 2.097.151 kB (kilobyte). 

I nomi dei file di registro si basano sul modello di nome di file specificato nel parametro `log_filename`. Le impostazioni disponibili per questo parametro sono le seguenti:
+ `postgresql.log.%Y-%m-%d` : formato predefinito per il nome del file di registro. Include l'anno, il mese e la data nel nome del file di log.
+ `postgresql.log.%Y-%m-%d-%H`: include l'ora nel formato del nome del file di registro.

Per ulteriori informazioni, consulta [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE) e [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE) nella documentazione di PostgreSQL.

## Impostazione della destinazione del registro (`stderr`, `csvlog`)
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format"></a>

Per impostazione predefinita, PostgreSQL genera i log in formato errore standard (stderr). Questo formato è l'impostazione predefinita per il parametro `log_destination`. Ogni messaggio ha un prefisso che utilizza il modello specificato nel parametro `log_line_prefix`. Per ulteriori informazioni, consulta [Informazioni sul parametro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix). 

RDS per PostgreSQL può anche generare log in formato `csvlog`. Il formato `csvlog` è utile per analizzare i dati dei registri in formato CSV. Ad esempio, supponi di utilizzare l'estensione `log_fdw` per lavorare con i log come tabelle esterne. La tabella esterna creata sui file di log di `stderr` contiene una singola colonna con i dati degli eventi di log. Aggiungendo `csvlog` al parametro `log_destination`, ottieni il file di log in formato CSV con le demarcazioni per le diverse colonne della tabella esterna. In tal modo puoi ordinare e analizzare i log più facilmente. Per informazioni su come usare `log_fdw` con `csvlog`, consulta [Utilizzo dell'estensione log\$1fdw per accedere al registro di database utilizzando SQL](CHAP_PostgreSQL.Extensions.log_fdw.md).

Se specifichi `csvlog` per questo parametro, tieni presente che vengono generati entrambi i file `stderr` e `csvlog`. Ti consigliamo di monitorare lo spazio di archiviazione consumato dai registri tenendo conto di `rds.log_retention_period` e delle altre impostazioni che influiscono sull'archiviazione e sulla rotazione dei registri. Utilizzando `stderr` e `csvlog` lo spazio di archiviazione consumato dai registri aumenta più del doppio.

Se aggiungi `csvlog` a `log_destination` e vuoi ripristinare solo `stderr`, devi reimpostare il parametro. Per farlo, nella console Amazon RDS apri il gruppo di parametri del·clusterdatabase personalizzato per la tua istanza. Scegli il parametro `log_destination`, seleziona **Edit parameter** (Modifica parametro), quindi **Reset** (Reimposta). 

Per ulteriori informazioni sulla configurazione dei registri, consulta [Utilizzo dei log Amazon RDS e Aurora PostgreSQL: Parte 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/).

## Informazioni sul parametro log\$1line\$1prefix
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix"></a>

Il formato di log `stderr` applica il prefisso a ogni messaggio di log con i dettagli specificati dal parametro `log_line_prefix`. Il valore predefinito è: 

```
%t:%r:%u@%d:[%p]:t
```

A partire da Aurora PostgreSQL versione 16, è anche possibile scegliere:

```
%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a
```

Ogni voce del log inviata a stderr include le seguenti informazioni in base al valore selezionato:
+ `%t` - Ora della voce di log senza millisecondi
+ `%m` - Ora della voce di log con millisecondi
+  `%r` - Indirizzo dell'host remoto
+  `%u@%d` - Nome utente @ nome del database
+  `[%p]` - ID del processo, se disponibile
+  `%l` - Numero di riga di log per sessione 
+  `%e` - Codice di errore SQL 
+  `%s` - Timestamp di inizio del processo 
+  `%v` - ID della transazione virtuale 
+  `%x` - ID della transazione 
+  `%c` - ID della sessione 
+  `%q` - Terminatore non di sessione 
+  `%a` - Nome dell’applicazione 

# Attivazione della registrazione delle query per l'
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging"></a>

È possibile raccogliere informazioni più approfondite sulle attività dei database, tra cui query, query in attesa di blocchi, checkpoint e molti altri dettagli impostando alcuni parametri elencati nella tabella seguente. Questo argomento illustra la registrazione delle query.


| Parametro | Predefinita | Description | 
| --- | --- | --- | 
| log\$1connections | – | Registra ogni connessione riuscita.  | 
| log\$1disconnections | – | Registra il momento in cui termina ciascuna sessione e la relativa durata.  | 
| log\$1checkpoints | 1 | Registra nei log ogni checkpoint.  | 
| log\$1lock\$1waits | – | Registra lunghe attese di lock. Per impostazione predefinita, questo parametro non è impostato. | 
| log\$1min\$1duration\$1sample | – | Imposta il tempo (ms) minimo di esecuzione oltre il quale viene registrato un campione di istruzioni. La dimensione del campione viene impostata utilizzando il parametro log\$1statement\$1sample\$1rate. | 
| log\$1min\$1duration\$1statement | – | Viene registrata qualsiasi istruzione SQL che viene eseguita per il periodo specificato o per più tempo. Per impostazione predefinita, questo parametro non è impostato. L'attivazione di questo parametro può aiutarti a trovare query non ottimizzate. | 
| log\$1statement | – | Imposta il tipo di istruzioni registrate. Per impostazione predefinita, questo parametro non è impostato, ma puoi modificarlo in `all`, `ddl` o `mod` per specificare i tipi di istruzioni SQL che vuoi registrare. Se specifichi un valore diverso da `none` per questo parametro, dovrai adottare ulteriori misure per evitare l'esposizione delle password nei file di log. Per ulteriori informazioni, consulta [Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle queryRiduzione del rischio di esposizione delle password](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk).  | 
| log\$1statement\$1sample\$1rate | – | La percentuale di istruzioni che superano il tempo specificato in `log_min_duration_sample` da registrare, espressa come valore in virgola mobile compreso tra 0,0 e 1,0.  | 
| log\$1statement\$1stats | – | Scrive le statistiche cumulative sulla prestazione nel registro del server. | 

## Utilizzo della registrazione per trovare query lente
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.using"></a>

È possibile registrare istruzioni e query SQL per trovare le query con prestazioni lente. Puoi attivare questa funzionalità modificando le impostazioni nei parametri `log_statement` e `log_min_duration` come descritto in questa sezione. Prima di attivare la registrazione delle query per l'istanza database RDS per PostgreSQL, è necessario essere consapevoli della possibile esposizione delle password nei registri e di come mitigare i rischi. Per ulteriori informazioni, consulta [Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle queryRiduzione del rischio di esposizione delle password](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

Di seguito sono disponibili informazioni di riferimento sui parametri `log_statement` e `log_min_duration`.log\$1statement

Questo parametro specifica il tipo di istruzioni SQL che devono essere inviate al registro. Il valore predefinito è `none`. Se modifichi questo parametro in `all`, `ddl` o `mod`, esegui le azioni consigliate per ridurre il rischio di esporre le password nei log. Per ulteriori informazioni, consulta [Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle queryRiduzione del rischio di esposizione delle password](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

**tutto**  
Registra tutte le istruzioni. Questa impostazione è consigliata per il debug.

**ddl**  
Registra tutte le istruzioni DDL (Data Definition Language), come CREATE, ALTER, DROP e così via.

**mod**  
Registra tutte le istruzioni DDL e DML (Data Manipulation Language), come INSERT, UPDATE e DELETE, che modificano i dati.

**nessuno**  
Nessuna istruzione SQL viene registrata. Consigliamo questa impostazione per evitare il rischio di esporre le password nei registri.log\$1min\$1duration\$1statement

Viene registrata qualsiasi istruzione SQL che viene eseguita per il periodo specificato o per più tempo. Per impostazione predefinita, questo parametro non è impostato. L'attivazione di questo parametro può aiutarti a trovare query non ottimizzate.

**–1–2147483647**  
Il numero di millisecondi (ms) di runtime durante il quale un'istruzione viene registrata.

**Per configurare la registrazione delle query**

Questi passaggi presuppongono che l'istanza database RDS per PostgreSQL utilizzi un gruppo di parametri database personalizzato. 

1. Imposta il parametro `log_statement` su `all`. L'esempio seguente mostra le informazioni scritte nel file `postgresql.log` con questa impostazione del parametro.

   ```
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats:
   ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed
   ! [0.025146 s user, 0.000000 s system total]
   ! 36644 kB max resident size
   ! 0/8 [0/8] filesystem blocks in/out
   ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps
   ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
   ! 19/0 [27/0] voluntary/involuntary context switches
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC;
   ----------------------- END OF LOG ----------------------
   ```

1. Impostare il parametro `log_min_duration_statement`. L'esempio seguente mostra le informazioni scritte nel file `postgresql.log` quando il parametro è impostato su `1`.

   Le query che superano la durata specificata nel parametro `log_min_duration_statement` vengono registrate. Di seguito viene riportato un esempio. Puoi visualizzare il file di log per l'istanza database RDS per PostgreSQL nella console Amazon RDS. 

   ```
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments;
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms
   2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time
   2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB
   ----------------------- END OF LOG ----------------------
   ```

### Riduzione del rischio di esposizione delle password quando si utilizza la registrazione delle query
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk"></a>

Ti consigliamo di mantenere `log_statement` impostato su `none` per evitare di esporre le password. Se imposti `log_statement` su `all`, `ddl` o `mod`, ti consigliamo di eseguire una o più delle seguenti operazioni.
+ Per il client, applica la crittografia delle informazioni sensibili. Per ulteriori informazioni, consulta [Encryption Options](https://www.postgresql.org/docs/current/encryption-options.html) (Opzioni di crittografia) nella documentazione di PostgreSQL. Usa le opzioni `ENCRYPTED` (e `UNENCRYPTED`) delle istruzioni `CREATE` e `ALTER`. Per ulteriori informazioni, consulta [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) nella documentazione di PostgreSQL.
+ Per l'istanza database RDS per PostgreSQL, configura e usa l'estensione di audit PostgreSQL (pgAudit). Questa estensione oscura le informazioni sensibili nelle istruzioni CREATE e ALTER inviate al registro. Per ulteriori informazioni, consulta [Utilizzo di pgAudit per registrare l'attività del database](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md). 
+ Limita CloudWatch l'accesso ai log.
+ Utilizza meccanismi di autenticazione più efficaci come IAM.

## Pubblicazione dei log PostgreSQL su Amazon Logs CloudWatch
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs"></a>

Per archiviare i record di log PostgreSQL in uno storage altamente durevole, puoi utilizzare Amazon Logs. CloudWatch Con CloudWatch Logs, puoi anche eseguire analisi in tempo reale dei dati di log e utilizzarli CloudWatch per visualizzare metriche e creare allarmi. Ad esempio, se imposti `log_statement` su `ddl`, puoi impostare un avviso per notificare ogni volta che viene eseguita un'istruzione DDL. Puoi scegliere di caricare i log di PostgreSQL in Logs durante il processo di creazione dell'istanza DB RDS CloudWatch per PostgreSQL. Se hai scelto di non caricare i registri, puoi successivamente modificare l'istanza per iniziare a caricare i registri da quel momento in poi. In altre parole, i log esistenti non vengono caricati. Solo i nuovi log vengono caricati quando vengono creati sull'istanza database RDS per PostgreSQL modificata.

Tutte le versioni di RDS per PostgreSQL attualmente disponibili supportano la pubblicazione di file di registro in Logs. CloudWatch Per informazioni dettagliate, consulta [Amazon RDS for PostgreSQL updates](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) (Aggiornamenti di Amazon RDS per PostgreSQL) in *Amazon RDS for PostgreSQL Release Notes* (Note di rilascio di Amazon RDS per PostgreSQL). 

Per utilizzare CloudWatch Logs, configura l'istanza DB RDS for PostgreSQL per pubblicare i dati di log in un gruppo di log.

È possibile pubblicare i seguenti tipi di log in CloudWatch Logs for RDS for PostgreSQL: 
+ Log di PostgreSQL
+ Registro di aggiornamento 
+ Log degli errori di autenticazione del database IAM

Dopo aver completato la configurazione, Amazon RDS pubblica gli eventi di log per registrare i flussi all'interno di un CloudWatch gruppo di log. Ad esempio, i dati di log di PostgreSQL sono archiviati in un gruppo di log `/aws/rds/instance/my_instance/postgresql`. Per visualizzare i log, apri la console all'indirizzo. CloudWatch [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

### Console
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CON"></a>

**Per pubblicare i log di PostgreSQL su Logs utilizzando la console CloudWatch**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Databases (Database)**.

1. Scegliere l'istanza database che si desidera modificare e selezionare **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

   La sezione **Esportazioni dei log** è disponibile solo per le versioni di PostgreSQL che supportano la pubblicazione nei registri. CloudWatch 

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

### AWS CLI
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CLI"></a>

È possibile pubblicare i log PostgreSQL con. AWS CLI Puoi chiamare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti.
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi anche pubblicare i log PostgreSQL chiamando i seguenti comandi CLI:
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Esegui uno di questi comandi CLI con le opzioni seguenti: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Altre opzioni potrebbero essere richieste a seconda del comando CLI eseguito.

**Example Modifica un'istanza per pubblicare i log in Logs CloudWatch**  
L'esempio seguente modifica un'istanza DB PostgreSQL esistente per pubblicare file di registro in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `postgresql` e `upgrade`.  
Per Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
```
Per Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
```

**Example Crea un'istanza per pubblicare i log in Logs CloudWatch**  
L'esempio seguente crea un'istanza DB PostgreSQL e pubblica i file di registro in Logs. CloudWatch Il valore `--enable-cloudwatch-logs-exports` è una matrice di stringhe JSON. Le stringhe possono essere una qualsiasi combinazione di `postgresql` e `upgrade`.  
Per Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
4.     --db-instance-class db.m4.large \
5.     --engine postgres
```
Per Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine postgres
```

### API RDS
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.API"></a>

È possibile pubblicare i log PostgreSQL con RDS API. Puoi chiamare l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con i parametri seguenti: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Nota**  
Viene sempre applicata all'istanza database una modifica al parametro `CloudwatchLogsExportConfiguration` immediatamente. Pertanto, il parametro `ApplyImmediately` non ha alcun effetto.

È possibile anche pubblicare i log PostgreSQL eseguendo una delle seguenti azioni API RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Esegui una di queste azioni API RDS con i seguenti parametri: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Altri parametri potrebbero essere richiesti a seconda dell'operazione eseguita.

 

# Monitoraggio delle chamate API di Amazon RDS in AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS CloudTrail è un servizio AWS che ti aiuta a controllare il tuo account AWS. AWS CloudTrail è attivato sul tuo account AWS quando lo crei. Per ulteriori informazioni su CloudTrail, consulta la [AWS CloudTrailGuida per l'utente di ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

**Topics**
+ [Integrazione di CloudTrail con Amazon RDS](#service-name-info-in-cloudtrail)
+ [Voci del file di log Amazon RDS](#understanding-service-name-entries)

## Integrazione di CloudTrail con Amazon RDS
<a name="service-name-info-in-cloudtrail"></a>

Tutte le operazioni Amazon RDS sono registrate da CloudTrail. CloudTrail fornisce un record delle operazioni eseguite da un utente, un ruolo o un servizio AWS in Amazon RDS.

### Eventi CloudTrail
<a name="service-name-info-in-cloudtrail.events"></a>

CloudTrail acquisisce le chiamate API per Amazon RDS come eventi. Un evento rappresenta una singola richiesta da un'origine e include informazioni sull'operazione richiesta, data e ora dell'operazione, parametri della richiesta e così via. Gli eventi includono le chiamate della console Amazon RDS e le chiamate del codice alle operazioni API Amazon RDS. 

L'attività Amazon RDS viene registrata in un evento CloudTrail nella **cronologia eventi**. Puoi utilizzare la console CloudTrail per visualizzare gli ultimi 90 giorni di attività API ed eventi registrati in una regione AWS. Per ulteriori informazioni, consulta [Visualizzazione di eventi mediante la cronologia eventi di CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

### Trail CloudTrail
<a name="service-name-info-in-cloudtrail.trails"></a>

Per una registrazione continua degli eventi nell'account AWS che includa gli eventi per Amazon RDS, crea un percorso. Un percorso è una configurazione che consente la consegna di eventi a un bucket Simple Storage Service (Amazon S3) specificato. CloudTrail in genere consegna i file di log entro 15 minuti dall'attività dell'account.

**Nota**  
Se non configuri un trail, è comunque possibile visualizzare gli eventi più recenti nella console di CloudTrail in **Event history (Cronologia eventi)**.

È possibile creare due tipi di trail per un account AWS: un trail che si applica a tutte le regioni o un trail che si applica a una regione. Per impostazione predefinita, quando si crea un trail nella console, il trail sarà valido in tutte le Regioni . 

Inoltre, è possibile configurare altri servizi AWS per analizzare con maggiore dettaglio e usare i dati evento raccolti nei log CloudTrail. Per ulteriori informazioni, consulta: 
+ [Panoramica della creazione di un percorso](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Servizi e integrazioni CloudTrail 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 log CloudTrail da più Regioni](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [Ricezione di file di log CloudTrail da più account](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

## Voci del file di log Amazon RDS
<a name="understanding-service-name-entries"></a>

I file di log di CloudTrail possono contenere una o più voci di log. I file di log di CloudTrail non sono una traccia stack ordinata delle chiamate pubbliche dell'API, quindi non vengono visualizzati in un ordine specifico. 

L'esempio seguente mostra una voce di log di CloudTrail che illustra l'operazione `CreateDBInstance`.

```
{
    "eventVersion": "1.04",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AKIAIOSFODNN7EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/johndoe",
        "accountId": "123456789012",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "userName": "johndoe"
    },
    "eventTime": "2018-07-30T22:14:06Z",
    "eventSource": "rds.amazonaws.com",
    "eventName": "CreateDBInstance",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "aws-cli/1.15.42 Python/3.6.1 Darwin/17.7.0 botocore/1.10.42",
    "requestParameters": {
        "enableCloudwatchLogsExports": [
            "audit",
            "error",
            "general",
            "slowquery"
        ],
        "dBInstanceIdentifier": "test-instance",
        "engine": "mysql",
        "masterUsername": "myawsuser",
        "allocatedStorage": 20,
        "dBInstanceClass": "db.m1.small",
        "masterUserPassword": "****"
    },
    "responseElements": {
        "dBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance",
        "storageEncrypted": false,
        "preferredBackupWindow": "10:27-10:57",
        "preferredMaintenanceWindow": "sat:05:47-sat:06:17",
        "backupRetentionPeriod": 1,
        "allocatedStorage": 20,
        "storageType": "standard",
        "engineVersion": "8.0.28",
        "dbInstancePort": 0,
        "optionGroupMemberships": [
            {
                "status": "in-sync",
                "optionGroupName": "default:mysql-8-0"
            }
        ],
        "dBParameterGroups": [
            {
                "dBParameterGroupName": "default.mysql8.0",
                "parameterApplyStatus": "in-sync"
            }
        ],
        "monitoringInterval": 0,
        "dBInstanceClass": "db.m1.small",
        "readReplicaDBInstanceIdentifiers": [],
        "dBSubnetGroup": {
            "dBSubnetGroupName": "default",
            "dBSubnetGroupDescription": "default",
            "subnets": [
                {
                    "subnetAvailabilityZone": {"name": "us-east-1b"},
                    "subnetIdentifier": "subnet-cbfff283",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1e"},
                    "subnetIdentifier": "subnet-d7c825e8",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1f"},
                    "subnetIdentifier": "subnet-6746046b",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1c"},
                    "subnetIdentifier": "subnet-bac383e0",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1d"},
                    "subnetIdentifier": "subnet-42599426",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1a"},
                    "subnetIdentifier": "subnet-da327bf6",
                    "subnetStatus": "Active"
                }
            ],
            "vpcId": "vpc-136a4c6a",
            "subnetGroupStatus": "Complete"
        },
        "masterUsername": "myawsuser",
        "multiAZ": false,
        "autoMinorVersionUpgrade": true,
        "engine": "mysql",
        "cACertificateIdentifier": "rds-ca-2015",
        "dbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA",
        "dBSecurityGroups": [],
        "pendingModifiedValues": {
            "masterUserPassword": "****",
            "pendingCloudwatchLogsExports": {
                "logTypesToEnable": [
                    "audit",
                    "error",
                    "general",
                    "slowquery"
                ]
            }
        },
        "dBInstanceStatus": "creating",
        "publiclyAccessible": true,
        "domainMemberships": [],
        "copyTagsToSnapshot": false,
        "dBInstanceIdentifier": "test-instance",
        "licenseModel": "general-public-license",
        "iAMDatabaseAuthenticationEnabled": false,
        "performanceInsightsEnabled": false,
        "vpcSecurityGroups": [
            {
                "status": "active",
                "vpcSecurityGroupId": "sg-f839b688"
            }
        ]
    },
    "requestID": "daf2e3f5-96a3-4df7-a026-863f96db793e",
    "eventID": "797163d3-5726-441d-80a7-6eeb7464acd4",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

Come illustrato nell'elemento `userIdentity` nell'esempio precedente, ogni voce di evento o di registro contiene informazioni su chi 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 servizio AWS.

Per ulteriori informazioni su `userIdentity`, consultare [Elemento userIdentity CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html). Per ulteriori informazioni su `CreateDBInstance` e altre operazioni di Amazon RDS, consulta la [Documentazione di riferimento delle API di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/).

# Monitoraggio di Amazon RDS tramite i flussi di attività del database
<a name="DBActivityStreams"></a><a name="das"></a>

Con Flussi di attività del database puoi monitorare pressoché in tempo reale i flussi di attività del database.

**Topics**
+ [Panoramica dei flussi di attività di database](#DBActivityStreams.Overview)
+ [Configurazione della verifica unificata per Oracle Database](DBActivityStreams.configuring-auditing.md)
+ [Configurazione della policy di audit per Amazon RDS per Microsoft SQL Server](DBActivityStreams.configuring-auditing-SQLServer.md)
+ [Avvio di un flusso di attività di database](DBActivityStreams.Enabling.md)
+ [Modifica di un flusso di attività del database per Amazon RDS](DBActivityStreams.Modifying.md)
+ [Recupero dello stato di un flusso di attività del database](DBActivityStreams.Status.md)
+ [Arresto di un flusso di attività di database](DBActivityStreams.Disabling.md)
+ [Monitoraggio di flussi di attività di database](DBActivityStreams.Monitoring.md)
+ [Esempi di policy IAM per flussi di attività del database](DBActivityStreams.ManagingAccess.md)

## Panoramica dei flussi di attività di database
<a name="DBActivityStreams.Overview"></a>

Come amministratore del database Amazon RDS, devi proteggere il database e soddisfare i requisiti normativi e di conformità. Una strategia consiste nell'integrare i flussi di attività del database con gli strumenti di monitoraggio. In questo modo, puoi monitorare e impostare gli allarmi per l’attività di audit nel database.

Le minacce alla sicurezza sono sia esterne che interne. Per proteggersi dalle minacce interne, è possibile controllare l'accesso degli amministratori ai flussi di dati configurando la funzionalità flussi di attività del database. Amazon RDS DBAs non ha accesso alla raccolta, trasmissione, archiviazione ed elaborazione degli stream.

**Contents**
+ [Come funzionano i flussi di attività del database](#DBActivityStreams.Overview.how-they-work)
+ [Verifica nel database Oracle Database e Microsoft SQL Server](#DBActivityStreams.Overview.auditing)
  + [Verifica unificata in Oracle Database](#DBActivityStreams.Overview.unified-auditing)
  + [Verifica in Microsoft SQL Server](#DBActivityStreams.Overview.SQLServer-auditing)
  + [Campi di verifica non nativi per Oracle Database e SQL Server](#DBActivityStreams.Overview.unified-auditing.non-native)
  + [Sovrascrittura di un gruppo parametri del database](#DBActivityStreams.Overview.unified-auditing.parameter-group)
+ [Modalità asincrona per i flussi di attività del database](#DBActivityStreams.Overview.sync-mode)
+ [Requisiti e limitazioni per flussi di attività del database](#DBActivityStreams.Overview.requirements)
+ [Disponibilità di regioni e versioni](#DBActivityStreams.RegionVersionAvailability)
+ [Classi di istanza database supportate per i flussi di attività di database](#DBActivityStreams.Overview.requirements.classes)

### Come funzionano i flussi di attività del database
<a name="DBActivityStreams.Overview.how-they-work"></a>

Amazon RDS inserisce le attività in un flusso di dati Amazon Kinesis pressoché in tempo reale. Il flusso Kinesis viene creato automaticamente. Da Kinesis, puoi configurare AWS servizi come Amazon Data Firehose e consumare lo stream e AWS Lambda archiviare i dati.

**Importante**  
L'utilizzo della funzionalità Flussi di attività del database in Amazon RDS è gratuito, ma Amazon Kinesis addebita i costi del flusso di dati. Per ulteriori informazioni, consulta [Prezzi di Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/pricing/).

Puoi configurare le applicazioni per la gestione della conformità affinché attingano dai flussi di attività del database. Tali applicazioni possono utilizzare il flusso per generare avvisi e attività di verifica per il database.

Amazon RDS supporta i flussi di attività del database nelle implementazioni multi-AZ. In questo caso, i flussi di attività del database controllano sia le istanze primarie che quelle di stand-by.

### Verifica nel database Oracle Database e Microsoft SQL Server
<a name="DBActivityStreams.Overview.auditing"></a>

La verifica è il monitoraggio e la registrazione delle azioni del database configurate. Amazon RDS non acquisisce le attività del database per impostazione predefinita. Puoi creare e gestire autonomamente le policy di verifica nel database.

**Topics**
+ [Verifica unificata in Oracle Database](#DBActivityStreams.Overview.unified-auditing)
+ [Verifica in Microsoft SQL Server](#DBActivityStreams.Overview.SQLServer-auditing)
+ [Campi di verifica non nativi per Oracle Database e SQL Server](#DBActivityStreams.Overview.unified-auditing.non-native)
+ [Sovrascrittura di un gruppo parametri del database](#DBActivityStreams.Overview.unified-auditing.parameter-group)

#### Verifica unificata in Oracle Database
<a name="DBActivityStreams.Overview.unified-auditing"></a>

In un database Oracle, una *policy di verifica unificata* è un gruppo denominato di impostazioni di verifica che è possibile utilizzare per controllare un aspetto del comportamento dell'utente. Una policy può essere semplice come controllare le attività di un singolo utente. È inoltre possibile creare policy di verifica complesse che utilizzano condizioni.

Un database Oracle scrive record di verifica, inclusi i record di verifica `SYS`, sul *percorso di verifica unificato*. Ad esempio, se si verifica un errore durante un'istruzione `INSERT`, la verifica standard indica il numero di errore e l'istruzione SQL eseguita. Il percorso di verifica si trova in una tabella di sola lettura nello schema `AUDSYS`. Per accedere a questi record, esegui una query nella vista del dizionario dei dati `UNIFIED_AUDIT_TRAIL`.

In genere, è possibile configurare i flussi di attività del database come segue:

1. Crea una policy di verifica Oracle Database utilizzando il comando `CREATE AUDIT POLICY`.

   Oracle Database genera record di verifica.

1. Attiva la policy di verifica utilizzando il comando `AUDIT POLICY`.

1. Configurazione dei flussi di attività di database

   Solo le attività che corrispondono alle policy di verifica Oracle Database vengono acquisite e inviate a Amazon Kinesis Data Stream. Quando i flussi di attività del database sono abilitati, un amministratore di database Oracle non può modificare le policy di verifica o rimuovere i log di verifica.

Per ulteriori informazioni sulle policy di verifica unificate, consulta [Informazioni sulle attività di verifica con policy di verifica unificate e AUDIT](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-audit-policies.html#GUID-2435D929-10AD-43C7-8A6C-5133170074D0) nella *Guida alla sicurezza di Oracle Database*.

#### Verifica in Microsoft SQL Server
<a name="DBActivityStreams.Overview.SQLServer-auditing"></a>

Database Activity Stream utilizza la SQLAudit funzionalità per controllare il database SQL Server.

L'istanza RDS per SQL Server contiene:
+ Verifica del server: la verifica di SQL Server raccoglie una singola istanza di azioni a livello di server o database e un gruppo di azioni da monitorare. Le verifiche `RDS_DAS_AUDIT` e `RDS_DAS_AUDIT_CHANGES` a livello di server sono gestite da RDS.
+ Specifica di verifica del server: la specifica di verifica del server registra gli eventi a livello di server. È possibile modificare la specifica `RDS_DAS_SERVER_AUDIT_SPEC`. Questa specifica è collegata alla verifica del server `RDS_DAS_AUDIT`. La specifica `RDS_DAS_CHANGES_AUDIT_SPEC` è gestita da RDS.
+ Specifica di verifica del database: la specifica di verifica del database registra gli eventi a livello di database. È possibile creare una specifica di verifica del database `RDS_DAS_DB_<name>` e collegarla alla verifica del server `RDS_DAS_AUDIT`.

È possibile configurare i flussi di attività del database utilizzando la console o la CLI. In genere, è possibile configurare i flussi di attività del database come segue:

1. (Facoltativo) Crea una specifica di verifica del database con il comando `CREATE DATABASE AUDIT SPECIFICATION` e collegala alla verifica del server `RDS_DAS_AUDIT`. 

1. (Facoltativo) Modifica la specifica di verifica del server con il comando `ALTER SERVER AUDIT SPECIFICATION` e definisci le policy. 

1. Attiva le policy di verifica del database e del server. Esempio:

   `ALTER DATABASE AUDIT SPECIFICATION [<Your database specification>] WITH (STATE=ON)`

   `ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=ON)`

1. Configurazione dei flussi di attività di database

   Solo le attività che corrispondono alle policy di verifica del server e del database vengono acquisite e inviate al flusso di dati Amazon Kinesis. Quando i flussi di attività del database sono abilitati e le policy sono bloccate, un amministratore di database non può modificare le policy di verifica o rimuovere i log di verifica. 
**Importante**  
Se la specifica di verifica di un database specifico è abilitata e la policy è bloccata, il database non può essere eliminato.

Per ulteriori informazioni sulla verifica di SQL Server, consulta [Componenti di verifica di SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver16) nella *documentazione di Microsoft SQL Server*.



#### Campi di verifica non nativi per Oracle Database e SQL Server
<a name="DBActivityStreams.Overview.unified-auditing.non-native"></a>

Quando si avvia un flusso di attività del database, ogni evento del database genera un evento del flusso di attività corrispondente. Ad esempio, un utente di database potrebbe eseguire le istruzioni `SELECT` e `INSERT`. Il database controlla questi eventi e li invia a un Amazon Kinesis Data Stream.

Gli eventi sono rappresentati nel flusso come oggetti JSON. Un oggetto JSON contiene un `DatabaseActivityMonitoringRecord`, che contiene una matrice `databaseActivityEventList`. I campi predefiniti nella matrice includono `class`, `clientApplication` e `command`.

Per impostazione predefinita, un flusso di attività non include campi di verifica nativi del motore. È possibile configurare Amazon RDS per Oracle e SQL Server in modo che includano questi campi aggiuntivi nell'oggetto JSON `engineNativeAuditFields`.

In Oracle Database, la maggior parte degli eventi nel percorso di verifica unificato esegue la mappatura ai campi nel flusso di attività dei dati RDS. Ad esempio, il campo `UNIFIED_AUDIT_TRAIL.SQL_TEXT` nelle mappe di verifica unificate al campo `commandText` in un flusso di attività di database. Tuttavia, i campi di verifica di Oracle Database come `OS_USERNAME` non mappano a campi predefiniti in un flusso di attività di database.

In SQL Server, la maggior parte dei campi dell'evento registrati dalla SQLAudit mappa ai campi del flusso di attività del database RDS. Ad esempio, il campo `code` in `sys.fn_get_audit_file` nella verifica viene mappato al campo `commandText` in un flusso di attività del database. Tuttavia, i campi di verifica del database SQL Server come `permission_bitmask` non vengono mappati ai campi predefiniti in un flusso di attività del database.

Per ulteriori informazioni su databaseActivityEvent List, vedere[Array JSON databaseActivityEventList per flussi di attività del database](DBActivityStreams.AuditLog.databaseActivityEventList.md).

#### Sovrascrittura di un gruppo parametri del database
<a name="DBActivityStreams.Overview.unified-auditing.parameter-group"></a>

In genere, è possibile attivare la verifica unificata in RDS per Oracle allegando un gruppo di parametri. Tuttavia, i flussi di attività del database richiedono una configurazione aggiuntiva. Per migliorare l'esperienza del cliente, Amazon RDS effettua le seguenti operazioni:
+ Se attivi un flusso di attività, RDS per Oracle ignora i parametri di verifica nel gruppo di parametri.
+ Se disattivi un flusso di attività, RDS per Oracle smette di ignorare i parametri di verifica.

Il flusso di attività del database per SQL Server è indipendente da qualsiasi parametro impostato nell'opzione di verifica di SQL.

### Modalità asincrona per i flussi di attività del database
<a name="DBActivityStreams.Overview.sync-mode"></a>

I flussi di attività in Amazon RDS sono sempre asincroni. Quando una sessione di database genera un evento del flusso di attività, vengono ripristinate immediatamente le normali attività della sessione. In background, Amazon RDS rende l'evento di flusso di attività un record persistente.

Se si verifica un errore nell'attività in background, Amazon RDS genera un evento. Questo indica l'inizio e la fine di qualsiasi finestra temporale in cui i record dell'evento del flusso di attività potrebbero essere stati persi. La modalità asincrona favorisce le prestazioni del database rispetto alla precisione del flusso di attività.

### Requisiti e limitazioni per flussi di attività del database
<a name="DBActivityStreams.Overview.requirements"></a>

In RDS, i flussi di attività del database hanno i requisiti e le limitazioni riportati di seguito:
+ I flussi di attività del database richiedono l'utilizzo di Amazon Kinesis.
+ AWS Key Management Service (AWS KMS) è necessaria per i flussi di attività del database perché sono sempre crittografati.
+ L'applicazione di una crittografia aggiuntiva al flusso di dati di Amazon Kinesis è incompatibile con i flussi di attività del database, che sono già crittografati con la tua chiave. AWS KMS 
+ Puoi creare e gestire autonomamente le policy di verifica. A differenza di Amazon Aurora, RDS per Oracle non acquisisce le attività del database per impostazione predefinita.
+ Puoi creare e gestire autonomamente le policy o le specifiche di verifica. A differenza di Amazon Aurora, Amazon RDS non acquisisce le attività del database per impostazione predefinita.
+ In un'implementazione multi-AZ, avvia il flusso di attività del database solo sull'istanza database primaria. Il flusso di attività controlla automaticamente sia l'istanza DB principale che quelle in stand-by. Durante un failover non sono richiesti passaggi aggiuntivi.
+ La ridenominazione di un'istanza database non crea un nuovo flusso Kinesis.
+ CDBs non sono supportati per RDS for Oracle.
+ Le repliche di lettura non sono supportate.

### Disponibilità di regioni e versioni
<a name="DBActivityStreams.RegionVersionAvailability"></a>

Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità di versioni e regioni con flussi di attività del database, consulta [Regioni e motori di database supportati per flussi di attività del database in Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.DBActivityStreams.md).

### Classi di istanza database supportate per i flussi di attività di database
<a name="DBActivityStreams.Overview.requirements.classes"></a>

In RDS per Oracle è possibile utilizzare i flussi di attività del database con le seguenti classi di istanza database:
+ db.m4.\$1large
+ db.m5.\$1large
+ db.m5d.\$1large
+ db.m6i.\$1large
+ db.r4.\$1large
+ db.r5.\$1large
+ db.r5.\$1large.tpc\$1.mem\$1x
+ db.r5b.\$1large
+ db.r5b.\$1large.tpc\$1.mem\$1x
+ db.r5d.\$1large
+ db.r6i.\$1large
+ db.r6i.\$1large.tpc\$1.mem\$1x
+ db.x2idn.\$1large
+ db.x2iedn.\$1large
+ db.x2iezn.\$1large
+ db.z1d.\$1large

In RDS per SQL Server è possibile utilizzare i flussi di attività del database con le seguenti classi di istanza database:
+ db.m4.\$1large
+ db.m5.\$1large
+ db.m5d.\$1large
+ db.m6i.\$1large
+ db.r4.\$1large
+ db.r5.\$1large
+ db.r5b.\$1large
+ db.r5d.\$1large
+ db.r6i.\$1large
+ db.x1e.\$1large
+ db.x2iedn.\$1large
+ db.z1d.\$1large

Per ulteriori informazioni sulle classi di istanza, consulta [Classi di istanze DB ](Concepts.DBInstanceClass.md).

# Configurazione della verifica unificata per Oracle Database
<a name="DBActivityStreams.configuring-auditing"></a>

Quando si configura la verifica unificata per l'utilizzo con i flussi di attività del database, sono possibili le seguenti situazioni:
+ La verifica unificata non è configurata per il database Oracle.

  In questo caso, crea nuove policy con il comando `CREATE AUDIT POLICY` e quindi attivale con il comando `AUDIT POLICY`. L'esempio seguente crea e attiva una policy per monitorare gli utenti con privilegi e ruoli specifici.

  ```
  CREATE AUDIT POLICY table_pol
  PRIVILEGES CREATE ANY TABLE, DROP ANY TABLE
  ROLES emp_admin, sales_admin;
  
  AUDIT POLICY table_pol;
  ```

  Per istruzioni complete, consulta [Configurazione delle policy di verifica ](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-audit-policies.html#GUID-22CDB667-5AA2-4051-A262-FBD0236763CB) nella documentazione di Oracle Database.
+ La verifica unificata è configurata per il database Oracle.

  Quando attivi un flusso di attività del database, RDS per Oracle cancella automaticamente i dati di audit esistenti. Inoltre revoca i privilegi del percorso di verifica. RDS per Oracle non può più eseguire le seguenti operazioni:
  + Rimozione dei record del percorso di verifica unificata.
  + Aggiunta, eliminazione o modifica delle policy di verifica unificata.
  + Aggiornamento dell'ultimo timestamp archiviato.
**Importante**  
Consigliamo vivamente di eseguire il backup dei dati di verifica prima di attivare un flusso di attività di database.

  Per una descrizione della vista `UNIFIED_AUDIT_TRAIL`, consulta [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/database/121/REFRN/GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D.htm#REFRN29162). Se si dispone di un account con Oracle Support, consulta [Come rimuovere il PERCORSO DI VERIFICA UNIFICATA](https://support.oracle.com/knowledge/Oracle%20Database%20Products/1582627_1.html).

# Configurazione della policy di audit per Amazon RDS per Microsoft SQL Server
<a name="DBActivityStreams.configuring-auditing-SQLServer"></a>

Un'istanza database SQL Server dispone dell'audit del server `RDS_DAS_AUDIT`, gestito da Amazon RDS. È possibile definire le policy per registrare gli eventi del server nelle specifiche di audit del server `RDS_DAS_SERVER_AUDIT_SPEC`. È possibile creare una specifica di audit del database, ad esempio `RDS_DAS_DB_<name>`, e definire le policy per registrare gli eventi del database. Per l'elenco dei gruppi di azioni di audit a livello di server e database, consulta [Azioni e gruppi di azioni di audit di SQL Server](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions) nella *documentazione di Microsoft SQL Server*.

La policy del server predefinita monitora solo gli accessi non riusciti e le modifiche a qualsiasi specifica di audit del database o del server per i flussi di attività del database.

Le limitazioni relative all'audit e alle specifiche di audit sono le seguenti:
+ Non è possibile modificare le specifiche di audit del server o del database quando il flusso di attività del database è *bloccato*.
+ Non è possibile modificare la specifica di audit del server `RDS_DAS_AUDIT`.
+ Non è possibile modificare la specifica di audit di SQL Server `RDS_DAS_CHANGES` o le relative specifiche di audit del server `RDS_DAS_CHANGES_AUDIT_SPEC`.
+ Quando si crea una specifica di audit del database, è necessario utilizzare il formato `RDS_DAS_DB_<name>`, ad esempio `RDS_DAS_DB_databaseActions`.

**Importante**  
Per le classi di istanze più piccole, consigliamo di non eseguire l'audit di tutti i dati, ma solo di quelli necessari. In tal modo si riduce l'impatto sulle prestazioni dei flussi di attività del database su queste classi di istanze.

Il seguente codice di esempio modifica la specifica di audit del server `RDS_DAS_SERVER_AUDIT_SPEC` e verifica qualsiasi azione di disconnessione e di accesso completato:

```
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      WITH (STATE=OFF);
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      ADD (LOGOUT_GROUP),
      ADD (SUCCESSFUL_LOGIN_GROUP)
      WITH (STATE = ON );
```

Il codice di esempio seguente crea una specifica di audit del database `RDS_DAS_DB_database_spec` e la collega alla specifica di audit del server `RDS_DAS_AUDIT`:

```
USE testDB;
CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec]
     FOR SERVER AUDIT [RDS_DAS_AUDIT]
     ADD ( INSERT, UPDATE, DELETE  
          ON testTable BY testUser )  
     WITH (STATE = ON);
```

Dopo aver configurato le specifiche di audit, assicurati che le specifiche `RDS_DAS_SERVER_AUDIT_SPEC` e `RDS_DAS_DB_<name>` siano impostate sullo stato `ON`. A questo punto i dati di audit possono essere inviati al flusso di attività del database.

# Avvio di un flusso di attività di database
<a name="DBActivityStreams.Enabling"></a>

Quando avvii un flusso di attività per l'istanza database, ogni evento di attività del database configurato nella policy di audit, genera un evento di flusso di attività. Gli eventi di accesso vengono generati da comandi SQL quali `CONNECT` e `SELECT`. Gli eventi di modifica vengono generati da comandi SQL quali `CREATE` e `INSERT`.

**Importante**  
Attivazione di un flusso di attività per un'istanza database Oracle cancella i dati di verifica esistenti. Inoltre revoca i privilegi del percorso di verifica. Quando il flusso è abilitato, RDS per Oracle non può più eseguire le seguenti operazioni:  
Rimozione dei record del percorso di verifica unificata.
Aggiunta, eliminazione o modifica delle policy di verifica unificata.
Aggiornamento dell'ultimo timestamp archiviato.

------
#### [ Console ]

**Come avviare un flusso di attività di database**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Seleziona l'istanza database Amazon RDS per cui desideri abilitare un flusso di attività. In un'implementazione Multi-AZ, avvia il flusso solo sull'istanza database primaria. Il flusso di attività controlla automaticamente sia l'istanza DB principale che quelle in stand-by.

1. In **Actions (Operazioni)**, scegliere **Start activity stream (Avvia flusso di attività)**. 

   Viene visualizzata la finestra **Avvia flusso di attività di database: ***nome*, dove *nome* è la tua istanza RDS.

1. Specificare le seguenti impostazioni:
   + In **AWS KMS key**, scegliere una chiave dall'elenco di AWS KMS keys.

     Amazon RDS utilizza la chiave KMS per crittografare la chiave che a sua volta esegue la crittografia dell'attività del database. Scegliere una chiave KMS diversa dalla chiave di default. Per ulteriori informazioni sulle chiavi di crittografia e AWS KMS, consulta [Che cos'è AWS Key Management Service?](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) nella *Guida per gli sviluppatori di AWS Key Management Service*.
   + Per **Eventi di attività del database** seleziona **Abilita i campi di controllo nativi del motore** per includere nel flusso i campi di controllo specifici del motore.
   + Scegliere **Immediatamente**.

     Selezionando **Subito**, l'istanza RDS viene riavviata immediatamente. Se si sceglie **Durante la finestra di manutenzione successiva**, l'istanza RDS non si riavvia subito. In questo caso, il flusso di attività del database non viene avviato fino alla finestra di manutenzione successiva.

1. Scegli **Start database activity stream** (Avvia flusso di attività di database).

   Lo stato del database mostra che il flusso di attività è in fase di avvio.
**Nota**  
Se ricevi l'errore `You can't start a database activity stream in this configuration`, controlla [Classi di istanza database supportate per i flussi di attività di database](DBActivityStreams.md#DBActivityStreams.Overview.requirements.classes) per vedere se l'istanza RDS utilizza una classe di istanza supportata.

------
#### [ AWS CLI ]

Per avviare flussi di attività del database per un'istanza database, configura il database utilizzando il comando AWS CLI [start-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/start-activity-stream.html).
+ `--resource-arn arn`: specifica l'Amazon Resource Name (ARN) dell'istanza database.
+ `--kms-key-id key`: specifica l'identificatore della chiave KMS per la crittografia dei messaggi nel flusso di attività del database. L'identificatore di chiave AWS KMS è l'ARN della chiave, l'ID chiave, l'ARN dell'alias o il nome alias per la AWS KMS key.
+ `--engine-native-audit-fields-included`: include campi di controllo specifici del motore nel flusso di dati. Per escludere questi campi, specificare `--no-engine-native-audit-fields-included` (predefinito).

L'esempio seguente avvia un flusso di attività del database per un'istanza database in modalità asincrona.

Per Linux, macOS o Unix:

```
aws rds start-activity-stream \
    --mode async \
    --kms-key-id my-kms-key-arn \
    --resource-arn my-instance-arn \
    --engine-native-audit-fields-included \
    --apply-immediately
```

Per Windows:

```
aws rds start-activity-stream ^
    --mode async ^
    --kms-key-id my-kms-key-arn ^
    --resource-arn my-instance-arn ^
    --engine-native-audit-fields-included ^
    --apply-immediately
```

------
#### [ Amazon RDS API ]

Per avviare flussi di attività del database per un’istanza database, configura l’istanza utilizzando l’operazione [StartActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartActivityStream.html).

Richiamare l'operazione con i parametri seguenti:
+ `Region`
+ `KmsKeyId`
+ `ResourceArn`
+ `Mode`
+ `EngineNativeAuditFieldsIncluded`

------

# Modifica di un flusso di attività del database per Amazon RDS
<a name="DBActivityStreams.Modifying"></a>

Quando si avvia il flusso di attività, potrebbe essere necessario personalizzare la policy di audit di Amazon RDS. Per non perdere tempo e dati a causa dell'interruzione del flusso di attività, puoi modificare lo *stato della policy di audit* in una delle seguenti impostazioni:

**Locked (default)** (Bloccato (impostazione predefinita))  
Le policy di audit nel database sono di sola lettura.

**Unlocked** (Sbloccato)  
Le policy di audit nel database sono di lettura/scrittura.

I passaggi di base sono i seguenti:

1. Modifica lo stato della policy di audit in sbloccato.

1. Personalizza la policy di audit.

1. Modifica lo stato della policy di audit in bloccato.

## Console
<a name="DBActivityStreams.Modifying-collapsible-section-E1"></a>

**Per modificare lo stato della policy di audit del flusso di attività**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Per **Actions** (Operazioni), scegli **Modify database activity stream** (Modifica flusso di attività del database). 

   Viene visualizzata la finestra **Modify database activity stream: *name*** (Modifica flusso di attività del database), dove *name* (nome) è l'istanza RDS.

1. Seleziona una delle seguenti opzioni:  
**Locked** (Bloccato)  
Quando si blocca la policy di audit, questa diventa di sola lettura. Non puoi modificare la policy di audit a meno che non sblocchi la policy o interrompi il flusso di attività.  
**Unlocked** (Sbloccato)  
Quando si sblocca la policy di audit, questa diventa di lettura/scrittura. Puoi modificare la policy di audit all'avvio del flusso di attività.

1. Scegli **Modify DB activity stream** (Modifica flusso di attività del database).

   Lo stato del database Amazon RDS mostra **Configurazione del flusso di attività in corso**.

1. (Facoltativo) Scegli il collegamento all'istanza database. Quindi seleziona la scheda **Configurazione**.

   Il campo **Audit policy status** (Stato della policy di audit) mostra uno dei seguenti valori:
   + **Locked** (Bloccato)
   + **Unlocked** (Sbloccato)
   + **Locking policy** (Policy di blocco)
   + **Unlocking policy** (Policy di sblocco)

## AWS CLI
<a name="DBActivityStreams.Modifying-collapsible-section-E2"></a>

Per modificare lo stato del flusso di attività per un'istanza database, utilizza il comando [modify-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-activity-stream.html) della AWS CLI.


****  

| Opzione | Obbligatorio? | Descrizione | 
| --- | --- | --- | 
|  `--resource-arn my-instance-ARN`  |  Sì  |  Il nome della risorsa Amazon (ARN) dell'istanza database RDS.  | 
|  `--audit-policy-state`  |  No  |  Il nuovo stato della policy di audit per il flusso di attività del database sull'istanza: `locked` o `unlocked`.  | 

Nell'esempio seguente la policy di audit viene sbloccata per il flusso di attività avviato su *my-instance-ARN*.

Per Linux, macOS o Unix:

```
aws rds modify-activity-stream \
    --resource-arn my-instance-ARN \
    --audit-policy-state unlocked
```

Per Windows:

```
aws rds modify-activity-stream ^
    --resource-arn my-instance-ARN ^
    --audit-policy-state unlocked
```

Nell'esempio seguente viene descritta l'istanza *my-instance*. L'output di esempio parziale mostra che la policy di audit è sbloccata.

```
aws rds describe-db-instances --db-instance-identifier my-instance

{
    "DBInstances": [
        {
            ...
            "Engine": "oracle-ee",
            ...
            "ActivityStreamStatus": "started",
            "ActivityStreamKmsKeyId": "ab12345e-1111-2bc3-12a3-ab1cd12345e",
            "ActivityStreamKinesisStreamName": "aws-rds-das-db-AB1CDEFG23GHIJK4LMNOPQRST",
            "ActivityStreamMode": "async",
            "ActivityStreamEngineNativeAuditFieldsIncluded": true, 
            "ActivityStreamPolicyStatus": "unlocked",
            ...
        }
    ]
}
```

## API RDS
<a name="DBActivityStreams.Modifying-collapsible-section-E3"></a>

Per modificare lo stato della policy del flusso di attività del database, utilizza l'operazione [ModifyActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyActivityStream.html).

Richiamare l'operazione con i parametri seguenti:
+ `AuditPolicyState`
+ `ResourceArn`

# Recupero dello stato di un flusso di attività del database
<a name="DBActivityStreams.Status"></a>

Puoi recuperare lo stato di un flusso di attività per l'istanza database Amazon RDS tramite la console o la AWS CLI.

## Console
<a name="DBActivityStreams.Status-collapsible-section-S1"></a>

**Come recuperare lo stato di un flusso di attività del database**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegliere **Database** e selezionare il link dell'istanza database.

1. Scegliere la scheda **Configurazione** e selezionare **Flusso di attività di database** per lo stato.

## AWS CLI
<a name="DBActivityStreams.Status-collapsible-section-S2"></a>

È possibile ottenere la configurazione del flusso di attività per un'istanza database come risposta a una richiesta della CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html).

Nell'esempio seguente viene illustrato *my-instance*.

```
aws rds --region my-region describe-db-instances --db-instance-identifier my-db
```

Il seguente esempio mostra una risposta in formato JSON: Sono visualizzati i seguenti campi:
+ `ActivityStreamKinesisStreamName`
+ `ActivityStreamKmsKeyId`
+ `ActivityStreamStatus`
+ `ActivityStreamMode`
+ `ActivityStreamPolicyStatus`



```
{
    "DBInstances": [
        {
            ...
            "Engine": "oracle-ee",
            ...
            "ActivityStreamStatus": "starting",
            "ActivityStreamKmsKeyId": "ab12345e-1111-2bc3-12a3-ab1cd12345e",
            "ActivityStreamKinesisStreamName": "aws-rds-das-db-AB1CDEFG23GHIJK4LMNOPQRST",
            "ActivityStreamMode": "async",
            "ActivityStreamEngineNativeAuditFieldsIncluded": true, 
            "ActivityStreamPolicyStatus": locked",
            ...
        }
    ]
}
```

## API RDS
<a name="DBActivityStreams.Status-collapsible-section-S3"></a>

È possibile ottenere la configurazione del flusso di attività per un database come risposta a un'operazione [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html).

# Arresto di un flusso di attività di database
<a name="DBActivityStreams.Disabling"></a>

Puoi interrompere un flusso di attività utilizzando la console o AWS CLI.

Se elimini l'istanza database Amazon RDS, il flusso di attività viene arrestato e il flusso Amazon Kinesis sottostante viene eliminato automaticamente.

## Console
<a name="DBActivityStreams.Disabling-collapsible-section-D1"></a>

**Per disattivare un flusso di attività**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Scegliere un database per il quale si desidera interrompere il flusso di attività di database.

1. In **Actions (Operazioni)**, scegliere **Stop activity stream (Interrompi flusso di attività)**. Viene visualizzata la finestra **Database Activity Stream (Flusso di attività di database)**.

   1. Scegliere **Immediatamente**.

      Selezionando **Subito**, l'istanza RDS viene riavviata immediatamente. Se si sceglie **Durante la finestra di manutenzione successiva**, l'istanza RDS non si riavvia subito. In questo caso, il flusso di attività del database non viene arrestato fino alla finestra di manutenzione successiva.

   1. Scegli **Continue (Continua)**.

## AWS CLI
<a name="DBActivityStreams.Disabling-collapsible-section-D2"></a>

Per arrestare i flussi di attività di database per il database, configurare l'istanza database utilizzando il comando [stop-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/stop-activity-stream.html) della AWS CLI. Identifica la regione AWS per l'istanza database mediante il parametro `--region`. Il parametro `--apply-immediately` è facoltativo.

Per Linux, macOS o Unix:

```
aws rds --region MY_REGION \
    stop-activity-stream \
    --resource-arn MY_DB_ARN \
    --apply-immediately
```

Per Windows:

```
aws rds --region MY_REGION ^
    stop-activity-stream ^
    --resource-arn MY_DB_ARN ^
    --apply-immediately
```

## API RDS
<a name="DBActivityStreams.Disabling-collapsible-section-D3"></a>

Per interrompere i flussi di attività di database per il database, configura l'istanza database utilizzando l'operazione [StopActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopActivityStream.html). Identifica la regione AWS per l'istanza database mediante il parametro `Region`. Il parametro `ApplyImmediately` è facoltativo.

# Monitoraggio di flussi di attività di database
<a name="DBActivityStreams.Monitoring"></a>

I flussi di attività di database monitorano e segnalano le attività. Il flusso di attività viene raccolto e trasmesso a Amazon Kinesis. Da Kinesis, è possibile monitorare il flusso di attività oppure altri servizi e applicazioni possono utilizzare il flusso di attività per ulteriori analisi. È possibile trovare il nome del flusso Kinesis sottostante utilizzando il comando della AWS CLI `describe-db-instances` o l'operazione `DescribeDBInstances` dell'API RDS.

Amazon RDS gestisce il flusso Kinesis per tuo conto come segue:
+ Amazon RDS crea automaticamente il flusso Kinesis con un periodo di conservazione di 24 ore. 
+  Amazon RDS dimensiona il flusso Kinesis, se necessario. 
+  Se si interrompe il flusso di attività del database o si elimina l'istanza database, Amazon RDS elimina il flusso Kinesis. 

Le seguenti categorie di attività vengono monitorate e inserite nel log di controllo del flusso di attività:
+ **Comandi SQL**: tutti i comandi SQL sono controllati e anche le istruzioni preparate, le funzioni integrate e le funzioni in PL/SQL Le chiamate alle procedure archiviate vengono controllate. Vengono inoltre controllate tutte le istruzioni SQL rilasciate all'interno di procedure o funzioni archiviate.
+ **Altre informazioni di database** – L'attività monitorata include l'istruzione SQL completa, il conteggio righe delle righe interessate da comandi DML, gli oggetti ai quali si accede e il nome del database univoco. I flussi di attività del database monitorano anche le variabili di bind e i parametri della stored procedure. 
**Importante**  
Il testo SQL completo di ogni istruzione è visibile nel registro di controllo del flusso di attività, inclusi eventuali dati sensibili. Tuttavia, le password degli utenti del database vengono omesse se Oracle può stabilirle dal contesto, come nell'istruzione SQL seguente.   

  ```
  ALTER ROLE role-name WITH password
  ```
+ **Informazioni di connessione** – L'attività monitorata include informazioni di sessione e di rete, l'ID di processo del server e i codici di uscita.

Se un flusso di attività restituisce un errore durante il monitoraggio dell'istanza database, riceverai una notifica mediante eventi RDS.

Nelle sezioni seguenti puoi accedere ai flussi di attività del database, eseguirne l’audit ed elaborarli.

**Topics**
+ [Accesso a un flusso di attività da Amazon Kinesis](DBActivityStreams.KinesisAccess.md)
+ [Contenuto ed esempi di log di audit per i flussi di attività del database](DBActivityStreams.AuditLog.md)
+ [Array JSON databaseActivityEventList per flussi di attività del database](DBActivityStreams.AuditLog.databaseActivityEventList.md)
+ [Elaborazione di un flusso di attività del database utilizzando l'SDK AWS](DBActivityStreams.CodeExample.md)

# Accesso a un flusso di attività da Amazon Kinesis
<a name="DBActivityStreams.KinesisAccess"></a>

Quando abiliti un flusso di attività per un database, viene creato automaticamente un flusso Kinesis. Da Kinesis, puoi monitorare l'attività del database in tempo reale. Per analizzare ulteriormente l'attività del database, puoi connettere il flusso Kinesis ad applicazioni consumer. È inoltre possibile connettere il flusso alle applicazioni di gestione della conformità, ad esempio Security Guardium IBM o SecureSphere Database Audit and Protection Imperva.

Puoi accedere al tuo flusso Kinesis dalla console RDS o dalla console Kinesis.

**Come accedere a un flusso di attività da Kinesis utilizzando la console RDS**

1. Apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)**.

1. Seleziona l'istanza database Amazon RDS in cui hai avviato un flusso di attività.

1. Scegliere **Configuration (Configurazione)**.

1. In **Database activity stream** (Flusso di attività del database), scegli il collegamento sotto **Kinesis stream** (Flusso Kinesis).

1. Nella console Kinesis, scegli **Monitoring** (Monitoraggio) per iniziare l'osservazione dell'attività del database.

**Per accedere a un flusso di attività da Kinesis utilizzando la console Kinesis**

1. Aprire la console Kinesis all'indirizzo [https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis).

1. Scegliere il flusso di attività dall'elenco di flussi Kinesis.

   Il nome di un flusso di attività include il prefisso `aws-rds-das-db-` seguito dall'ID risorsa del database. Di seguito è riportato un esempio. 

   ```
   aws-rds-das-db-NHVOV4PCLWHGF52NP
   ```

   Per utilizzare la console Amazon RDS per trovare l'ID risorsa per il database, scegli l'istanza database dall'elenco di database, quindi seleziona la scheda **Configuration (Configurazione)**.

   Per utilizzare la AWS CLI per trovare il nome del flusso Kinesis completo per un flusso di attività, utilizzare una richiesta CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) e prendere nota del valore di `ActivityStreamKinesisStreamName` nella risposta.

1. Scegliere **Monitoring (Monitoraggio)** per iniziare l'osservazione dell'attività di database.

Per ulteriori informazioni sull'utilizzo di Amazon Kinesis, consulta [Che cos'è Amazon Kinesis Data Streams?](https://docs.aws.amazon.com/streams/latest/dev/introduction.html).

# Contenuto ed esempi di log di audit per i flussi di attività del database
<a name="DBActivityStreams.AuditLog"></a>

Gli eventi monitorati sono rappresentati nel flusso di attività del database come stringhe JSON. La struttura è costituita da un oggetto JSON contenente un `DatabaseActivityMonitoringRecord`, che a sua volta contiene un array `databaseActivityEventList` di eventi attività. 

**Nota**  
Per i flussi di attività del database, l’array JSON `paramList` non include valori null dalle applicazioni Hibernate.

**Topics**
+ [Esempi di log di verifica per un flusso di attività](#DBActivityStreams.AuditLog.Examples)
+ [DatabaseActivityMonitoringRecords Oggetto JSON](#DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords)
+ [databaseActivityEvents Oggetto JSON](#DBActivityStreams.AuditLog.databaseActivityEvents)

## Esempi di log di verifica per un flusso di attività
<a name="DBActivityStreams.AuditLog.Examples"></a>

Di seguito sono riportati registri di controllo JSON decrittografati di esempio di record di eventi attività.

**Example Registrazione degli eventi di attività di**  
Il seguente record di evento di attività mostra un accesso con l'utilizzo di un'istruzione SQL `CONNECT` (`command`) mediante un client JDBC Thin (`clientApplication`) per il database Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "JDBC Thin Client",
    "command": "LOGON",
    "commandText": null,
    "dbid": "0123456789",
    "databaseName": "ORCL",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:15:36.233787",
    "netProtocol": "tcp",
    "objectName": null,
    "objectType": null,
    "paramList": [],
    "pid": 17904,
    "remoteHost": "123.456.789.012",
    "remotePort": "25440",
    "rowCount": null,
    "serverHost": "987.654.321.098",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 987654321,
    "startTime": null,
    "statementId": 1,
    "substatementId": null,
    "transactionId": "0000000000000000",
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": "CREATE SESSION",
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DBID": 123456789
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((ADDRESS\u003d(PROTOCOL\u003dtcp)(HOST\u003d205.251.233.183)(PORT\u003d25440))));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "a1b2c3d4e5f6.amazon.com",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "unknown",
        "OS_USERNAME": "sumepate",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 1,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5124715
    }
}
```
Il seguente record di evento di attività mostra un errore di accesso per il database SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "LOGIN",
            "clientApplication": "Microsoft SQL Server Management Studio",
            "command": "LOGIN FAILED",
            "commandText": "Login failed for user 'test'. Reason: Password did not match that for the login provided. [CLIENT: local-machine]",
            "databaseName": "",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 0,
            "logTime": "2022-10-06 21:34:42.7113072+00",
            "netProtocol": null,
            "objectName": "",
            "objectType": "LOGIN",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 0,
            "startTime": null,
            "statementId": "0x1eb0d1808d34a94b9d3dcf5432750f02",
            "substatementId": 1,
            "transactionId": "0",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 0,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "",
                "target_server_principal_name": "",
                "schema_name": "",
                "is_column_permission": false,
                "object_id": 0,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "<action_info "xmlns=\"http://schemas.microsoft.com/sqlserver/2008/sqlaudit_data\"><pooled_connection>0</pooled_connection><error>0x00004818</error><state>8</state><address>local machine</address><PasswordFirstNibbleHash>B</PasswordFirstNibbleHash></action_info>"-->,
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000000",
                "data_sensitivity_information": "",
                "session_server_principal_name": "",
                "connection_id": "98B4F537-0F82-49E3-AB08-B9D33B5893EF",
                "audit_schema_version": 1,
                "database_principal_id": 0,
                "server_principal_sid": null,
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```
Se un flusso di attività del database non è abilitato, l'ultimo campo nel documento JSON è `"engineNativeAuditFields": { }`. 

**Example Record di evento attività di un'istruzione CREATE TABLE**  
Il seguente esempio mostra un evento `CREATE TABLE` per il database Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "sqlplus@ip-12-34-5-678 (TNS V1-V3)",
    "command": "CREATE TABLE",
    "commandText": "CREATE TABLE persons(\n    person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,\n    first_name VARCHAR2(50) NOT NULL,\n    last_name VARCHAR2(50) NOT NULL,\n    PRIMARY KEY(person_id)\n)",
    "dbid": "0123456789",
    "databaseName": "ORCL",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:22:49.535239",
    "netProtocol": "beq",
    "objectName": "PERSONS",
    "objectType": "TEST",
    "paramList": [],
    "pid": 17687,
    "remoteHost": "123.456.789.0",
    "remotePort": null,
    "rowCount": null,
    "serverHost": "987.654.321.01",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 1234567890,
    "startTime": null,
    "statementId": 43,
    "substatementId": null,
    "transactionId": "090011007F0D0000",
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": "CREATE SEQUENCE, CREATE TABLE",
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((PROTOCOL\u003dbeq)(HOST\u003d123.456.789.0)));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "ip-10-13-0-122",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "pts/1",
        "OS_USERNAME": "rdsdb",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 12,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5133083
    }
}
```
Il seguente esempio mostra un evento `CREATE TABLE` per il database SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "SCHEMA",
            "clientApplication": "Microsoft SQL Server Management Studio - Query",
            "command": "ALTER",
            "commandText": "Create table [testDB].[dbo].[TestTable2](\r\ntextA varchar(6000),\r\n    textB varchar(6000)\r\n)",
            "databaseName": "testDB",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 1,
            "logTime": "2022-10-06 21:44:38.4120677+00",
            "netProtocol": null,
            "objectName": "dbo",
            "objectType": "SCHEMA",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 84,
            "startTime": null,
            "statementId": "0x5178d33d56e95e419558b9607158a5bd",
            "substatementId": 1,
            "transactionId": "4561864",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 2,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "dbo",
                "target_server_principal_name": "",
                "schema_name": "",
                "is_column_permission": false,
                "object_id": 1,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "",
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000000",
                "data_sensitivity_information": "",
                "session_server_principal_name": "test",
                "connection_id": "EE1FE3FD-EF2C-41FD-AF45-9051E0CD983A",
                "audit_schema_version": 1,
                "database_principal_id": 1,
                "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000",
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```

**Example Record di evento attività di un'istruzione SELECT**  
Il seguente esempio mostra un evento `SELECT` per il database Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "sqlplus@ip-12-34-5-678 (TNS V1-V3)",
    "command": "SELECT",
    "commandText": "select count(*) from persons",
    "databaseName": "1234567890",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:25:18.850375",
    "netProtocol": "beq",
    "objectName": "PERSONS",
    "objectType": "TEST",
    "paramList": [],
    "pid": 17687,
    "remoteHost": "123.456.789.0",
    "remotePort": null,
    "rowCount": null,
    "serverHost": "987.654.321.09",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 1080639707,
    "startTime": null,
    "statementId": 44,
    "substatementId": null,
    "transactionId": null,
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": null,
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((PROTOCOL\u003dbeq)(HOST\u003d123.456.789.0)));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "ip-12-34-5-678",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "pts/1",
        "OS_USERNAME": "rdsdb",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 13,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5136972
    }
}
```
Il seguente esempio mostra un evento `SELECT` per il database SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "TABLE",
            "clientApplication": "Microsoft SQL Server Management Studio - Query",
            "command": "SELECT",
            "commandText": "select * from [testDB].[dbo].[TestTable]",
            "databaseName": "testDB",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 1,
            "logTime": "2022-10-06 21:24:59.9422268+00",
            "netProtocol": null,
            "objectName": "TestTable",
            "objectType": "TABLE",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 62,
            "startTime": null,
            "statementId": "0x03baed90412f564fad640ebe51f89b99",
            "substatementId": 1,
            "transactionId": "4532935",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 2,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "dbo",
                "target_server_principal_name": "",
                "schema_name": "dbo",
                "is_column_permission": true,
                "object_id": 581577110,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "",
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000001",
                "data_sensitivity_information": "",
                "session_server_principal_name": "test",
                "connection_id": "AD3A5084-FB83-45C1-8334-E923459A8109",
                "audit_schema_version": 1,
                "database_principal_id": 1,
                "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000",
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```

## DatabaseActivityMonitoringRecords Oggetto JSON
<a name="DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords"></a>

I record di eventi dell'attività del database si trovano in un oggetto JSON che contiene le seguenti informazioni.


****  

| Campo JSON | Tipo di dati | Descrizione | 
| --- | --- | --- | 
|  `type`  | stringa |  Il tipo di record JSON. Il valore è `DatabaseActivityMonitoringRecords`.  | 
| version | stringa |  La versione dei record di monitoraggio delle attività del database. Oracle DB utilizza la versione 1.3 e SQL Server utilizza la versione 1.4. Queste versioni del motore introducono l'oggetto JSON engineNativeAuditFields.  | 
|  [databaseActivityEvents](#DBActivityStreams.AuditLog.databaseActivityEvents)  | stringa |  Un oggetto JSON contenente gli eventi di attività.  | 
| key | stringa | Una chiave di crittografia utilizzata per decrittare [Array JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md)  | 

## databaseActivityEvents Oggetto JSON
<a name="DBActivityStreams.AuditLog.databaseActivityEvents"></a>

L'oggetto JSON `databaseActivityEvents` contiene le seguenti informazioni.

### Campi di primo livello nel record JSON
<a name="DBActivityStreams.AuditLog.topLevel"></a>

 Ogni evento nel registro di controllo viene racchiuso in un record in formato JSON. Questo record contiene i seguenti campi. 

**type**  
 Questo campo ha sempre il valore `DatabaseActivityMonitoringRecords`. 

**versione**  
 Questo campo rappresenta la versione del protocollo o del contratto di dati del flusso di attività del database. Definisce quali campi sono disponibili.

**databaseActivityEvents**  
 Stringa crittografata che rappresenta uno o più eventi di attività. È rappresentato come un array di byte base64. Quando si decrittografa la stringa, il risultato è un record in formato JSON con campi come illustrato negli esempi di questa sezione.

**key**  
 Chiave dati crittografata utilizzata per crittografare la stringa `databaseActivityEvents`. È lo stesso AWS KMS key che hai fornito quando hai avviato il flusso di attività del database.

 Nell'esempio seguente viene illustrato il formato di questo record.

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.3",
  "databaseActivityEvents":"encrypted audit records",
  "key":"encrypted key"
}
```

```
           "type":"DatabaseActivityMonitoringRecords",
           "version":"1.4",
           "databaseActivityEvents":"encrypted audit records",
           "key":"encrypted key"
```

Per decrittografare il contenuto del campo `databaseActivityEvents`, procedere come segue:

1.  Decrittare il valore nel campo `key` JSON utilizzando la chiave KMS fornita all'avvio del flusso di attività del database. In questo modo viene restituita la chiave di crittografia dei dati in testo non crittografato. 

1.  Decodificare il valore nel campo `databaseActivityEvents` JSON con base64 per ottenere il testo cifrato, in formato binario, del payload di controllo. 

1.  Decifrare il testo cifrato binario con la chiave di crittografia dei dati decodificata nel primo passaggio. 

1.  Decomprimere il payload decrittografato. 
   +  Il payload crittografato è nel campo `databaseActivityEvents`. 
   +  Il campo `databaseActivityEventList` contiene una matrice di record di controllo. I campi `type` nella matrice possono essere `record` o `heartbeat`. 

Il record dell'evento attività registro di controllo è un oggetto JSON che contiene le seguenti informazioni.


****  

| Campo JSON | Tipo di dati | Descrizione | 
| --- | --- | --- | 
|  `type`  | stringa |  Il tipo di record JSON. Il valore è `DatabaseActivityMonitoringRecord`.  | 
| instanceId | stringa | Identificatore della risorsa istanza database. Corrisponde all'attributo di istanza database DbiResourceId. | 
|  [Array JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md)   | stringa |  Matrice di record di controllo delle attività o messaggi heartbeat.  | 

# Array JSON databaseActivityEventList per flussi di attività del database
<a name="DBActivityStreams.AuditLog.databaseActivityEventList"></a>

Il payload del registro di controllo è un array JSON `databaseActivityEventList` crittografato. La tabella riporta in ordine alfabetico i campi per ogni evento di attività nella matrice `DatabaseActivityEventList` decrittata di un log di verifica. 

Quando la verifica unificata è abilitata in Oracle Database, i record di verifica vengono popolati in questo nuovo percorso di verifica. La visualizzazione `UNIFIED_AUDIT_TRAIL` mostra i record di verifica in formato tabulare recuperando i record di verifica dal percorso di verifica. Quando si avvia un flusso di attività del database, una colonna in `UNIFIED_AUDIT_TRAIL` viene mappata a un campo nella matrice `databaseActivityEventList`.

**Importante**  
Tale struttura di eventi è soggetta a modifiche. Amazon RDS potrebbe aggiungere nuovi campi agli eventi di attività in futuro. Nelle applicazioni che analizzano i dati JSON, assicurarsi che il codice possa ignorare o eseguire le azioni appropriate per i nomi di campo sconosciuti. 

## Campi databaseActivityEventList per Amazon RDS for Oracle
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.ro"></a>

Di seguito sono riportati i campi di `databaseActivityEventList` per Amazon RDS per Oracle.


| Campo | Tipo di dati | Origine | Descrizione | 
| --- | --- | --- | --- | 
|  `class`  |  stringa  |  Colonna `AUDIT_TYPE` in `UNIFIED_AUDIT_TRAIL`  |  La classe dell'evento attività. Questo corrisponde alla colonna `AUDIT_TYPE` nella visualizzazione `UNIFIED_AUDIT_TRAIL`. I valori validi per Amazon RDS for Oracle sono i seguenti: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html) Per ulteriori informazioni, consulta [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/UNIFIED_AUDIT_TRAIL.html#GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D) nella documentazione di Oracle.  | 
|  `clientApplication`  |  stringa  |  `CLIENT_PROGRAM_NAME` in `UNIFIED_AUDIT_TRAIL`  |  L'applicazione utilizzata dal client per eseguire la connessione come segnalato dal client. Il client non deve fornire queste informazioni, pertanto il valore può essere nullo. Un valore di esempio è `JDBC Thin Client`.  | 
|  `command`  |  stringa  |  Colonna `ACTION_NAME` in `UNIFIED_AUDIT_TRAIL`  |  Nome dell'azione eseguita dall'utente. Per comprendere l'azione completa, leggere sia il nome del comando che il valore `AUDIT_TYPE`. Un valore di esempio è `ALTER DATABASE`.  | 
|  `commandText`  |  stringa  |  Colonna `SQL_TEXT` in `UNIFIED_AUDIT_TRAIL`  |  L'istruzione SQL associata all'evento. Un valore di esempio è `ALTER DATABASE BEGIN BACKUP`.  | 
|  `databaseName`  |  stringa  |  Colonna `NAME` in `V$DATABASE`  |  Nome del database.  | 
|  `dbid`  |  numero  |  Colonna `DBID` in `UNIFIED_AUDIT_TRAIL`  |  Identificatore numerico per il database. Un valore di esempio è `1559204751`.  | 
|  `dbProtocol`  |  stringa  |  N/A  |  Il protocollo di database. In questa beta, il valore è `oracle`.  | 
|  `dbUserName`  |  stringa  |  Colonna `DBUSERNAME` in `UNIFIED_AUDIT_TRAIL`  |  Il nome dell'utente del database le cui azioni sono state verificate. Un valore di esempio è `RDSADMIN`.  | 
|  `endTime`  |  stringa  |  N/A  |  Questo campo non viene utilizzato per RDS for Oracle ed è sempre null.  | 
|  `engineNativeAuditFields`  |  oggetto  |  `UNIFIED_AUDIT_TRAIL`  |  Per impostazione predefinita, è vuoto. Quando si avvia il flusso di attività con l'opzione `--engine-native-audit-fields-included`, questo oggetto include le seguenti colonne e i relativi valori: <pre>ADDITIONAL_INFO<br />APPLICATION_CONTEXTS<br />AUDIT_OPTION<br />AUTHENTICATION_TYPE<br />CLIENT_IDENTIFIER<br />CURRENT_USER<br />DBLINK_INFO<br />DBPROXY_USERNAME<br />DIRECT_PATH_NUM_COLUMNS_LOADED<br />DP_BOOLEAN_PARAMETERS1<br />DP_TEXT_PARAMETERS1<br />DV_ACTION_CODE<br />DV_ACTION_NAME<br />DV_ACTION_OBJECT_NAME<br />DV_COMMENT<br />DV_EXTENDED_ACTION_CODE<br />DV_FACTOR_CONTEXT<br />DV_GRANTEE<br />DV_OBJECT_STATUS<br />DV_RETURN_CODE<br />DV_RULE_SET_NAME<br />ENTRY_ID<br />EXCLUDED_OBJECT<br />EXCLUDED_SCHEMA<br />EXCLUDED_USER<br />EXECUTION_ID<br />EXTERNAL_USERID<br />FGA_POLICY_NAME<br />GLOBAL_USERID<br />INSTANCE_ID<br />KSACL_SERVICE_NAME<br />KSACL_SOURCE_LOCATION<br />KSACL_USER_NAME<br />NEW_NAME<br />NEW_SCHEMA<br />OBJECT_EDITION<br />OBJECT_PRIVILEGES<br />OLS_GRANTEE<br />OLS_LABEL_COMPONENT_NAME<br />OLS_LABEL_COMPONENT_TYPE<br />OLS_MAX_READ_LABEL<br />OLS_MAX_WRITE_LABEL<br />OLS_MIN_WRITE_LABEL<br />OLS_NEW_VALUE<br />OLS_OLD_VALUE<br />OLS_PARENT_GROUP_NAME<br />OLS_POLICY_NAME<br />OLS_PRIVILEGES_GRANTED<br />OLS_PRIVILEGES_USED<br />OLS_PROGRAM_UNIT_NAME<br />OLS_STRING_LABEL<br />OS_USERNAME<br />PROTOCOL_ACTION_NAME<br />PROTOCOL_MESSAGE<br />PROTOCOL_RETURN_CODE<br />PROTOCOL_SESSION_ID<br />PROTOCOL_USERHOST<br />PROXY_SESSIONID<br />RLS_INFO<br />RMAN_DEVICE_TYPE<br />RMAN_OBJECT_TYPE<br />RMAN_OPERATION<br />RMAN_SESSION_RECID<br />RMAN_SESSION_STAMP<br />ROLE<br />SCN<br />SYSTEM_PRIVILEGE<br />SYSTEM_PRIVILEGE_USED<br />TARGET_USER<br />TERMINAL<br />UNIFIED_AUDIT_POLICIES<br />USERHOST<br />XS_CALLBACK_EVENT_TYPE<br />XS_COOKIE<br />XS_DATASEC_POLICY_NAME<br />XS_ENABLED_ROLE<br />XS_ENTITY_TYPE<br />XS_INACTIVITY_TIMEOUT<br />XS_NS_ATTRIBUTE<br />XS_NS_ATTRIBUTE_NEW_VAL<br />XS_NS_ATTRIBUTE_OLD_VAL<br />XS_NS_NAME<br />XS_PACKAGE_NAME<br />XS_PROCEDURE_NAME<br />XS_PROXY_USER_NAME<br />XS_SCHEMA_NAME<br />XS_SESSIONID<br />XS_TARGET_PRINCIPAL_NAME<br />XS_USER_NAME</pre> Per ulteriori informazioni, consulta [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/database/121/REFRN/GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D.htm#REFRN29162) nella documentazione di Oracle Database.  | 
|  `errorMessage`  |  stringa  |  N/A  |  Questo campo non viene utilizzato per RDS for Oracle ed è sempre null.  | 
|  `exitCode`  |  numero  |  Colonna `RETURN_CODE` in `UNIFIED_AUDIT_TRAIL`  |  Codice di errore di Oracle Database generato dall'operazione. Se l'azione ha avuto esito positivo, il valore è `0`.  | 
|  `logTime`  |  stringa  |  Colonna `EVENT_TIMESTAMP_UTC` in `UNIFIED_AUDIT_TRAIL`  |  Timestamp della creazione della voce del percorso di verifica. Un valore di esempio è `2020-11-27 06:56:14.981404`.  | 
|  `netProtocol`  |  stringa  |  Colonna `AUTHENTICATION_TYPE` in `UNIFIED_AUDIT_TRAIL`  |  Il protocollo di comunicazione di rete. Un valore di esempio è `TCP`.  | 
|  `objectName`  |  stringa  |  Colonna `OBJECT_NAME` in `UNIFIED_AUDIT_TRAIL`  |  Il nome dell'oggetto interessato dall'operazione. Un valore di esempio è `employees`.  | 
|  `objectType`  |  stringa  |  Colonna `OBJECT_SCHEMA` in `UNIFIED_AUDIT_TRAIL`  |  Il nome dello schema dell'oggetto interessato dall'operazione. Un valore di esempio è `hr`.  | 
|  `paramList`  |  elenco  |  Colonna `SQL_BINDS` in `UNIFIED_AUDIT_TRAIL`  |  L'elenco delle variabili di bind, se presenti, associate a `SQL_TEXT`. Un valore di esempio è `parameter_1,parameter_2`.  | 
|  `pid`  |  numero  |  Colonna `OS_PROCESS` in `UNIFIED_AUDIT_TRAIL`  |  L'identificatore del processo del sistema operativo del processo di database Oracle. Un valore di esempio è `22396`.  | 
|  `remoteHost`  |  stringa  |  Colonna `AUTHENTICATION_TYPE` in `UNIFIED_AUDIT_TRAIL`  |  L'indirizzo IP o il nome dell'host da cui è stata generata la sessione. Un valore di esempio è `123.456.789.123`.  | 
|  `remotePort`  |  stringa  |  Colonna `AUTHENTICATION_TYPE` in `UNIFIED_AUDIT_TRAIL`  |  Il numero di porta del client. Un valore tipico negli ambienti Oracle Database è `1521`.  | 
|  `rowCount`  |  numero  |  N/A  |  Questo campo non viene utilizzato per RDS for Oracle ed è sempre null.  | 
|  `serverHost`  |  stringa  |  Host database  |  L'indirizzo IP dell'host del server di database. Un valore di esempio è `123.456.789.123`.  | 
|  `serverType`  |  stringa  |  N/A  |  Il tipo di server di database. Il valore è sempre `ORACLE`.  | 
|  `serverVersion`  |  stringa  |  Host database  |  La versione, il Release Update (RU) e la Release Update Revision (RUR) di Amazon RDS for Oracle. Un valore di esempio è `19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3`.  | 
|  `serviceName`  |  stringa  |  Host database  |  Il nome del servizio Un valore di esempio è `oracle-ee`.   | 
|  `sessionId`  |  numero  |  Colonna `SESSIONID` in `UNIFIED_AUDIT_TRAIL`  |  L'identificatore di sessione della verifica. Un esempio è `1894327130`.  | 
|  `startTime`  |  stringa  |  N/A  |  Questo campo non viene utilizzato per RDS for Oracle ed è sempre null.  | 
|  `statementId`  |  numero  |  Colonna `STATEMENT_ID` in `UNIFIED_AUDIT_TRAIL`  |  ID numerico per ogni esecuzione di istruzione. Un'istruzione può causare molte azioni. Un valore di esempio è `142197`.  | 
|  `substatementId`  |  N/D  |  N/D  |  Questo campo non viene utilizzato per RDS for Oracle ed è sempre null.  | 
|  `transactionId`  |  stringa  |  Colonna `TRANSACTION_ID` in `UNIFIED_AUDIT_TRAIL`  |  L'identificatore della transazione in cui l'oggetto viene modificato. Un valore di esempio è `02000800D5030000`.  | 

## Campi databaseActivityEventList per Amazon RDS per SQL Server
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.rss"></a>

Di seguito sono riportati i campi di `databaseActivityEventList` per Amazon RDS per SQL Server.


| Campo | Tipo di dati | Origine | Descrizione | 
| --- | --- | --- | --- | 
|  `class`  |  stringa  |  ` sys.fn_get_audit_file.class_type` mappato a `sys.dm_audit_class_type_map.class_type_desc`  |  La classe dell'evento attività. Per ulteriori informazioni, consulta [Controllo in SQL Server (motore del database)](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver16) nella documentazione di Microsoft.  | 
|  `clientApplication`  |  stringa  |  `sys.fn_get_audit_file.application_name`  |  L'applicazione a cui il client si connette come indicato dal client (SQL Server versione 14 e successive). Questo campo è nullo in SQL Server versione 13.  | 
|  `command`  |  stringa  |  `sys.fn_get_audit_file.action_id` mappato a `sys.dm_audit_actions.name`  |  Categoria generale dell'istruzione SQL. I valori di questo campo dipendono dal valore della classe.  | 
|  `commandText`  |  stringa  |  `sys.fn_get_audit_file.statement`  |  Questo campo indica l'istruzione SQL.  | 
|  `databaseName`  |  stringa  |  `sys.fn_get_audit_file.database_name`  |  Nome del database.  | 
|  `dbProtocol`  |  stringa  |  N/A  |  Il protocollo di database. Il valore è `SQLSERVER`.  | 
|  `dbUserName`  |  stringa  |  `sys.fn_get_audit_file.server_principal_name`  |  L'utente del database per l'autenticazione del client.  | 
|  `endTime`  |  stringa  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `engineNativeAuditFields`  |  oggetto  |  Ogni campo presente in `sys.fn_get_audit_file` che non è elencato in questa colonna.  |  Per impostazione predefinita, è vuoto. Quando avvii il flusso di attività con l'opzione `--engine-native-audit-fields-included`, questo oggetto include altri campi di controllo nativi del motore, che non vengono restituiti da questa mappa JSON.  | 
|  `errorMessage`  |  stringa  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `exitCode`  |  integer  |  `sys.fn_get_audit_file.succeeded`  |  Indica se l'azione che ha avviato l'evento è stata completata. Questo campo non può essere nullo. Per tutti gli eventi, tranne quelli di accesso, questo campo indica se il controllo delle autorizzazioni è riuscito o meno, ma non se l'operazione è riuscita o meno. I valori includono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
|  `logTime`  |  stringa  |  `sys.fn_get_audit_file.event_time`  |  Il timestamp dell'evento registrato da SQL Server.  | 
|  `netProtocol`  |  stringa  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `objectName`  |  stringa  |  `sys.fn_get_audit_file.object_name`  |  Il nome dell'oggetto di database se l'istruzione SQL viene eseguita su un oggetto.  | 
|  `objectType`  |  stringa  |  `sys.fn_get_audit_file.class_type` mappato a `sys.dm_audit_class_type_map.class_type_desc`  |  Il tipo di oggetto di database se l'istruzione SQL viene eseguita su un oggetto.  | 
|  `paramList`  |  stringa  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `pid`  |  integer  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `remoteHost`  |  stringa  |  `sys.fn_get_audit_file.client_ip`  |  L'indirizzo IP o il nome host del client che ha emesso l'istruzione SQL (SQL Server versione 14 e successive). Questo campo è nullo in SQL Server versione 13.  | 
|  `remotePort`  |  integer  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `rowCount`  |  integer  |  `sys.fn_get_audit_file.affected_rows`  |  Il numero di righe della tabella interessate dall'istruzione SQL (SQL Server versione 14 e successive). Questo campo è in SQL Server versione 13.  | 
|  `serverHost`  |  stringa  |  Host database  |  L'indirizzo IP del server di database di host.  | 
|  `serverType`  |  stringa  |  N/A  |  Il tipo di server di database. Il valore è `SQLSERVER`.  | 
|  `serverVersion`  |  stringa  |  Host database  |  La versione di server di database, ad esempio 15.00.4073.23.v1.R1 per SQL Server 2017.  | 
|  `serviceName`  |  stringa  |  Host database  |  Il nome del servizio Un valore di esempio è `sqlserver-ee`.  | 
|  `sessionId`  |  integer  |  `sys.fn_get_audit_file.session_id`  |  Identificatore univoco della sessione.  | 
|  `startTime`  |  stringa  |  N/A  |  Questo campo non è utilizzato da Amazon RDS per SQL Server e il valore è nullo.  | 
|  `statementId`  |  stringa  |  `sys.fn_get_audit_file.sequence_group_id`  |  Identificatore univoco per l'istruzione SQL del client. L'identificatore è diverso per ogni evento generato. Un valore di esempio è `0x38eaf4156267184094bb82071aaab644`.  | 
|  `substatementId`  |  integer  |  `sys.fn_get_audit_file.sequence_number`  |  Identificatore per determinare il numero di sequenza di una dichiarazione. Questo identificatore è utile quando i record di grandi dimensioni vengono suddivisi in più record.  | 
|  `transactionId`  |  integer  |  `sys.fn_get_audit_file.transaction_id`  |  Identificatore di una transazione. Se non ci sono transazioni attive, il valore è zero.  | 
|  `type`  |  stringa  |  Flussi di attività di database generati  |  Tipo di evento. I valori sono `record` o `heartbeat`.  | 

# Elaborazione di un flusso di attività del database utilizzando l'SDK AWS
<a name="DBActivityStreams.CodeExample"></a>

Puoi elaborare un flusso di attività a livello di programmazione utilizzando l'SDK AWS. Di seguito sono riportati esempi Java e Python completamente funzionanti dell'utilizzo dei record dei flussi di attività del database per l'abilitazione basata sull'istanza.

------
#### [ Java ]

```
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.zip.GZIPInputStream;

import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.encryptionsdk.AwsCrypto;
import com.amazonaws.encryptionsdk.CryptoInputStream;
import com.amazonaws.encryptionsdk.jce.JceMasterKey;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.InvalidStateException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ShutdownException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ThrottlingException;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessor;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorCheckpointer;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorFactory;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.InitialPositionInStream;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShutdownReason;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.Builder;
import com.amazonaws.services.kinesis.model.Record;
import com.amazonaws.services.kms.AWSKMS;
import com.amazonaws.services.kms.AWSKMSClientBuilder;
import com.amazonaws.services.kms.model.DecryptRequest;
import com.amazonaws.services.kms.model.DecryptResult;
import com.amazonaws.util.Base64;
import com.amazonaws.util.IOUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.SerializedName;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

public class DemoConsumer {

    private static final String STREAM_NAME = "aws-rds-das-[instance-external-resource-id]"; // aws-rds-das-db-ABCD123456
    private static final String APPLICATION_NAME = "AnyApplication"; //unique application name for dynamo table generation that holds kinesis shard tracking
    private static final String AWS_ACCESS_KEY = "[AWS_ACCESS_KEY_TO_ACCESS_KINESIS]";
    private static final String AWS_SECRET_KEY = "[AWS_SECRET_KEY_TO_ACCESS_KINESIS]";
    private static final String RESOURCE_ID = "[external-resource-id]"; // db-ABCD123456
    private static final String REGION_NAME = "[region-name]"; //us-east-1, us-east-2...
    private static final BasicAWSCredentials CREDENTIALS = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);
    private static final AWSStaticCredentialsProvider CREDENTIALS_PROVIDER = new AWSStaticCredentialsProvider(CREDENTIALS);

    private static final AwsCrypto CRYPTO = new AwsCrypto();
    private static final AWSKMS KMS = AWSKMSClientBuilder.standard()
            .withRegion(REGION_NAME)
            .withCredentials(CREDENTIALS_PROVIDER).build();

    class Activity {
        String type;
        String version;
        String databaseActivityEvents;
        String key;
    }

    class ActivityEvent {
        @SerializedName("class") String _class;
        String clientApplication;
        String command;
        String commandText;
        String databaseName;
        String dbProtocol;
        String dbUserName;
        String endTime;
        String errorMessage;
        String exitCode;
        String logTime;
        String netProtocol;
        String objectName;
        String objectType;
        List<String> paramList;
        String pid;
        String remoteHost;
        String remotePort;
        String rowCount;
        String serverHost;
        String serverType;
        String serverVersion;
        String serviceName;
        String sessionId;
        String startTime;
        String statementId;
        String substatementId;
        String transactionId;
        String type;
    }

    class ActivityRecords {
        String type;
        String clusterId; // note that clusterId will contain an empty string on RDS Oracle and RDS SQL Server
        String instanceId;
        List<ActivityEvent> databaseActivityEventList;
    }

    static class RecordProcessorFactory implements IRecordProcessorFactory {
        @Override
        public IRecordProcessor createProcessor() {
            return new RecordProcessor();
        }
    }

    static class RecordProcessor implements IRecordProcessor {

        private static final long BACKOFF_TIME_IN_MILLIS = 3000L;
        private static final int PROCESSING_RETRIES_MAX = 10;
        private static final long CHECKPOINT_INTERVAL_MILLIS = 60000L;
        private static final Gson GSON = new GsonBuilder().serializeNulls().create();

        private static final Cipher CIPHER;
        static {
            Security.insertProviderAt(new BouncyCastleProvider(), 1);
            try {
                CIPHER = Cipher.getInstance("AES/GCM/NoPadding", "BC");
            } catch (NoSuchAlgorithmException | NoSuchPaddingException | NoSuchProviderException e) {
                throw new ExceptionInInitializerError(e);
            }
        }

        private long nextCheckpointTimeInMillis;

        @Override
        public void initialize(String shardId) {
        }

        @Override
        public void processRecords(final List<Record> records, final IRecordProcessorCheckpointer checkpointer) {
            for (final Record record : records) {
                processSingleBlob(record.getData());
            }

            if (System.currentTimeMillis() > nextCheckpointTimeInMillis) {
                checkpoint(checkpointer);
                nextCheckpointTimeInMillis = System.currentTimeMillis() + CHECKPOINT_INTERVAL_MILLIS;
            }
        }

        @Override
        public void shutdown(IRecordProcessorCheckpointer checkpointer, ShutdownReason reason) {
            if (reason == ShutdownReason.TERMINATE) {
                checkpoint(checkpointer);
            }
        }

        private void processSingleBlob(final ByteBuffer bytes) {
            try {
                // JSON $Activity
                final Activity activity = GSON.fromJson(new String(bytes.array(), StandardCharsets.UTF_8), Activity.class);

                // Base64.Decode
                final byte[] decoded = Base64.decode(activity.databaseActivityEvents);
                final byte[] decodedDataKey = Base64.decode(activity.key);

                Map<String, String> context = new HashMap<>();
                context.put("aws:rds:db-id", RESOURCE_ID);

                // Decrypt
                final DecryptRequest decryptRequest = new DecryptRequest()
                        .withCiphertextBlob(ByteBuffer.wrap(decodedDataKey)).withEncryptionContext(context);
                final DecryptResult decryptResult = KMS.decrypt(decryptRequest);
                final byte[] decrypted = decrypt(decoded, getByteArray(decryptResult.getPlaintext()));

                // GZip Decompress
                final byte[] decompressed = decompress(decrypted);
                // JSON $ActivityRecords
                final ActivityRecords activityRecords = GSON.fromJson(new String(decompressed, StandardCharsets.UTF_8), ActivityRecords.class);

                // Iterate throught $ActivityEvents
                for (final ActivityEvent event : activityRecords.databaseActivityEventList) {
                    System.out.println(GSON.toJson(event));
                }
            } catch (Exception e) {
                // Handle error.
                e.printStackTrace();
            }
        }

        private static byte[] decompress(final byte[] src) throws IOException {
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(src);
            GZIPInputStream gzipInputStream = new GZIPInputStream(byteArrayInputStream);
            return IOUtils.toByteArray(gzipInputStream);
        }

        private void checkpoint(IRecordProcessorCheckpointer checkpointer) {
            for (int i = 0; i < PROCESSING_RETRIES_MAX; i++) {
                try {
                    checkpointer.checkpoint();
                    break;
                } catch (ShutdownException se) {
                    // Ignore checkpoint if the processor instance has been shutdown (fail over).
                    System.out.println("Caught shutdown exception, skipping checkpoint." + se);
                    break;
                } catch (ThrottlingException e) {
                    // Backoff and re-attempt checkpoint upon transient failures
                    if (i >= (PROCESSING_RETRIES_MAX - 1)) {
                        System.out.println("Checkpoint failed after " + (i + 1) + "attempts." + e);
                        break;
                    } else {
                        System.out.println("Transient issue when checkpointing - attempt " + (i + 1) + " of " + PROCESSING_RETRIES_MAX + e);
                    }
                } catch (InvalidStateException e) {
                    // This indicates an issue with the DynamoDB table (check for table, provisioned IOPS).
                    System.out.println("Cannot save checkpoint to the DynamoDB table used by the Amazon Kinesis Client Library." + e);
                    break;
                }
                try {
                    Thread.sleep(BACKOFF_TIME_IN_MILLIS);
                } catch (InterruptedException e) {
                    System.out.println("Interrupted sleep" + e);
                }
            }
        }
    }

    private static byte[] decrypt(final byte[] decoded, final byte[] decodedDataKey) throws IOException {
        // Create a JCE master key provider using the random key and an AES-GCM encryption algorithm
        final JceMasterKey masterKey = JceMasterKey.getInstance(new SecretKeySpec(decodedDataKey, "AES"),
                "BC", "DataKey", "AES/GCM/NoPadding");
        try (final CryptoInputStream<JceMasterKey> decryptingStream = CRYPTO.createDecryptingStream(masterKey, new ByteArrayInputStream(decoded));
             final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
            IOUtils.copy(decryptingStream, out);
            return out.toByteArray();
        }
    }

    public static void main(String[] args) throws Exception {
        final String workerId = InetAddress.getLocalHost().getCanonicalHostName() + ":" + UUID.randomUUID();
        final KinesisClientLibConfiguration kinesisClientLibConfiguration =
                new KinesisClientLibConfiguration(APPLICATION_NAME, STREAM_NAME, CREDENTIALS_PROVIDER, workerId);
        kinesisClientLibConfiguration.withInitialPositionInStream(InitialPositionInStream.LATEST);
        kinesisClientLibConfiguration.withRegionName(REGION_NAME);
        final Worker worker = new Builder()
                .recordProcessorFactory(new RecordProcessorFactory())
                .config(kinesisClientLibConfiguration)
                .build();

        System.out.printf("Running %s to process stream %s as worker %s...\n", APPLICATION_NAME, STREAM_NAME, workerId);

        try {
            worker.run();
        } catch (Throwable t) {
            System.err.println("Caught throwable while processing data.");
            t.printStackTrace();
            System.exit(1);
        }
        System.exit(0);
    }

    private static byte[] getByteArray(final ByteBuffer b) {
        byte[] byteArray = new byte[b.remaining()];
        b.get(byteArray);
        return byteArray;
    }
}
```

------
#### [ Python ]

```
import base64
import json
import zlib
import aws_encryption_sdk
from aws_encryption_sdk import CommitmentPolicy
from aws_encryption_sdk.internal.crypto import WrappingKey
from aws_encryption_sdk.key_providers.raw import RawMasterKeyProvider
from aws_encryption_sdk.identifiers import WrappingAlgorithm, EncryptionKeyType
import boto3

REGION_NAME = '<region>'                    # us-east-1
RESOURCE_ID = '<external-resource-id>'      # db-ABCD123456
STREAM_NAME = 'aws-rds-das-' + RESOURCE_ID  # aws-rds-das-db-ABCD123456

enc_client = aws_encryption_sdk.EncryptionSDKClient(commitment_policy=CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)

class MyRawMasterKeyProvider(RawMasterKeyProvider):
    provider_id = "BC"

    def __new__(cls, *args, **kwargs):
        obj = super(RawMasterKeyProvider, cls).__new__(cls)
        return obj

    def __init__(self, plain_key):
        RawMasterKeyProvider.__init__(self)
        self.wrapping_key = WrappingKey(wrapping_algorithm=WrappingAlgorithm.AES_256_GCM_IV12_TAG16_NO_PADDING,
                                        wrapping_key=plain_key, wrapping_key_type=EncryptionKeyType.SYMMETRIC)

    def _get_raw_key(self, key_id):
        return self.wrapping_key


def decrypt_payload(payload, data_key):
    my_key_provider = MyRawMasterKeyProvider(data_key)
    my_key_provider.add_master_key("DataKey")
    decrypted_plaintext, header = enc_client.decrypt(
        source=payload,
        materials_manager=aws_encryption_sdk.materials_managers.default.DefaultCryptoMaterialsManager(master_key_provider=my_key_provider))
    return decrypted_plaintext


def decrypt_decompress(payload, key):
    decrypted = decrypt_payload(payload, key)
    return zlib.decompress(decrypted, zlib.MAX_WBITS + 16)


def main():
    session = boto3.session.Session()
    kms = session.client('kms', region_name=REGION_NAME)
    kinesis = session.client('kinesis', region_name=REGION_NAME)

    response = kinesis.describe_stream(StreamName=STREAM_NAME)
    shard_iters = []
    for shard in response['StreamDescription']['Shards']:
        shard_iter_response = kinesis.get_shard_iterator(StreamName=STREAM_NAME, ShardId=shard['ShardId'],
                                                         ShardIteratorType='LATEST')
        shard_iters.append(shard_iter_response['ShardIterator'])

    while len(shard_iters) > 0:
        next_shard_iters = []
        for shard_iter in shard_iters:
            response = kinesis.get_records(ShardIterator=shard_iter, Limit=10000)
            for record in response['Records']:
                record_data = record['Data']
                record_data = json.loads(record_data)
                payload_decoded = base64.b64decode(record_data['databaseActivityEvents'])
                data_key_decoded = base64.b64decode(record_data['key'])
                data_key_decrypt_result = kms.decrypt(CiphertextBlob=data_key_decoded,
                                                      EncryptionContext={'aws:rds:db-id': RESOURCE_ID})
                print (decrypt_decompress(payload_decoded, data_key_decrypt_result['Plaintext']))
            if 'NextShardIterator' in response:
                next_shard_iters.append(response['NextShardIterator'])
        shard_iters = next_shard_iters


if __name__ == '__main__':
    main()
```

------

# Esempi di policy IAM per flussi di attività del database
<a name="DBActivityStreams.ManagingAccess"></a>

Qualsiasi utente con privilegi di ruolo AWS Identity and Access Management (IAM) appropriati per i flussi di attività del database può creare, avviare, interrompere e modificare le impostazioni del flusso di attività per un'istanza DB. Queste operazioni sono incluse nel registro di controllo del flusso. Per le migliori pratiche di conformità, ti consigliamo di non fornire questi privilegi a. DBAs

Imposta l'accesso ai flussi di attività di database utilizzando policy IAM. Per ulteriori informazioni sull'autenticazione di Amazon RDS, consulta [Gestione accessi e identità per Amazon RDS](UsingWithRDS.IAM.md). Per ulteriori informazioni sulla creazione di policy IAM, consulta [Creazione e utilizzo di una policy IAM per l'accesso al database IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). 

**Example Policy per consentire la configurazione dei flussi di attività di database**  
Per fornire agli utenti l'accesso fine-grained per modificare i flussi di attività, utilizza la chiave di contesto dell'operazione specifica del servizio `rds:StartActivityStream` e `rds:StopActivityStream` in una policy IAM. L'esempio di policy IAM seguente consente a un utente o ruolo di configurare i flussi di attività.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigureActivityStreams",
            "Effect": "Allow",
            "Action": [
                "rds:StartActivityStream",
                "rds:StopActivityStream"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Policy per consentire l'avvio di flussi di attività di database**  
L'esempio di policy IAM seguente consente a un utente o ruolo di avviare i flussi di attività.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"AllowStartActivityStreams",
            "Effect":"Allow",
            "Action":"rds:StartActivityStream",
            "Resource":"*"
        }
    ]
}
```

**Example Policy per consentire l'interruzione di flussi di attività di database**  
L'esempio di policy IAM seguente consente a un utente o ruolo di interrompere i flussi di attività.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"AllowStopActivityStreams",
            "Effect":"Allow",
            "Action":"rds:StopActivityStream",
            "Resource":"*"
        }
     ]
}
```

**Example Policy per rifiutare l'avvio di flussi di attività di database**  
L'esempio di policy IAM seguente consente a un utente o ruolo di rifiutare l'avvio di flussi di attività.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"DenyStartActivityStreams",
            "Effect":"Deny",
            "Action":"rds:StartActivityStream",
            "Resource":"*"
        }
     ]
}
```

**Example Policy per rifiutare l'interruzione di flussi di attività di database**  
L'esempio di policy IAM seguente consente a un utente o ruolo di rifiutare l'interruzione di flussi di attività.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"DenyStopActivityStreams",
            "Effect":"Deny",
            "Action":"rds:StopActivityStream",
            "Resource":"*"
        }
    ]
}
```

# Monitoraggio delle minacce con Amazon GuardDuty RDS Protection
<a name="guard-duty-rds-protection"></a>

Amazon GuardDuty è un servizio di rilevamento delle minacce che aiuta a proteggere account, contenitori, carichi di lavoro e dati all'interno del tuo AWS ambiente. Utilizzando modelli di machine learning (ML) e funzionalità di rilevamento di anomalie e minacce, monitora GuardDuty continuamente diverse fonti di log e attività di runtime per identificare e dare priorità ai potenziali rischi per la sicurezza e alle attività dannose nel tuo ambiente.

GuardDuty RDS Protection analizza e profila gli eventi di accesso per potenziali minacce di accesso ai tuoi database Amazon Aurora Amazon . La protezione RDS monitora questi eventi e li profila per potenziali minacce interne o attori esterni.

Per ulteriori informazioni sull'attivazione di GuardDuty RDS Protection, consulta [GuardDuty RDS Protection](https://docs.aws.amazon.com/guardduty/latest/ug/rds-protection.html) nella *Amazon GuardDuty User Guide*.

Quando RDS Protection rileva una potenziale minaccia, ad esempio uno schema insolito nei tentativi di accesso riusciti o falliti, GuardDuty genera una nuova scoperta con dettagli sul database potenzialmente compromesso. Puoi visualizzare i dettagli dei risultati nella sezione di riepilogo dei risultati nella GuardDuty console Amazon. I dettagli dell'esito variano in base al tipo di esito. I dettagli principali, il tipo di risorsa e il ruolo della risorsa determinano il tipo di informazioni disponibili per qualsiasi esito. Per ulteriori informazioni sui dettagli comunemente disponibili sui risultati e sui tipi di risultati, consulta rispettivamente [i dettagli di ricerca e i](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings-summary.html) [tipi di risultati GuardDuty RDS Protection](https://docs.aws.amazon.com/guardduty/latest/ug/findings-rds-protection.html) nella *Amazon GuardDuty User Guide*. 

Puoi attivare o disattivare la funzionalità di protezione RDS Regione AWS ovunque sia disponibile. Account AWS Quando la protezione RDS non è abilitata, GuardDuty non rileva i database RDS potenzialmente compromessi né fornisce dettagli sulla compromissione.

Un GuardDuty account esistente può abilitare RDS Protection con un periodo di prova di 30 giorni. Per un nuovo GuardDuty account, RDS Protection è già abilitato e incluso nel periodo di prova gratuito di 30 giorni. Per ulteriori informazioni, consulta la sezione [Stima GuardDuty dei costi](https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html) nella *Amazon GuardDuty User Guide*.

Per informazioni su Regioni AWS dove GuardDuty non supporta ancora la protezione RDS, consulta la [disponibilità delle funzionalità specifiche per regione](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_regions.html#gd-regional-feature-availability) nella *Amazon GuardDuty * User Guide.

*Per informazioni sulle versioni del database RDS supportate da GuardDuty RDS Protection, consulta i database Amazon [Aurora, Amazon RDS e Aurora Limitless supportati nella Amazon](https://docs.aws.amazon.com/guardduty/latest/ug/rds-protection.html#rds-pro-supported-db) User Guide. GuardDuty *