monitoraggio del sistema operativo - AWS Guida prescrittiva

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 del sistema operativo

Un'istanza DB in Amazon RDS for MySQL o MariaDB viene eseguita sul sistema operativo Linux, che utilizza le risorse di sistema sottostanti: CPU, memoria, rete e storage.

MySQL [(none)]> SHOW variables LIKE 'version%'; +-------------------------+---------------------+ | Variable_name | Value | +-------------------------+---------------------+ | version | 8.0.28 | | version_comment | Source distribution | | version_compile_machine | aarch64 | | version_compile_os | Linux | | version_compile_zlib | 1.2.11 | +-------------------------+---------------------+ 5 rows in set (0.00 sec)

Le prestazioni complessive del database e del sistema operativo sottostante dipendono fortemente dall'utilizzo delle risorse di sistema. Ad esempio, la CPU è il componente chiave per le prestazioni del sistema, poiché esegue le istruzioni del software del database e gestisce altre risorse di sistema. Se la CPU è sovrautilizzata (ovvero se il carico richiede una potenza della CPU superiore a quella fornita per l'istanza DB), il problema potrebbe influire sulle prestazioni e sulla stabilità del database e, di conseguenza, dell'applicazione.

Il motore di database alloca e libera memoria in modo dinamico. Quando la memoria RAM non è sufficiente per eseguire il lavoro corrente, il sistema scrive pagine di memoria nella memoria di swap, che si trova sul disco. Poiché il disco è molto più lento della memoria, anche se è basato sulla NVMe tecnologia SSD, un'allocazione eccessiva di memoria porta a un peggioramento delle prestazioni. L'elevato utilizzo della memoria causa un aumento della latenza delle risposte del database, poiché la dimensione di un file di pagina aumenta per supportare memoria aggiuntiva. Se l'allocazione di memoria è così elevata da esaurire sia la RAM che gli spazi di memoria di swap, il servizio di database potrebbe non essere disponibile e gli utenti potrebbero riscontrare errori come. [ERROR] mysqld: Out of memory (Needed xyz bytes)

I sistemi di gestione dei database MySQL e MariadB utilizzano il sottosistema di archiviazione, che consiste in dischi che memorizzano strutture su disco come tabelle, indici, log binari, redo log, undo log e buffer double-write. Pertanto, il database, a differenza di altri tipi di software, deve eseguire molte attività su disco. Per il funzionamento ottimale del database, è importante monitorare e ottimizzare l'utilizzo dell'I/O del disco e l'allocazione dello spazio su disco. Le prestazioni del database possono essere influenzate quando il database raggiunge i limiti massimi di IOPS o di throughput supportati dal disco. Ad esempio, le interruzioni di accesso casuale causate da una scansione dell'indice potrebbero causare un numero elevato di operazioni di I/O al secondo, con conseguenti ripercussioni sui limiti dello storage sottostante. Le scansioni complete delle tabelle potrebbero non raggiungere il limite di IOPS, ma potrebbero causare un throughput elevato, misurato in megabyte al secondo. È fondamentale monitorare e generare avvisi sull'allocazione dello spazio su disco, poiché errori come questi OS error code 28: No space left on device possono causare l'indisponibilità e il danneggiamento del database.

Amazon RDS fornisce parametri in tempo reale per il sistema operativo su cui viene eseguita l'istanza DB. Amazon RDS pubblica automaticamente un set di parametri del sistema operativo su. CloudWatch Tali metriche sono disponibili per la visualizzazione e l'analisi nella console Amazon RDS e nei CloudWatch dashboard e puoi impostare allarmi sui parametri selezionati in. CloudWatch Esempi includono:

  • CPUUtilization— La percentuale di utilizzo della CPU.

  • BinLogDiskUsage— La quantità di spazio su disco occupata dai log binari.

  • FreeableMemory— La quantità di memoria ad accesso casuale disponibile. Rappresenta il valore del MemAvailable campo di/proc/meminfo.

  • ReadIOPS— Il numero medio di operazioni di I/O di lettura del disco al secondo.

  • WriteThroughput— Il numero medio di byte scritti su disco al secondo per l'archiviazione locale.

  • NetworkTransmitThroughput— Il traffico di rete in uscita sul nodo DB, che combina sia il traffico del database che il traffico Amazon RDS utilizzato per il monitoraggio e la replica.

Per un riferimento completo di tutti i parametri pubblicati da Amazon RDS su CloudWatch, consulta i CloudWatch parametri Amazon per Amazon RDS nella documentazione di Amazon RDS.

