Beispiele für Erkenntnisse zur Amazon-RDS-Leistung zur Verwendung von AWS CLI - AWS Command Line Interface

Beispiele für Erkenntnisse zur Amazon-RDS-Leistung zur Verwendung von AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie das AWS Command Line Interface mit Erkenntnissen zur Amazon-RDS-Leistung nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie create-performance-analysis-report verwendet wird.

AWS CLI

So erstellen Sie einen Leistungsanalysebericht

Im folgenden Beispiel für create-performance-analysis-report wird ein Leistungsanalysebericht mit der Startzeit 1682969503 und der Endzeit 1682979503 für die db-abcdefg123456789-Datenbank erstellt.

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

Ausgabe:

{ "AnalysisReportId": "report-0234d3ed98e28fb17" }

Weitere Informationen zum Erstellen von Leistungsanalyseberichten finden Sie unter Erstellen eines Leistungsanalyseberichts in Performance Insights im Benutzerhandbuch zu Amazon RDS und Erstellen eines Leistungsanalyseberichts in Performance Insights im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie delete-performance-analysis-report verwendet wird.

AWS CLI

So löschen Sie einen Leistungsanalysebericht

Im folgenden Beispiel für delete-performance-analysis-report wird der Leistungsanalysebericht mit der Berichts-ID report-0d99cc91c4422ee61 gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zum Löschen von Leistungsanalyseberichten finden Sie unter Löschen eines Leistungsanalyseberichts in Performance Insights im Benutzerhandbuch zu Amazon RDS und Löschen eines Leistungsanalyseberichts in Performance Insights im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie describe-dimension-keys verwendet wird.

AWS CLI

Beispiel 1: So beschreiben Sie Dimensionsschlüssel

In diesem Beispiel werden die Namen aller Warteereignisse abgefragt. Die Daten werden nach Ereignisnamen und den Aggregatwerten dieser Ereignisse über den angegebenen Zeitraum zusammengefasst.

Befehl:

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"}'

Ausgabe:

{ "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 } ] }

Beispiel 2: So finden Sie die SQL-ID für Anweisungen, die am meisten zur Datenbanklast beitragen

Im folgenden Beispiel für describe-dimension-keys werden die SQL-Anweisungen und die SQL-ID für die 10 Anweisungen abgefragt, die am meisten zur Datenbanklast beigetragen haben.

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}'

Ausgabe:

{ "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] } ] } ] }

Weitere Informationen zu Dimensionen in Performance Insights finden Sie unter Datenbanklast im Benutzerhandbuch zu Amazon RDS und Datenbanklast im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie get-dimension-key-details verwendet wird.

AWS CLI

So rufen Sie Details für eine bestimmte Dimensionsgruppe einer DB-Instance ab

Im folgenden Beispiel für get-dimension-key-details wird der Volltext einer SQL-Anweisung für die DB-Instance db-10BCD2EFGHIJ3KL4M5NO6PQRS5 abgerufen. --group ist db.sql und --group-identifier ist db.sql.id. In diesem Beispiel ist example-sql-id eine SQL-ID, die mithilfe der Operationen get-resource-metrics oder describe-dimension-keys abgerufen wurde. In diesem Beispiel sind die Dimensionsdetails verfügbar. Performance Insights ruft also den vollständigen Text der SQL-Anweisung ab, ohne ihn abzuschneiden.

aws pi get-dimension-key-details \ --service-type RDS \ --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \ --group db.sql \ --group-identifier example-sql-id \ --requested-dimensions statement

Ausgabe:

{ "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" }, ... ] }

Weitere Informationen zu Dimensionen in Performance Insights finden Sie unter Datenbanklast im Benutzerhandbuch zu Amazon RDS und Datenbanklast im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie get-performance-analysis-report verwendet wird.

AWS CLI

So rufen Sie einen Leistungsanalysebericht ab

Im folgenden Beispiel für get-performance-analysis-report wird der Leistungsanalysebericht für die Datenbank db-abcdefg123456789 mit der Berichts-ID report-0d99cc91c4422ee61 abgerufen. Die Antwort enthält den Berichtsstatus, die ID, Zeitdetails und Einblicke.

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

Ausgabe:

