を使用した Amazon RDS Performance Insights の例 AWS CLI - AWS SDK コードの例

Doc AWS SDK Examples GitHub リポジトリには、他にも SDK の例があります。 AWS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した Amazon RDS Performance Insights の例 AWS CLI

次のコード例は、Amazon RDS Performance Insights AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次の例は、create-performance-analysis-report を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートを表示するには

次の create-performance-analysis-report の例では、データベースの db-abcdefg123456789 に対して、開始時間 1682969503 と終了時間 1682979503 を使用してパフォーマンス分析レポートを作成します。

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

出力:

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

パフォーマンス分析レポートの作成の詳細については、「Amazon RDS ユーザーガイド」の「Performance Insights でのパフォーマンス分析レポートの作成」および「Amazon Aurora ユーザーガイド」の「Performance Insights でのパフォーマンス分析レポートの作成」を参照してください。

次の例は、delete-performance-analysis-report を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートを削除するには

次の delete-performance-analysis-report 例では、レポート ID が report-0d99cc91c4422ee61 であるパフォーマンス分析レポートを削除します。

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

このコマンドでは何も出力されません。

パフォーマンス分析レポートの削除の詳細については、「Performance Insights のパフォーマンス分析レポートの削除zon RDS ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートの削除」および「Amazon Aurora ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートの削除」を参照してください。

次の例は、describe-dimension-keys を使用する方法を説明しています。

AWS CLI

例 1: ディメンションキーについて説明するには

この例では、すべての待機イベントの名前をリクエストします。データは、イベント名と、指定された期間におけるそれらのイベントの集計値によって要約されます。

コマンド:

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

出力:

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

例 2: DB 負荷に最も寄与するステートメントの SQL ID を検索するには

次の describe-dimension-keys は、DB 負荷に最も寄与した 10 のステートメントの SQL ステートメントと SQL ID をリクエストします。

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

出力:

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

Performance Insights のディメンションの詳細については、「Amazon RDS ユーザーガイド」の「データベース負荷」および「Amazon Aurora ユーザーガイド」の「データベース負荷」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeDimensionKeys」を参照してください。

次の例は、get-dimension-key-details を使用する方法を説明しています。

AWS CLI

DB インスタンスの指定されたディメンショングループの詳細を取得するには

次の get-dimension-key-details 例では、DB インスタンス db-10BCD2EFGHIJ3KL4M5NO6PQRS5 の SQL ステートメントの全文を取得します。--groupdb.sql であり、--group-identifierdb.sql.id です。この例では、example-sql-idget-resource-metrics または describe-dimension-keys オペレーションを使用して取得された SQL ID を表します。この例では、ディメンションの詳細を使用できます。したがって、Performance Insights は、SQL ステートメントを切り捨てることなく、その全文を取得します。

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

出力:

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

Performance Insights のディメンションの詳細については、「Amazon RDS ユーザーガイド」の「データベース負荷」および「Amazon Aurora ユーザーガイド」の「データベース負荷」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetDimensionKeyDetails」を参照してください。

次の例は、get-performance-analysis-report を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートを表示するには

次の get-performance-analysis-report 例では、レポート ID report-0d99cc91c4422ee61 を持つデータベース db-abcdefg123456789 のパフォーマンス分析レポートを取得します。レスポンスには、レポートのステータス、ID、時間の詳細、およびインサイトが表示されます。

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

出力:

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

パフォーマンス分析レポートの詳細については、「Amazon RDS ユーザーガイド」の「一定期間のデータベースパフォーマンスの分析」および「Amazon Aurora ユーザーガイド」の「一定期間のデータベースパフォーマンスの分析」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetPerformanceAnalysisReport」を参照してください。

次の例は、get-resource-metadata を使用する方法を説明しています。

AWS CLI

データベースのリソースメタデータを取得するには