Il seguente grafico mostra esempi di CloudWatch parametri per Amazon RDS visualizzati sulla console Amazon RDS.

CloudWatch metriche per Amazon RDS visualizzate sulla console Amazon RDS

La tabella seguente mostra metriche simili visualizzate nella dashboard. CloudWatch

CloudWatch metriche per Amazon RDS visualizzate sulla console CloudWatch

L'altro set di parametri del sistema operativo viene raccolto da Enhanced Monitoring for Amazon RDS. Questo strumento ti offre una visibilità più approfondita sullo stato delle tue istanze DB Amazon RDS for MariaDB e Amazon RDS for MySQL, fornendo metriche di sistema e informazioni sui processi del sistema operativo in tempo reale. Quando abiliti Enhanced Monitoring sulla tua istanza DB e imposti la granularità desiderata, lo strumento raccoglie i parametri del sistema operativo e le informazioni sul processo, che puoi visualizzare e analizzare sulla console Amazon RDS, come mostrato nella schermata seguente.

Metriche del sistema operativo raccolte da Enhanced Monitoring

Alcune delle metriche chiave fornite da Enhanced Monitoring sono:

  • cpuUtilization.total— La percentuale totale della CPU in uso.

  • cpuUtilization.user— La percentuale di CPU utilizzata dai programmi utente.

  • memory.active— La quantità di memoria assegnata, in kilobyte.

  • memory.cached— La quantità di memoria utilizzata per la memorizzazione nella cache degli I/O basati sul file system.

  • loadAverageMinute.one— Il numero di processi che hanno richiesto tempo di CPU nell'ultimo minuto.

Per un elenco completo dei parametri, consulta i parametri del sistema operativo in Enhanced Monitoring nella documentazione di Amazon RDS.

Sulla console Amazon RDS, l'elenco dei processi del sistema operativo fornisce dettagli per ogni processo in esecuzione nell'istanza DB. L'elenco è organizzato in tre sezioni:

  • Processi del sistema operativo ‒ Questa sezione rappresenta un riepilogo aggregato di tutti i processi del kernel e del sistema. Questi processi hanno generalmente un impatto minimo sulle prestazioni del database.

  • Processi RDS: questa sezione rappresenta un riepilogo dei AWS processi necessari per supportare un'istanza database Amazon RDS. Ad esempio, include l'agente di gestione Amazon RDS, i processi di monitoraggio e diagnostica e processi simili.

  • Processi secondari RDS: questa sezione rappresenta un riepilogo dei processi Amazon RDS che supportano l'istanza DB, in questo caso, il processo e i mysqld relativi thread. I mysqld thread appaiono annidati sotto il processo principale. mysqld

La seguente illustrazione della schermata mostra l'elenco dei processi del sistema operativo nella console Amazon RDS.

Elenco dei processi del sistema operativo nella console Amazon RDS

Amazon RDS fornisce i parametri di Enhanced Monitoring al tuo account CloudWatch Logs. I dati di monitoraggio visualizzati sulla console Amazon RDS vengono recuperati dai CloudWatch log. Puoi anche recuperare le metriche per un'istanza DB come flusso di log da Logs. CloudWatch Queste metriche sono archiviate in formato JSON. Puoi utilizzare l'output JSON di Enhanced Monitoring dai CloudWatch registri in un sistema di monitoraggio a tua scelta.

Per visualizzare i grafici sulla CloudWatch dashboard e creare allarmi che avviino un'azione se una metrica supera la soglia definita, devi creare filtri metrici da Logs. CloudWatch CloudWatch Per istruzioni dettagliate, consulta l'articolo di AWS re:POST su come filtrare CloudWatch i log di monitoraggio avanzato per generare metriche personalizzate automatizzate per Amazon RDS.

L'esempio seguente illustra la metrica personalizzata nel namespace. CPU.User Custom/RDS Questa metrica personalizzata viene creata filtrando la metrica Enhanced Monitoring da LogscpuUtilization.user. CloudWatch

Metrica personalizzata CPU.User

Quando la metrica è disponibile nell' CloudWatch archivio, è possibile visualizzarla e analizzarla nei CloudWatch dashboard, applicare ulteriori operazioni matematiche e di interrogazione e impostare un allarme per monitorare questa metrica specifica e generare avvisi se i valori osservati non sono in linea con le condizioni di allarme definite.