Esempi dell’utilizzo di Approfondimenti sulle prestazioni di Amazon RDS con la AWS CLI - AWS Command Line Interface

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-report seguente crea un report di analisi delle prestazioni con l’ora di inizio 1682969503 e l’ora di fine 1682979503 per il database db-abcdefg123456789.

aws pi create-performance-analysis-report \ --service-type RDS \ --identifier db-abcdefg123456789 \ --start-time 1682969503 \ --end-time 1682979503

Output:

{ "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.

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-report elimina il report di analisi delle prestazioni con l’ID del report report-0d99cc91c4422ee61.

aws pi delete-performance-analysis-report \ --service-type RDS \ --identifier db-abcdefg123456789 \ --analysis-report-id report-0d99cc91c4422ee61

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

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-type RDS --identifier db-LKCGOBK26374TPTDFXOIWVCPPM --start-time 1527026400 --end-time 1527080400 --metric db.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-keys richiede 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-type RDS \ --identifier db-abcdefg123456789 \ --start-time 2023-05-01T00:00:00Z \ --end-time 2023-05-01T01:00:00Z \ --metric db.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.

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-details recupera il testo completo di un’istruzione SQL per l’istanza database db-10BCD2EFGHIJ3KL4M5NO6PQRS5. --group è db.sql, e --group-identifier è db.sql.id. In questo esempio, example-sql-id rappresenta un ID SQL recuperato utilizzando le operazioni describe-dimension-keys o get-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-type RDS \ --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \ --group db.sql \ --group-identifier example-sql-id \ --requested-dimensions statement

Output:

{ "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.

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-report ottiene il report di analisi delle prestazioni per il database db-abcdefg123456789 con l’ID del report report-0d99cc91c4422ee61. La risposta fornisce lo stato, l’ID, i dettagli temporali e gli approfondimenti del report.

aws pi get-performance-analysis-report \ --service-type RDS \ --identifier db-abcdefg123456789 \ --analysis-report-id report-0d99cc91c4422ee61

Output:

{ "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.

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-metadata seguente ottiene i metadati delle risorse per il database db-abcdefg123456789. La risposta mostra che le statistiche digest di SQL sono abilitate.

aws pi get-resource-metadata \ --service-type RDS \ --identifier db-abcdefg123456789

Output:

{ "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-type RDS --identifier db-LKCGOBK26374TPTDFXOIWVCPPM --start-time 1527026400 --end-time 1527080400 --period-in-seconds 300 --metric db.load.avg --metric-queries file://metric-queries.json

Gli argomenti per --metric-queries sono 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-dimensions seguente elenca le metriche db.load su cui è possibile eseguire una query per il database db-abcdefg123456789.

aws pi list-available-resource-dimensions \ --service-type RDS \ --identifier db-abcdefg123456789 \ --metrics db.load

Output:

{ "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.

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-metrics seguente elenca le metriche db.load su cui è possibile eseguire una query per il database db-abcdefg123456789.

aws pi list-available-resource-metrics \ --service-type RDS \ --identifier db-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.

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-reports elenca tutti i report di analisi delle prestazioni disponibili per il database db-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-type RDS \ --identifier db-abcdefg123456789

Output:

{ "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.

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-resource elenca i tag per un report di analisi delle prestazioni con l’ID del report report-0d99cc91c4422ee61.

aws pi list-tags-for-resource \ --service-type RDS \ --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61

Output:

{ "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-resource seguente aggiunge la chiave del tag name con il valore del tag test-tag a un report di analisi delle prestazioni con l’ID del report report-0d99cc91c4422ee61.

aws pi tag-resource \ --service-type RDS \ --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61 \ --tags Key=name,Value=test-tag

Questo 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-resource elimina il tag name del report di analisi delle prestazioni con l’ID del report report-0d99cc91c4422ee61.

aws pi untag-resource \ --service-type RDS \ --resource-arn arn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61 \ --tag-keys name

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