Exemples d'Amazon RDS Performance Insights utilisant AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'Amazon RDS Performance Insights utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'Amazon RDS Performance Insights.

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 utilisercreate-performance-analysis-report.

AWS CLI

Pour créer un rapport d’analyse des performances

L’exemple create-performance-analysis-report suivant crée un rapport d’analyse des performances avec l’heure de début 1682969503 et l’heure de fin 1682979503 pour la base de données db-abcdefg123456789.

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

Sortie :

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

L'exemple de code suivant montre comment utiliserdelete-performance-analysis-report.

AWS CLI

Pour supprimer un rapport d’analyse des performances

L’exemple delete-performance-analysis-report suivant supprime le rapport d’analyse des performances avec l’ID du rapport report-0d99cc91c4422ee61.

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

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

L'exemple de code suivant montre comment utiliserdescribe-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-type RDS --identifier db-LKCGOBK26374TPTDFXOIWVCPPM --start-time 1527026400 --end-time 1527080400 --metric db.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-keys suivante 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-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}'

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, reportez-vous DescribeDimensionKeysà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-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-details suivant extrait le texte intégral d’une instruction SQL pour une instance de base de données db-10BCD2EFGHIJ3KL4M5NO6PQRS5. Le --group est db.sql et l’--group-identifier est db.sql.id. Dans cet exemple, example-sql-id représente un ID SQL extrait à l’aide des opérations get-resource-metrics ou describe-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-type RDS \ --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \ --group db.sql \ --group-identifier example-sql-id \ --requested-dimensions statement

Sortie :

{ "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, reportez-vous GetDimensionKeyDetailsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-performance-analysis-report.

AWS CLI

Pour obtenir un rapport d’analyse des performances

L’exemple get-performance-analysis-report suivant fournit le rapport d’analyse des performances de la base de données db-abcdefg123456789 avec l’ID du rapport report-0d99cc91c4422ee61. La réponse fournit l’état du rapport, son ID, les détails temporels et des informations.

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

Sortie :

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

L'exemple de code suivant montre comment utiliserget-resource-metadata.

AWS CLI

Pour obtenir les métadonnées des ressources d’une base de données

L’exemple get-resource-metadata suivant fournit les métadonnées des ressources pour la base de données db-abcdefg123456789. La réponse indique que les statistiques SQL Digest sont activées.

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

Sortie :

{ "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, reportez-vous GetResourceMetadataà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-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-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

Les arguments pour --metric-queries sont 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, reportez-vous GetResourceMetricsà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-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-dimensions suivant répertorie les métriques db.load que vous pouvez interroger pour la base de données db-abcdefg123456789.

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

Sortie :

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

L'exemple de code suivant montre comment utiliserlist-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-metrics suivant répertorie les métriques db.load que vous pouvez interroger pour la base de données db-abcdefg123456789.

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

L'exemple de code suivant montre comment utiliserlist-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-reports suivant répertorie tous les rapports d’analyse des performances disponibles pour la base de données db-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-type RDS \ --identifier db-abcdefg123456789

Sortie :

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

L'exemple de code suivant montre comment utiliserlist-tags-for-resource.

AWS CLI

Pour répertorier les balises pour un rapport d’analyse des performances

L’exemple list-tags-for-resource suivant répertorie les balises d’un rapport d’analyse des performances avec l’ID du rapport 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

Sortie :

{ "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, reportez-vous ListTagsForResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisertag-resource.

AWS CLI

Pour ajouter une balise à un rapport d’analyse des performances

L’exemple tag-resource suivant ajoute la clé de balise name avec la valeur de la balise test-tag à un rapport d’analyse des performances avec l’ID du rapport 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

Cette 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, reportez-vous TagResourceà la section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliseruntag-resource.

AWS CLI

Pour supprimer une balise d’un rapport d’analyse des performances

L’exemple untag-resource suivant supprime la balise name d’un rapport d’analyse des performances avec l’ID du rapport 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

Cette 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, reportez-vous UntagResourceà la section Référence des AWS CLI commandes.