Exemples d’utilisation de l’AWS CLI avec l’analyse des performances d’Amazon RDS
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec l’analyse des performances d’Amazon RDS.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser create-performance-analysis-report.
- AWS CLI
-
Pour créer un rapport d’analyse des performances
L’exemple
create-performance-analysis-reportsuivant crée un rapport d’analyse des performances avec l’heure de début1682969503et l’heure de fin1682979503pour la base de donnéesdb-abcdefg123456789.aws pi create-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --start-time1682969503\ --end-time1682979503Sortie :
{ "AnalysisReportId": "report-0234d3ed98e28fb17" }Pour plus d’informations sur la création de rapports d’analyse des performances, consultez Création d’un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon RDS et Création d’un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez CreatePerformanceAnalysisReport
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-performance-analysis-report.
- AWS CLI
-
Pour supprimer un rapport d’analyse des performances
L’exemple
delete-performance-analysis-reportsuivant supprime le rapport d’analyse des performances avec l’ID du rapportreport-0d99cc91c4422ee61.aws pi delete-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --analysis-report-idreport-0d99cc91c4422ee61Cette commande ne produit aucune sortie.
Pour plus d’informations sur la suppression de rapports d’analyse des performances, consultez Suppression d’un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon RDS et Suppression d’un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez DeletePerformanceAnalysisReport
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-dimension-keys.
- AWS CLI
-
Exemple 1 : pour décrire les clés de dimension
Cet exemple demande les noms de tous les événements d’attente. Les données sont résumées par nom d’événement et par valeurs agrégées de ces événements sur la période spécifiée.
Commande :
aws pi describe-dimension-keys --service-typeRDS--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM--start-time1527026400--end-time1527080400--metricdb.load.avg--group-by '{"Group":"db.wait_event"}'Sortie :
{ "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 } ] }Exemple 2 : pour trouver l’ID SQL des instructions qui contribuent le plus à la charge de base de données
La clé
describe-dimension-keyssuivante demande l’instruction SQL et l’ID SQL pour les 10 instructions qui ont le plus contribué à la charge de base de données.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}'Sortie :
{ "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] } ] } ] }Pour plus d’informations sur les dimensions dans Performance Insights, consultez Charge de la base de données dans le Guide de l’utilisateur Amazon RDS et Charge de la base de données dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez DescribeDimensionKeys
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-dimension-key-details.
- AWS CLI
-
Pour obtenir des détails sur un groupe de dimensions spécifié pour une instance de base de données
L’exemple
get-dimension-key-detailssuivant récupère le texte intégral d’une instruction SQL pour une instance de base de donnéesdb-10BCD2EFGHIJ3KL4M5NO6PQRS5. Le--groupestdb.sqlet l'--group-identifierestdb.sql.id. Dans cet exemple,example-sql-idreprésente un ID SQL extrait à l’aide des opérationsget-resource-metricsoudescribe-dimension-keys. Dans cet exemple, les détails des dimensions sont disponibles. Ainsi, Performance Insights récupère le texte intégral de l'instruction SQL, sans le tronquer.aws pi get-dimension-key-details \ --service-typeRDS\ --identifierdb-10BCD2EFGHIJ3KL4M5NO6PQRS5\ --groupdb.sql\ --group-identifierexample-sql-id\ --requested-dimensionsstatementSortie :
{ "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" }, ... ] }Pour plus d’informations sur les dimensions dans Performance Insights, consultez Charge de la base de données dans le Guide de l’utilisateur Amazon RDS et Charge de la base de données dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez GetDimensionKeyDetails
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-performance-analysis-report.
- AWS CLI
-
Pour obtenir un rapport d’analyse des performances
L’exemple
get-performance-analysis-reportsuivant fournit le rapport d’analyse des performances de la base de donnéesdb-abcdefg123456789avec l’ID du rapportreport-0d99cc91c4422ee61. La réponse fournit l’état du rapport, son identifiant, les détails temporels et des informations.aws pi get-performance-analysis-report \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --analysis-report-idreport-0d99cc91c4422ee61Sortie :
{ "AnalysisReport": { "Status": "Succeeded", "ServiceType": "RDS", "Identifier": "db-abcdefg123456789", "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "Insights": [ ... (Condensed for space) ] } }Pour plus d’informations sur les rapports d’analyse des performances, consultez Analyse des performances de base de données pour une période donnée dans le Guide de l’utilisateur Amazon RDS et Analyse des performances de base de données pour une période donnée dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez GetPerformanceAnalysisReport
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-resource-metadata.
- AWS CLI
-
Pour obtenir les métadonnées des ressources d’une base de données
L’exemple
get-resource-metadatasuivant fournit les métadonnées des ressources pour la base de donnéesdb-abcdefg123456789. La réponse indique que les statistiques SQL Digest sont activées.aws pi get-resource-metadata \ --service-typeRDS\ --identifierdb-abcdefg123456789Sortie :
{ "Identifier": "db-abcdefg123456789", "Features":{ "SQL_DIGEST_STATISTICS":{ "Status": "ENABLED" } } }Pour plus d’informations sur les statistiques SQL pour Performance Insights, consultez Statistiques SQL pour Performance Insights dans le Guide de l’utilisateur Amazon RDS et Statistiques SQL pour Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez GetResourceMetadata
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-resource-metrics.
- AWS CLI
-
Pour obtenir les métriques des ressources
Cet exemple demande des points de données pour le groupe de dimensions db.wait_event et pour la dimension db.wait_event.name au sein de ce groupe. Dans la réponse, les points de données pertinents sont regroupés selon la dimension demandée (db.wait_event.name).
Commande :
aws pi get-resource-metrics --service-typeRDS--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM--start-time1527026400--end-time1527080400--period-in-seconds300--metricdb.load.avg--metric-queriesfile://metric-queries.jsonLes arguments pour
--metric-queriessont stockés dans le fichier JSON,metric-queries.json. Voici le contenu de ce fichier :[ { "Metric": "db.load.avg", "GroupBy": { "Group":"db.wait_event" } } ]Sortie :
{ "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...> ] }-
Pour plus de détails sur l’API, consultez GetResourceMetrics
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-available-resource-dimensions.
- AWS CLI
-
Pour répertorier les dimensions pouvant être interrogées pour un type de métrique sur une instance de base de données
L’exemple
list-available-resource-dimensionssuivant répertorie les métriquesdb.loadque vous pouvez interroger pour la base de donnéesdb-abcdefg123456789.aws pi list-available-resource-dimensions \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --metricsdb.loadSortie :
{ "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" } ] }, ... ] } ] }Pour plus d’informations sur les dimensions dans Performance Insights, consultez Charge de la base de données dans le Guide de l’utilisateur Amazon RDS et Charge de la base de données dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez ListAvailableResourceDimensions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-available-resource-metrics.
- AWS CLI
-
Pour répertorier les métriques pouvant être interrogées pour un type de métrique sur une instance de base de données
L’exemple
list-available-resource-metricssuivant répertorie les métriquesdb.loadque vous pouvez interroger pour la base de donnéesdb-abcdefg123456789.aws pi list-available-resource-metrics \ --service-typeRDS\ --identifierdb-abcdefg123456789\ --metric-types"os""db"Sortie :
{ "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" }, ...... ] }Pour plus d’informations sur les métriques dans Performance Insights, consultez Charge de la base de données dans le Guide de l’utilisateur Amazon RDS et Charge de la base de données dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez ListAvailableResourceMetrics
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-performance-analysis-reports.
- AWS CLI
-
Pour répertorier les rapports d’analyse des performances d’une base de données
L’exemple
list-performance-analysis-reportssuivant répertorie tous les rapports d’analyse des performances disponibles pour la base de donnéesdb-abcdefg123456789. La réponse répertorie tous les rapports avec l'ID du rapport, le statut et les détails temporels de la période.aws pi list-performance-analysis-reports \ --service-typeRDS\ --identifierdb-abcdefg123456789Sortie :
{ "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" } ] }Pour plus d’informations sur les rapports d’analyse des performances, consultez Analyse des performances de base de données pour une période donnée dans le Guide de l’utilisateur Amazon RDS et Analyse des performances de base de données pour une période donnée dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez ListPerformanceAnalysisReports
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-tags-for-resource.
- AWS CLI
-
Pour répertorier les balises pour un rapport d’analyse des performances
L’exemple
list-tags-for-resourcesuivant répertorie les balises d’un rapport d’analyse des performances avec l’ID du rapportreport-0d99cc91c4422ee61.aws pi list-tags-for-resource \ --service-typeRDS\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61Sortie :
{ "Tags": [ { "Value": "test-tag", "Key": "name" } ] }Pour plus d’informations sur le balisage de rapports d’analyse des performances, consultez Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon RDS et Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez ListTagsForResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser tag-resource.
- AWS CLI
-
Pour ajouter une balise à un rapport d’analyse des performances
L’exemple
tag-resourcesuivant ajoute la clé de balisenameavec la valeur de la balisetest-tagà un rapport d’analyse des performances avec l’ID du rapportreport-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-tagCette commande ne produit aucune sortie.
Pour plus d’informations sur le balisage de rapports d’analyse des performances, consultez Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon RDS et Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez TagResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser untag-resource.
- AWS CLI
-
Pour supprimer une balise d’un rapport d’analyse des performances
L’exemple
untag-resourcesuivant supprime la balisenamed’un rapport d’analyse des performances avec l’ID du rapportreport-0d99cc91c4422ee61.aws pi untag-resource \ --service-typeRDS\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61\ --tag-keysnameCette commande ne produit aucune sortie.
Pour plus d’informations sur le balisage de rapports d’analyse des performances, consultez Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon RDS et Ajout de balises à un rapport d’analyse des performances dans Performance Insights dans le Guide de l’utilisateur Amazon Aurora.
-
Pour plus de détails sur l’API, consultez UntagResource
dans la Référence des commandes de l’AWS CLI.
-