

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

# Monitoraggio delle istanze DB
<a name="db-instance-monitoring"></a>

Un'[https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.html) è l'elemento costitutivo di base di Amazon RDS. È un ambiente di database isolato che viene eseguito nel cloud. Per i database MySQL e MariaDB, l'istanza DB [è](https://dev.mysql.com/doc/refman/8.0/en/mysqld.html) il programma mysqld, noto anche come server MySQL, che include più thread e componenti come il parser SQL, l'ottimizzatore di thread/connection query, il gestore, le variabili di sistema e di stato e uno o più motori di archiviazione collegabili. Ogni motore di archiviazione è progettato per supportare un caso d'uso specializzato. Il motore di archiviazione predefinito e consigliato è [InnoDB](https://dev.mysql.com/doc/refman/8.0/en/innodb-architecture.html), un motore di database relazionale transazionale, generico e conforme al modello ACID (atomicità, coerenza, isolamento, durabilità). InnoDB presenta [strutture in memoria](https://dev.mysql.com/doc/refman/8.0/en/innodb-in-memory-structures.html) (buffer pool, change buffer, adaptive hash index, log buffer) e [strutture su disco](https://dev.mysql.com/doc/refman/8.0/en/innodb-on-disk-structures.html) (tablespace, tabelle, indici, undo log, redo log, file buffer double-write). Per garantire che il database aderisca strettamente al modello ACID, il [motore di archiviazione InnoDB implementa numerose](https://dev.mysql.com/doc/refman/8.0/en/mysql-acid.html) funzionalità per proteggere i dati, tra cui transazioni, commit, rollback, crash-recovery, blocco a livello di riga e controllo simultaneo multiversione (MVCC).

Tutti questi componenti interni di un'istanza DB lavorano congiuntamente per aiutare a mantenere la disponibilità, l'integrità e la sicurezza dei dati al livello di prestazioni previsto e soddisfacente. A seconda del carico di lavoro, ogni componente e funzionalità potrebbe imporre un fabbisogno di risorse a CPU, memoria, rete e sottosistemi di archiviazione. Quando un aumento della domanda di una risorsa specifica supera la capacità fornita o i limiti software per tale risorsa (imposti dai parametri di configurazione o dalla progettazione del software), l'istanza DB può subire un peggioramento delle prestazioni o una completa indisponibilità e danneggiamento. Pertanto, è fondamentale misurare e monitorare questi componenti interni, confrontarli con valori di base definiti e generare avvisi se i valori monitorati si discostano dai valori previsti.

Come descritto in precedenza, puoi utilizzare diversi [strumenti](monitoring-tools.md) per monitorare le tue istanze MySQL e MariaDB. Ti consigliamo di utilizzare Amazon RDS Performance Insights e CloudWatch gli strumenti per il monitoraggio e gli avvisi, poiché questi strumenti sono integrati con Amazon RDS, raccolgono parametri ad alta risoluzione, presentano le informazioni più recenti sulle prestazioni quasi in tempo reale e generano allarmi.