次の get-resource-metadata 例では、データベース db-abcdefg123456789 のリソースメタデータを取得します。レスポンスは、SQL ダイジェスト統計が有効になっていることを示しています。

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

出力:

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

Performance Insights の SQL 統計の詳細については、「Amazon RDS ユーザーガイド」の「Performance Insights の SQL 統計」および「Amazon Aurora ユーザーガイド」の「Performance Insights の SQL 統計」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetResourceMetadata」を参照してください。

次の例は、get-resource-metrics を使用する方法を説明しています。

AWS CLI

リソースメトリクスを取得するには

この例では、db.wait_event ディメンショングループと、そのグループ内の db.wait_event.name ディメンションのデータポイントをリクエストします。レスポンスでは、関連するデータポイントは、リクエストされたディメンション (db.wait_event.name) によってグループ化されます。

コマンド:

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

--metric-queries の引数は、JSON ファイル metric-queries.json に保存されます。ファイルの内容は次のとおりです。

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

出力:

{ "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...> ] }
  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetResourceMetrics」を参照してください。

次の例は、list-available-resource-dimensions を使用する方法を説明しています。

AWS CLI

DB インスタンスでメトリクスタイプに対してクエリできるディメンションを一覧表示するには

次の list-available-resource-dimensions 例では、データベース db-abcdefg123456789 に対してクエリできる db.load メトリクスを一覧表示します。

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

出力:

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

Performance Insights のディメンションの詳細については、「Amazon RDS ユーザーガイド」の「データベース負荷」および「Amazon Aurora ユーザーガイド」の「データベース負荷」を参照してください。

次の例は、list-available-resource-metrics を使用する方法を説明しています。

AWS CLI

DB インスタンスのメトリクスタイプに対してクエリできるメトリクスを一覧表示するには

次の list-available-resource-metrics 例では、データベース db-abcdefg123456789 に対してクエリできる db.load メトリクスを一覧表示します。

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

出力:

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

Performance Insights のメトリクスの詳細については、「Amazon RDS ユーザーガイド」の「データベース負荷」および「Amazon Aurora ユーザーガイド」の「データベース負荷」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListAvailableResourceMetrics」を参照してください。

次の例は、list-performance-analysis-reports を使用する方法を説明しています。

AWS CLI

データベースのパフォーマンス分析レポートを一覧表示するには

次の list-performance-analysis-reports 例は、データベース db-abcdefg123456789 のパフォーマンス分析レポートを一覧表示します。レスポンスには、すべてのレポートがレポートの ID、ステータス、および時間の詳細とともに一覧表示されます。

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

出力:

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

パフォーマンス分析レポートの詳細については、「Amazon RDS ユーザーガイド」の「一定期間のデータベースパフォーマンスの分析」および「Amazon Aurora ユーザーガイド」の「一定期間のデータベースパフォーマンスの分析」を参照してください。

次の例は、list-tags-for-resource を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートのタグを一覧表示するには

次の list-tags-for-resource 例では、レポート ID 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

出力:

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

パフォーマンス分析レポートのタグ付けの詳細については、「Amazon RDS ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」および「Amazon Aurora ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次の例は、tag-resource を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートにタグを追加するには

次の tag-resource 例では、タグ値 test-tag を持つタグキー name を、レポート ID 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

このコマンドでは何も出力されません。

パフォーマンス分析レポートのタグ付けの詳細については、「Amazon RDS ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」および「Amazon Aurora ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「TagResource」を参照してください。

次の例は、untag-resource を使用する方法を説明しています。

AWS CLI

パフォーマンス分析レポートにタグを削除するには

次の untag-resource 例では、レポート ID report-0d99cc91c4422ee61 を持つパフォーマンス分析レポートのタグ name を削除します。

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

このコマンドでは何も出力されません。

パフォーマンス分析レポートのタグ付けの詳細については、「Amazon RDS ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」および「Amazon Aurora ユーザーガイド」の「Performance Insights のパフォーマンス分析レポートにタグを追加する」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。