Esempi dell’utilizzo di Approfondimenti sulle prestazioni di Amazon RDS con la AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Approfondimenti sulle prestazioni di Amazon RDS.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare create-performance-analysis-report.
- AWS CLI
-
Come creare un report di analisi delle prestazioni
L’esempio
create-performance-analysis-reportseguente crea un report di analisi delle prestazioni con l’ora di inizio1682969503e l’ora di fine1682979503per il databasedb-abcdefg123456789.aws pi create-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --start-time1682969503\ --end-time1682979503Output:
{ "AnalysisReportId": "report-0234d3ed98e28fb17" }Per ulteriori informazioni sulla creazione di report di analisi delle prestazioni, consulta Creazione di un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon RDS e Creazione di un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta CreatePerformanceAnalysisReport
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-performance-analysis-report.
- AWS CLI
-
Come eliminare un report di analisi delle prestazioni
Nell’esempio seguente
delete-performance-analysis-reportelimina il report di analisi delle prestazioni con l’ID del reportreport-0d99cc91c4422ee61.aws pi delete-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --analysis-report-idreport-0d99cc91c4422ee61Questo comando non produce alcun output.
Per ulteriori informazioni sull’eliminazione di report di analisi delle prestazioni, consulta Eliminazione di un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon RDS e Eliminazione di un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta DeletePerformanceAnalysisReport
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-dimension-keys.
- AWS CLI
-
Esempio 1: per descrivere le chiavi dimensionali
Questo esempio richiede i nomi di tutti gli eventi di attesa. I dati vengono riepilogati in base al nome dell’evento e ai valori aggregati di tali eventi nel periodo di tempo specificato.
Comando:
aws pi describe-dimension-keys --service-typeRDS--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM--start-time1527026400--end-time1527080400--metricdb.load.avg--group-by '{"Group":"db.wait_event"}'Output:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Keys": [ { "Dimensions": {"db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex"}, "Total": 0.05906906851195666 }, { "Dimensions": {"db.wait_event.name": "wait/io/aurora_redo_log_flush"}, "Total": 0.015824722186149193 }, { "Dimensions": {"db.wait_event.name": "CPU"}, "Total": 0.008014396230265477 }, { "Dimensions": {"db.wait_event.name": "wait/io/aurora_respond_to_client"}, "Total": 0.0036361612526204477 }, { "Dimensions": {"db.wait_event.name": "wait/io/table/sql/handler"}, "Total": 0.0019108398419382965 }, { "Dimensions": {"db.wait_event.name": "wait/synch/cond/mysys/my_thread_var::suspend"}, "Total": 8.533847837782684E-4 }, { "Dimensions": {"db.wait_event.name": "wait/io/file/csv/data"}, "Total": 6.864181956477376E-4 }, { "Dimensions": {"db.wait_event.name": "Unknown"}, "Total": 3.895887056379051E-4 }, { "Dimensions": {"db.wait_event.name": "wait/synch/mutex/sql/FILE_AS_TABLE::LOCK_shim_lists"}, "Total": 3.710368625122906E-5 }, { "Dimensions": {"db.wait_event.name": "wait/lock/table/sql/handler"}, "Total": 0 } ] }Esempio 2: per trovare l’ID SQL per le istruzioni che contribuiscono maggiormente al caricamento del DB
Di seguito
describe-dimension-keysrichiede l’istruzione SQL e l’ID SQL per le 10 istruzioni che hanno contribuito maggiormente al caricamento del DB.aws pi describe-dimension-keys \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --start-time2023-05-01T00:00:00Z\ --end-time2023-05-01T01:00:00Z\ --metricdb.load.avg\ --group-by '{"Group": "db.sql", "Dimensions": ["db.sql.id", "db.sql.statement"],"Limit": 10}'Output:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Identifier": "db-abcdefg123456789", "MetricList": [ { "Keys": [ { "Dimensions": {"db.sql.id": "AKIAIOSFODNN7EXAMPLE", "db.sql.statement": "SELECT * FROM customers WHERE customer_id = 123"}, "Total": 25.5,"Partitions": [12.3, 13.2] } ] } ] }Per ulteriori informazioni sulle dimensioni in Approfondimenti sulle prestazioni, consulta Caricamento database nella Guida per l’utente di Amazon RDS e Caricamento database nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta DescribeDimensionKeys
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-dimension-key-details.
- AWS CLI
-
Come ottenere dettagli su un gruppo di dimensioni specifico per un’istanza database
L’esempio seguente
get-dimension-key-detailsrecupera il testo completo di un’istruzione SQL per l’istanza databasedb-10BCD2EFGHIJ3KL4M5NO6PQRS5.--groupèdb.sql, e--group-identifierèdb.sql.id. In questo esempio,example-sql-idrappresenta un ID SQL recuperato utilizzando le operazionidescribe-dimension-keysoget-resource-metrics. In questo esempio, sono disponibili i dettagli delle dimensioni. Pertanto, Performance Insights recupera il testo completo dell'istruzione SQL, senza troncarla.aws pi get-dimension-key-details \ --service-typeRDS\ --identifierdb-10BCD2EFGHIJ3KL4M5NO6PQRS5\ --groupdb.sql\ --group-identifierexample-sql-id\ --requested-dimensionsstatementOutput:
{ "Dimensions":[ { "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id", "Dimension": "db.sql.statement", "Status": "AVAILABLE" }, ... ] }Per ulteriori informazioni sulle dimensioni in Approfondimenti sulle prestazioni, consulta Caricamento database nella Guida per l’utente di Amazon RDS e Caricamento database nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta GetDimensionKeyDetails
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-performance-analysis-report.
- AWS CLI
-
Come visualizzare un report di analisi delle prestazioni
Nell’esempio seguente
get-performance-analysis-reportottiene il report di analisi delle prestazioni per il databasedb-abcdefg123456789con l’ID del reportreport-0d99cc91c4422ee61. La risposta fornisce lo stato, l’ID, i dettagli temporali e gli approfondimenti del report.aws pi get-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --analysis-report-idreport-0d99cc91c4422ee61Output:
{ "AnalysisReport": { "Status": "Succeeded", "ServiceType": "RDS", "Identifier": "db-abcdefg123456789", "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "Insights": [ ... (Condensed for space) ] } }Per ulteriori informazioni sui report di analisi delle prestazioni, consulta Analisi delle prestazioni del database per un periodo di tempo nella Guida per l’utente di Amazon RDS e Analisi delle prestazioni del database per un periodo di tempo nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta GetPerformanceAnalysisReport
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-resource-metadata.
- AWS CLI
-
Come ottenere i metadati delle risorse per un database
L’esempio
get-resource-metadataseguente ottiene i metadati delle risorse per il databasedb-abcdefg123456789. La risposta mostra che le statistiche digest di SQL sono abilitate.aws pi get-resource-metadata \ --service-typeRDS\ --identifierdb-abcdefg123456789Output:
{ "Identifier": "db-abcdefg123456789", "Features":{ "SQL_DIGEST_STATISTICS":{ "Status": "ENABLED" } } }Per ulteriori informazioni sulle statistiche SQL per Approfondimenti sulle prestazioni, consulta Statistiche SQL per Performance Insights nella Guida per l’utente di Amazon RDS User Guide e Statistiche SQL per Performance Insights nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta GetResourceMetadata
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-resource-metrics.
- AWS CLI
-
Come ottenere le metriche delle risorse
Questo esempio richiede punti dati per il gruppo di dimensioni db.wait_event e per la dimensione db.wait_event.name all’interno di quel gruppo. Nella risposta, i punti dati pertinenti vengono raggruppati in base alla dimensione richiesta (db.wait_event.name).
Comando:
aws pi get-resource-metrics --service-typeRDS--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM--start-time1527026400--end-time1527080400--period-in-seconds300--metricdb.load.avg--metric-queriesfile://metric-queries.jsonGli argomenti per
--metric-queriessono memorizzati in un file JSON,metric-queries.json. Ecco i contenuti del file:[ { "Metric": "db.load.avg", "GroupBy": { "Group":"db.wait_event" } } ]Output:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Identifier": "db-LKCGOBK26374TPTDFXOIWVCPPM", "MetricList": [ { "Key": { "Metric": "db.load.avg" }, "DataPoints": [ { "Timestamp": 1527026700.0, "Value": 1.3533333333333333 }, { "Timestamp": 1527027000.0, "Value": 0.88 }, <...remaining output omitted...> ] }, { "Key": { "Metric": "db.load.avg", "Dimensions": { "db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex" } }, "DataPoints": [ { "Timestamp": 1527026700.0, "Value": 0.8566666666666667 }, { "Timestamp": 1527027000.0, "Value": 0.8633333333333333 }, <...remaining output omitted...> ], }, <...remaining output omitted...> ] }-
Per informazioni dettagliate sull’API, consulta GetResourceMetrics
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-available-resource-dimensions.
- AWS CLI
-
Come elencare le dimensioni che possono essere interrogate per un tipo di parametro su un’istanza database
L’esempio
list-available-resource-dimensionsseguente elenca le metrichedb.loadsu cui è possibile eseguire una query per il databasedb-abcdefg123456789.aws pi list-available-resource-dimensions \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --metricsdb.loadOutput:
{ "MetricDimensions": [ { "Metric": "db.load", "Groups": [ { "Group": "db.user", "Dimensions": [ { "Identifier": "db.user.id" }, { "Identifier": "db.user.name" } ] }, { "Group": "db.sql_tokenized", "Dimensions": [ { "Identifier": "db.sql_tokenized.id" }, { "Identifier": "db.sql_tokenized.db_id" }, { "Identifier": "db.sql_tokenized.statement" } ] }, ... ] } ] }Per ulteriori informazioni sulle dimensioni in Approfondimenti sulle prestazioni, consulta Caricamento database nella Guida per l’utente di Amazon RDS e Caricamento database nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta ListAvailableResourceDimensions
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-available-resource-metrics.
- AWS CLI
-
Come elencare le metriche che possono essere interrogate per un tipo di parametro su un’istanza database
L’esempio
list-available-resource-metricsseguente elenca le metrichedb.loadsu cui è possibile eseguire una query per il databasedb-abcdefg123456789.aws pi list-available-resource-metrics \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --metric-types"os""db"Output:
{ "Metrics": [ { "Description": "The number of virtual CPUs for the DB instance", "Metric": "os.general.numVCPUs", "Unit": "vCPUs" }, ......, { "Description": "Time spent reading data file blocks by backends in this instance", "Metric": "db.IO.read_latency", "Unit": "Milliseconds per block" }, ...... ] }Per ulteriori informazioni sulle metriche in Approfondimenti sulle prestazioni, consulta Caricamento database nella Guida per l’utente di Amazon RDS e Caricamento database nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta ListAvailableResourceMetrics
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-performance-analysis-reports.
- AWS CLI
-
Come elencare i report di analisi delle prestazioni per un database
Nell’esempio seguente
list-performance-analysis-reportselenca tutti i report di analisi delle prestazioni disponibili per il databasedb-abcdefg123456789. La risposta elenca tutti i report con i dettagli relativi all'ID, allo stato e al periodo di tempo del report.aws pi list-performance-analysis-reports \ --service-typeRDS\ --identifierdb-abcdefg123456789Output:
{ "AnalysisReports": [ { "Status": "Succeeded", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61" }, { "Status": "Succeeded", "EndTime": 1681491137.914, "CreateTime": 1681491145.973, "StartTime": 1681487537.914, "AnalysisReportId": "report-002633115cc002233" }, { "Status": "Succeeded", "EndTime": 1681493499.849, "CreateTime": 1681493507.762, "StartTime": 1681489899.849, "AnalysisReportId": "report-043b1e006b47246f9" }, { "Status": "InProgress", "EndTime": 1682979503.0, "CreateTime": 1682979618.994, "StartTime": 1682969503.0, "AnalysisReportId": "report-01ad15f9b88bcbd56" } ] }Per ulteriori informazioni sui report di analisi delle prestazioni, consulta Analisi delle prestazioni del database per un periodo di tempo nella Guida per l’utente di Amazon RDS e Analisi delle prestazioni del database per un periodo di tempo nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull’API, consulta ListPerformanceAnalysisReports
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.
- AWS CLI
-
Come elencare tutti i tag per un report di analisi delle prestazioni
Nell’esempio seguente
list-tags-for-resourceelenca i tag per un report di analisi delle prestazioni con l’ID del reportreport-0d99cc91c4422ee61.aws pi list-tags-for-resource \ --service-typeRDS\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61Output:
{ "Tags": [ { "Value": "test-tag", "Key": "name" } ] }Per ulteriori informazioni sull’aggiunta di tag ai report di analisi delle prestazioni, consulta Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon RDS e Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sull'API, consulta ListTagsForResource
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare tag-resource.
- AWS CLI
-
Come aggiungere un tag a un report di analisi delle prestazioni
L’esempio
tag-resourceseguente aggiunge la chiave del tagnamecon il valore del tagtest-taga un report di analisi delle prestazioni con l’ID del reportreport-0d99cc91c4422ee61.aws pi tag-resource \ --service-typeRDS\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61\ --tagsKey=name,Value=test-tagQuesto comando non produce alcun output.
Per ulteriori informazioni sull’aggiunta di tag ai report di analisi delle prestazioni, consulta Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon RDS e Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon Aurora.
-
Per informazioni dettagliate sulle API, consulta TagResource
nel Riferimento ai comandi AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare untag-resource.
- AWS CLI
-
Come eliminare un tag di un report di analisi delle prestazioni
Nell’esempio seguente
untag-resourceelimina il tagnamedel report di analisi delle prestazioni con l’ID del reportreport-0d99cc91c4422ee61.aws pi untag-resource \ --service-typeRDS\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61\ --tag-keysnameQuesto comando non produce alcun output.
Per ulteriori informazioni sull’aggiunta di tag ai report di analisi delle prestazioni, consulta Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon RDS e Aggiunta di tag a un report di analisi delle prestazioni in Approfondimenti sulle prestazioni nella Guida per l’utente di Amazon Aurora.
-
Per i dettagli dell'API, consulta UntagResource
in Riferimento ai comandi della AWS CLI.
-