Indipendentemente dal tuo strumento di monitoraggio preferito, ti consigliamo di [attivare lo schema delle prestazioni](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.EnableMySQL.html) nelle tue istanze DB MySQL e MariadB. [Lo schema delle prestazioni](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html) è una funzionalità opzionale per il monitoraggio del funzionamento del server MySQL (l'istanza DB) a un livello basso ed è progettato per avere un impatto minimo sulle prestazioni complessive del database. È possibile gestire questa funzionalità utilizzando il `performance_schema` parametro. Sebbene questo parametro sia facoltativo, è necessario utilizzarlo per raccogliere metriche per-SQL ad alta risoluzione (un secondo), metriche di sessione attiva, eventi di attesa e altre informazioni di monitoraggio dettagliate a basso livello, raccolte da Amazon RDS Performance Insights.

**Sections**
+ [Metriche di Performance Insights per le istanze DB](db-instance-performance-insights.md)
+ [CloudWatch metriche per le istanze DB](db-instance-cloudwatch-metrics.md)
+ [Pubblicazione delle metriche di Performance Insights su CloudWatch](publishing-performance-insights-to-cloudwatch.md)

# Metriche di Performance Insights per le istanze DB
<a name="db-instance-performance-insights"></a>

Performance Insights monitora diversi tipi di metriche, come illustrato nelle sezioni seguenti.

## Carico del database
<a name="dbload"></a>

Il caricamento del database (`DBLoad`) è una metrica chiave di Performance Insights che misura il livello di attività nel database. Viene raccolto ogni secondo e pubblicato automaticamente su Amazon CloudWatch. Rappresenta l'attività dell'istanza DB nelle sessioni attive medie (AAS), ovvero il numero di sessioni che eseguono contemporaneamente query SQL. La `DBLoad` metrica è diversa dalle altre metriche delle serie temporali, perché può essere interpretata utilizzando una di queste cinque dimensioni: waits, SQL, host, utenti e database. Queste dimensioni sono sottocategorie della metrica. `DBLoad` È possibile utilizzarle come *sezione per categorie per* rappresentare diverse caratteristiche del carico del database. Per una descrizione dettagliata di come calcoliamo il carico del database, consulta [Caricamento del database](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.ActiveSessions.html) nella documentazione di Amazon RDS.

La seguente illustrazione della schermata mostra lo strumento Performance Insights.

![\[Caricamento del database nello strumento Performance Insights\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/database-load.png)


## Dimensioni
<a name="dimensions"></a>
+ *Gli eventi di attesa* sono condizioni in cui una sessione del database attende il completamento di una risorsa o di un'altra operazione per continuare l'elaborazione. Se esegui un'istruzione SQL come `SELECT * FROM big_table` e se questa tabella è molto più grande del pool di buffer InnoDB allocato, molto probabilmente la sessione aspetterà gli eventi di `wait/io/file/innodb/innodb_data_file` attesa, causati da operazioni I/O fisiche sul file di dati. Gli eventi di attesa sono una dimensione importante per il monitoraggio del database, poiché indicano possibili rallentamenti delle prestazioni. Gli eventi di attesa indicano le risorse e le operazioni che le istruzioni SQL eseguite all'interno delle sessioni impiegano più tempo ad aspettare. Ad esempio, l'`wait/synch/mutex/innodb/trx_sys_mutex`evento si verifica quando l'attività del database è elevata con un numero elevato di transazioni e l'`wait/synch/mutex/innodb/buf_pool_mutex`evento si verifica quando un thread ha acquisito un blocco sul pool di buffer InnoDB per accedere a una pagina in memoria. Per informazioni su tutti gli eventi di attesa di MySQL e MariaDB, consulta le tabelle di riepilogo degli eventi di attesa nella [documentazione](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-wait-summary-tables.html) di MySQL. Per capire come interpretare i nomi degli strumenti, consulta [Performance Schema Instrument Naming Conventions nella documentazione](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-instrument-naming.html) di MySQL.
+ *SQL* mostra quali istruzioni SQL contribuiscono maggiormente al carico totale del database. La tabella delle **dimensioni principali**, che si trova sotto il grafico di **carico del database** in Amazon RDS Performance Insights, è interattiva. È possibile ottenere un elenco dettagliato degli eventi di attesa associati all'istruzione SQL facendo clic sulla barra nella colonna **Load by waits (AAS)**. Quando si seleziona un'istruzione SQL nell'elenco, Performance Insights visualizza gli eventi di attesa associati nel grafico di **caricamento del database** e il testo dell'istruzione SQL nella sezione **Testo SQL**. Le statistiche SQL vengono visualizzate sul lato destro della tabella delle **dimensioni principali**.
+ *Gli host* mostrano i nomi host dei client connessi. Questa dimensione consente di identificare gli host client che inviano la maggior parte del carico al database.
+ *Gli utenti* raggruppano il carico del DB in base agli utenti che hanno effettuato l'accesso al database.
+ *I database* raggruppano il carico del DB in base al nome del database a cui è connesso il client.

## Parametri dei contatori
<a name="counter-metrics"></a>

Le metriche dei contatori sono metriche cumulative i cui valori possono aumentare o azzerarsi solo al riavvio dell'istanza DB. Il valore di una metrica contatore non può essere ridotto al valore precedente. Queste metriche rappresentano un contatore singolo, che aumenta in modo monotono.
+ [I contatori nativi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.MySQL.Native) sono parametri definiti dal motore di database e non da Amazon RDS. Esempio:
  + `SQL.Innodb_rows_inserted`rappresenta il numero di righe inserite nelle tabelle InnoDB.
  + `SQL.Select_scan`rappresenta il numero di join che hanno completato una scansione completa della prima tabella.
  + `Cache.Innodb_buffer_pool_reads`rappresenta il numero di letture logiche che il motore InnoDB non è riuscito a recuperare dal pool di buffer e ha dovuto leggere direttamente dal disco.
  + `Cache.Innodb_buffer_pool_read_requests`rappresenta il numero di richieste di lettura logica.

  Per le definizioni di tutte le metriche native, consulta [Server Status Variables](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html) nella documentazione di MySQL.
+ I [contatori non nativi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.MySQL.NonNative) sono definiti da Amazon RDS. È possibile ottenere questi parametri utilizzando una query specifica o derivarli utilizzando due o più parametri nativi nei calcoli. Le contrometriche non native possono rappresentare latenze, rapporti o percentuali di successo. Esempio:
  + `Cache.innoDB_buffer_pool_hits`rappresenta il numero di operazioni di lettura che InnoDB potrebbe recuperare dal buffer pool senza utilizzare il disco. Viene calcolato in base alle metriche native del contatore come segue:

    ```
    db.Cache.Innodb_buffer_pool_read_requests - db.Cache.Innodb_buffer_pool_reads
    ```
  + `IO.innoDB_datafile_writes_to_disk`rappresenta il numero di operazioni di scrittura di file di dati InnoDB su disco. Cattura solo le operazioni sui file di dati, non le operazioni di scrittura di double-write o redo logging. Viene calcolato come segue:

    ```
    db.IO.Innodb_data_writes - db.IO.Innodb_log_writes - db.IO.Innodb_dblwr_writes
    ```

Puoi visualizzare le metriche delle istanze DB direttamente nella dashboard di Performance Insights. Scegliete **Gestisci metriche**, scegliete la scheda **Metriche del database**, quindi selezionate le metriche di interesse, come mostrato nella figura seguente.

![\[Selezione delle metriche delle istanze DB in Performance Insights\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/selecting-metrics.png)


Scegliete il pulsante **Aggiorna grafico** per visualizzare le metriche selezionate, come mostrato nella figura seguente.

![\[Visualizzazione delle metriche delle istanze DB in Performance Insights\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/selecting-metrics-results.png)


## Statistiche SQL
<a name="sql-stats"></a>

Performance Insights raccoglie metriche relative alle prestazioni relative alle query SQL per ogni secondo di esecuzione di una query e per ogni chiamata SQL. In generale, Performance Insights raccoglie [statistiche SQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.MySQL.html) a livello di dichiarazione e digest. Tuttavia, per le istanze DB MariaDB e MySQL, le statistiche vengono raccolte solo a livello di digest.
+ Le statistiche di Digest sono una metrica composita di tutte le query che hanno lo stesso schema ma che alla fine hanno valori letterali diversi. Il digest sostituisce valori letterali specifici con una variabile; ad esempio:

  ```
  SELECT department_id, department_name FROM departments WHERE location_id = ?
  ```
+ Esistono metriche che rappresentano statistiche *al secondo per* ogni istruzione SQL digerita. Ad esempio, `sql_tokenized.stats.count_star_per_sec` rappresenta le chiamate al secondo (ovvero quante volte al secondo è stata eseguita l'istruzione SQL).
+ Performance Insights include anche metriche che forniscono statistiche *per chiamata* per un'istruzione SQL. Ad esempio, `sql_tokenized.stats.sum_timer_wait_per_call` mostra la latenza media dell'istruzione SQL per chiamata, in millisecondi.

Le statistiche SQL sono disponibili nel dashboard di Performance Insights, nella scheda **Top SQL** della tabella **Prime dimensioni**.

![\[Statistiche SQL\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/amazon-rds-monitoring-alerting/images/sql-stats.png)


# CloudWatch metriche per le istanze DB
<a name="db-instance-cloudwatch-metrics"></a>

Amazon contiene CloudWatch anche parametri che Amazon RDS pubblica automaticamente. [Le metriche che risiedono nello spazio dei `AWS/RDS` nomi sono *metriche a livello di istanza*, che si riferiscono all'istanza Amazon RDS (servizio) (ovvero l'ambiente di database isolato in esecuzione nel cloud) anziché all'istanza DB nel senso stretto del processo mysqld.](https://dev.mysql.com/doc/refman/8.0/en/mysqld.html) Pertanto, la maggior parte di queste metriche [predefinite rientra nella categoria delle metriche](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) del sistema operativo, nella definizione rigorosa del termine. Gli esempi includono:`CPUUtilization`, `WriteIOPS``SwapUsage`, e altri. Tuttavia, ci sono alcune metriche delle istanze DB applicabili a MariaDB e MySQL:
+ `BinLogDiskUsage`— La quantità di spazio su disco occupata dai log binari.
+ `DatabaseConnections`— Il numero di connessioni di rete del client all'istanza DB.
+ `ReplicaLag`— Il periodo di ritardo di un'istanza DB di replica in lettura rispetto all'istanza DB di origine.

# Pubblicazione delle metriche di Performance Insights su CloudWatch
<a name="publishing-performance-insights-to-cloudwatch"></a>

Amazon RDS Performance Insights monitora la maggior parte delle metriche e delle dimensioni delle istanze DB e le rende disponibili tramite il [pannello di controllo Performance Insights sulla AWS console](https://console.aws.amazon.com/rds/home#performance-insights-v20206:) di gestione. Questa dashboard è ideale per la risoluzione dei problemi dei database e l'analisi delle cause principali. Tuttavia, non è possibile creare allarmi in Performance Insights per metriche relative alle prestazioni. Se desideri creare allarmi basati sulle metriche di Performance Insights, tali metriche devono essere presenti. CloudWatch

Performance Insights [pubblica automaticamente le metriche](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.Cloudwatch.html) su. CloudWatch Puoi interrogare gli stessi dati da Performance Insights, ma la presenza delle metriche CloudWatch semplifica l'aggiunta di CloudWatch allarmi e l'aggiunta delle metriche ai dashboard esistenti. CloudWatch [I contatori sono metriche](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html) delle prestazioni del sistema operativo e del database come o. `os.memory.free` `db.Locks.Innodb_row_lock_time` La raccolta delle metriche del sistema operativo dipende dall'impostazione Enhanced Monitoring. Se il monitoraggio avanzato è disattivato, le metriche del sistema operativo vengono raccolte una volta al minuto. Se il monitoraggio avanzato è attivato, le metriche del sistema operativo vengono raccolte per il periodo di tempo selezionato. Per ulteriori informazioni, consulta [Attivazione e disattivazione del monitoraggio avanzato](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html#USER_Monitoring.OS.Enabling.Procedure) nella documentazione di Amazon RDS.

Performance Insights ti consente di [esportare il dashboard delle metriche preconfigurato o personalizzato](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PI_metrics_export_CW.html) per la tua istanza DB in. CloudWatch Puoi esportare la dashboard delle metriche come nuova dashboard o aggiungerla a una dashboard esistente. CloudWatch L'esportazione della dashboard dei parametri di Performance Insights nella CloudWatch dashboard offre una visione unificata e olistica dello stato del sistema, fornendo una panoramica delle metriche associate a varie risorse del sistema, come istanze EC2, risorse Amazon Elastic File System (Amazon EFS) e risorse Elastic Load Balancing (ELB), oltre ai parametri delle istanze DB.

È possibile utilizzare la funzione matematica CloudWatch `DB_PERF_INSIGHTS` metrica per interrogare e creare allarmi e grafici basati sulle metriche di Performance Insights di. CloudWatch Per creare un allarme in base a una metrica Performance Insights, segui le istruzioni nella [CloudWatch documentazione](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_alarm_database_performance_insights.html). **Ad esempio, se desideri attivare un allarme quando il totale delle transazioni attive nell'istanza DB raggiunge una soglia specifica, segui le istruzioni in quella pagina, usa l'espressione `DB_PERF_INSIGHTS` matematica seguente, quindi scegli Applica:**

```
DB_PERF_INSIGHTS('RDS', 'db-BQ2TPYY7HG2GDFC7APMB3BVB3M', 'db.Transactions.active_transactions.avg')
```

`db-BQ2TPYY7HG2GDFC7APMB3BVB3M`dov'è l'ID della risorsa dell'istanza DB. Specificate il periodo (ad esempio, 1 minuto) e le condizioni (ad esempio, maggiori di 1000). Per finalizzare la creazione dell'allarme, configura le azioni di allarme, aggiungi un nome e una descrizione, visualizza in anteprima e crea l'avviso.