{ "AnalysisReport": { "Status": "Succeeded", "ServiceType": "RDS", "Identifier": "db-abcdefg123456789", "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "Insights": [ ... (Condensed for space) ] } }

Weitere Informationen zu Leistungsanalyseberichten finden Sie unter Analysieren der Datenbankleistung für einen bestimmten Zeitraum im Benutzerhandbuch zu Amazon RDS und Analysieren der Datenbankleistung für einen bestimmten Zeitraum im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie get-resource-metadata verwendet wird.

AWS CLI

So rufen Sie Ressourcenmetadaten für eine Datenbank ab

Im folgenden Beispiel für get-resource-metadata werden die Ressourcenmetadaten für die Datenbank db-abcdefg123456789 abgerufen. Die Antwort zeigt, dass SQL-Digest-Statistiken aktiviert ist.

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

Ausgabe:

{ "Identifier": "db-abcdefg123456789", "Features":{ "SQL_DIGEST_STATISTICS":{ "Status": "ENABLED" } } }

Weitere Informationen zu SQL-Statistiken für Performance Insights finden Sie unter SQL-Statistiken für Performance Insights im Benutzerhandbuch zu Amazon RDS und SQL-Statistiken für Performance Insights im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie get-resource-metrics verwendet wird.

AWS CLI

So rufen Sie Ressourcenmetriken ab

In diesem Beispiel werden Datenpunkte für die Dimensionsgruppe db.wait_event und für die Dimension db.wait_event.name in dieser Gruppe angefordert. In der Antwort werden die relevanten Datenpunkte nach der angeforderten Dimension (db.wait_event.name) gruppiert.

Befehl:

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

Die Argumente für --metric-queries werden in der JSON-Datei metric-queries.json gespeichert. Hier ist der Inhalt dieser Datei:

[ { "Metric": "db.load.avg", "GroupBy": { "Group":"db.wait_event" } } ]

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-available-resource-dimensions verwendet wird.

AWS CLI

So listen Sie die Dimensionen auf, die für einen Metriktyp von einer DB-Instance abgefragt werden können

Im folgenden Beispiel für list-available-resource-dimensions werden die db.load-Metriken aufgelistet, die Sie von der Datenbank db-abcdefg123456789 abfragen können.

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

Ausgabe:

{ "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" } ] }, ... ] } ] }

Weitere Informationen zu Dimensionen in Performance Insights finden Sie unter Datenbanklast im Benutzerhandbuch zu Amazon RDS und Datenbanklast im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie list-available-resource-metrics verwendet wird.

AWS CLI

So listen Sie die Metriken auf, die für einen Metriktyp von einer DB-Instance abgefragt werden können

Im folgenden Beispiel für list-available-resource-metrics werden die db.load-Metriken aufgelistet, die Sie von der Datenbank db-abcdefg123456789 abfragen können.

aws pi list-available-resource-metrics \ --service-type RDS \ --identifier db-abcdefg123456789 \ --metric-types "os" "db"

Ausgabe:

{ "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" }, ...... ] }

Weitere Informationen zu Metriken in Performance Insights finden Sie unter Datenbanklast im Benutzerhandbuch zu Amazon RDS und Datenbanklast im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie list-performance-analysis-reports verwendet wird.

AWS CLI

So listen Sie Leistungsanalyseberichte für eine Datenbank auf

Im folgenden Beispiel für list-performance-analysis-reports werden alle Leistungsanalyseberichte für die db-abcdefg123456789-Datenbank aufgelistet. In der Antwort werden alle Berichte mit der Berichts-ID, dem Status und den Details zum Zeitraum aufgeführt.

aws pi list-performance-analysis-reports \ --service-type RDS \ --identifier db-abcdefg123456789

Ausgabe:

{ "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" } ] }

Weitere Informationen zu Leistungsanalyseberichten finden Sie unter Analysieren der Datenbankleistung für einen bestimmten Zeitraum im Benutzerhandbuch zu Amazon RDS und Analysieren der Datenbankleistung für einen bestimmten Zeitraum im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So listen Sie alle Tags für einen Leistungsanalysebericht auf

Im folgenden Beispiel für list-tags-for-resource werden die Tags für einen Leistungsanalysebericht mit der Berichts-ID report-0d99cc91c4422ee61 aufgelistet.

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

Ausgabe:

{ "Tags": [ { "Value": "test-tag", "Key": "name" } ] }

Weitere Informationen zum Markieren von Leistungsanalyseberichten finden Sie unter Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon RDS und Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon Aurora.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

So fügen Sie einen Tag zu einem Leistungsanalysebericht hinzu

Im folgenden Beispiel für tag-resource wird der Tag-Schlüssel name mit dem Tag-Wert test-tag zu einem Leistungsanalysebericht mit der Berichts-ID report-0d99cc91c4422ee61 hinzugefügt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zum Markieren von Leistungsanalyseberichten finden Sie unter Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon RDS und Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon Aurora.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So löschen Sie einen Tag aus einem Leistungsanalysebericht

Im folgenden Beispiel für untag-resource wird das Tag name aus einem Leistungsanalysebericht mit der Berichts-ID report-0d99cc91c4422ee61 gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zum Markieren von Leistungsanalyseberichten finden Sie unter Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon RDS und Hinzufügen von Tags zu einem Leistungsanalysebericht in Performance Insights im Benutzerhandbuch zu Amazon Aurora.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.