Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos do Amazon RDS Performance Insights usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon RDS Performance Insights.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-performance-analysis-report
.
- AWS CLI
-
Para criar um relatório de análise de desempenho
O
create-performance-analysis-report
exemplo a seguir cria um relatório de análise de desempenho com a hora de início1682969503
e a hora de término do banco de dadosdb-abcdefg123456789
.1682979503
aws pi create-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --start-time1682969503
\ --end-time1682979503
Saída:
{ "AnalysisReportId": "report-0234d3ed98e28fb17" }
Para obter mais informações sobre a criação de relatórios de análise de desempenho, consulte Criação de um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon RDS e Criação de um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte CreatePerformanceAnalysisReport
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-performance-analysis-report
.
- AWS CLI
-
Para excluir um relatório de análise de desempenho
O
delete-performance-analysis-report
exemplo a seguir exclui o relatório de análise de desempenho com o IDreport-0d99cc91c4422ee61
do relatório.aws pi delete-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --analysis-report-idreport-0d99cc91c4422ee61
Este comando não produz saída.
Para obter mais informações sobre a exclusão de relatórios de análise de desempenho, consulte Excluir um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon RDS e Excluir um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte DeletePerformanceAnalysisReport
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-dimension-keys
.
- AWS CLI
-
Exemplo 1: Para descrever as chaves de dimensão
Este exemplo solicita os nomes de todos os eventos de espera. Os dados são organizados pelo nome do evento e pelos valores agregados desses eventos durante o período especificado.
Comando:
aws pi describe-dimension-keys --service-type
RDS
--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM
--start-time1527026400
--end-time1527080400
--metricdb.load.avg
--group-by '{"Group":"db.wait_event"}
'Saída:
{ "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 } ] }
Exemplo 2: Para encontrar o ID SQL das instruções que mais contribuem para a carga do banco de dados
O seguinte
describe-dimension-keys
solicita a instrução SQL e o ID SQL para as 10 instruções que mais contribuíram para a carga do banco de dados.aws pi describe-dimension-keys \ --service-type
RDS
\ --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}
'Saída:
{ "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] } ] } ] }
Para obter mais informações sobre dimensões no Performance Insights, consulte Carga do banco de dados no Guia do usuário do Amazon RDS e Carga do banco de dados no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte DescribeDimensionKeys
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-dimension-key-details
.
- AWS CLI
-
Para obter detalhes de um grupo de dimensões especificado para uma instância de banco de dados
O
get-dimension-key-details
exemplo a seguir recupera o texto completo de uma instrução SQL para instânciadb-10BCD2EFGHIJ3KL4M5NO6PQRS5
de banco de dados. O--group
édb.sql
, e o--group-identifier
édb.sql.id
. Neste exemplo,example-sql-id
representa uma ID SQL recuperada usando asdescribe-dimension-keys
operaçõesget-resource-metrics
ou. Nesse exemplo, os detalhes das dimensões estão disponíveis. Assim, o Performance Insights recupera o texto completo da instrução SQL, sem truncá-lo.aws pi get-dimension-key-details \ --service-type
RDS
\ --identifierdb-10BCD2EFGHIJ3KL4M5NO6PQRS5
\ --groupdb.sql
\ --group-identifierexample-sql-id
\ --requested-dimensionsstatement
Saída:
{ "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" }, ... ] }
Para obter mais informações sobre dimensões no Performance Insights, consulte Carga do banco de dados no Guia do usuário do Amazon RDS e Carga do banco de dados no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte GetDimensionKeyDetails
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-performance-analysis-report
.
- AWS CLI
-
Para obter um relatório de análise de desempenho
O
get-performance-analysis-report
exemplo a seguir obtém o relatório de análise de desempenho do banco de dadosdb-abcdefg123456789
com o ID do relatórioreport-0d99cc91c4422ee61
. A resposta fornece o status, o ID, os detalhes do horário e os insights do relatório.aws pi get-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --analysis-report-idreport-0d99cc91c4422ee61
Saída:
{ "AnalysisReport": { "Status": "Succeeded", "ServiceType": "RDS", "Identifier": "db-abcdefg123456789", "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "Insights": [ ... (Condensed for space) ] } }
Para obter mais informações sobre relatórios de análise de desempenho, consulte Análise do desempenho do banco de dados por um período no Guia do usuário do Amazon RDS e Análise do desempenho do banco de dados por um período no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte GetPerformanceAnalysisReport
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-resource-metadata
.
- AWS CLI
-
Para obter metadados de recursos para um banco de dados
O
get-resource-metadata
exemplo a seguir obtém os metadados do recurso para o banco de dadosdb-abcdefg123456789
. A resposta mostra que as estatísticas de resumo do SQL estão habilitadas.aws pi get-resource-metadata \ --service-type
RDS
\ --identifierdb-abcdefg123456789
Saída:
{ "Identifier": "db-abcdefg123456789", "Features":{ "SQL_DIGEST_STATISTICS":{ "Status": "ENABLED" } } }
Para obter mais informações sobre estatísticas SQL para Performance Insights, consulte Estatísticas SQL para Performance Insights no Guia do usuário do Amazon RDS e estatísticas SQL para Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte GetResourceMetadata
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-resource-metrics
.
- AWS CLI
-
Para obter métricas de recursos
Este exemplo solicita pontos de dados para o grupo de dimensões db.wait_event e para a dimensão db.wait_event.name dentro desse grupo. Na resposta, os pontos de dados relevantes são agrupados pela dimensão solicitada (db.wait_event.name).
Comando:
aws pi get-resource-metrics --service-type
RDS
--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM
--start-time1527026400
--end-time1527080400
--period-in-seconds300
--metricdb.load.avg
--metric-queriesfile://metric-queries.json
Os argumentos para
--metric-queries
são armazenados no arquivo JSON chamadometric-queries.json
. Veja o conteúdo desse arquivo:[ { "Metric": "db.load.avg", "GroupBy": { "Group":"db.wait_event" } } ]
Saída:
{ "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...> ] }
-
Para obter detalhes da API, consulte GetResourceMetrics
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-available-resource-dimensions
.
- AWS CLI
-
Para listar as dimensões que podem ser consultadas para um tipo de métrica em uma instância de banco de dados
O
list-available-resource-dimensions
exemplo a seguir lista asdb.load
métricas que você pode consultar para o banco de dadosdb-abcdefg123456789
.aws pi list-available-resource-dimensions \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --metricsdb.load
Saída:
{ "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" } ] }, ... ] } ] }
Para obter mais informações sobre dimensões no Performance Insights, consulte Carga do banco de dados no Guia do usuário do Amazon RDS e Carga do banco de dados no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte ListAvailableResourceDimensions
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-available-resource-metrics
.
- AWS CLI
-
Para listar as métricas que podem ser consultadas para um tipo de métrica em uma instância de banco de dados
O
list-available-resource-metrics
exemplo a seguir lista asdb.load
métricas que você pode consultar para o banco de dadosdb-abcdefg123456789
.aws pi list-available-resource-metrics \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --metric-types"os"
"db"
Saída:
{ "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" }, ...... ] }
Para obter mais informações sobre métricas no Performance Insights, consulte Carga do banco de dados no Guia do usuário do Amazon RDS e Carga do banco de dados no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte ListAvailableResourceMetrics
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-performance-analysis-reports
.
- AWS CLI
-
Para listar relatórios de análise de desempenho para um banco de dados
O
list-performance-analysis-reports
exemplo a seguir lista os relatórios de análise de desempenho do banco de dadosdb-abcdefg123456789
. A resposta lista todos os relatórios com o ID do relatório, o status e os detalhes do período.aws pi list-performance-analysis-reports \ --service-type
RDS
\ --identifierdb-abcdefg123456789
Saída:
{ "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" } ] }
Para obter mais informações sobre relatórios de análise de desempenho, consulte Análise do desempenho do banco de dados por um período no Guia do usuário do Amazon RDS e Análise do desempenho do banco de dados por um período no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte ListPerformanceAnalysisReports
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource
.
- AWS CLI
-
Para listar tags para um relatório de análise de desempenho
O
list-tags-for-resource
exemplo a seguir lista as tags para um relatório de análise de desempenho com o ID do relatórioreport-0d99cc91c4422ee61
.aws pi list-tags-for-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
Saída:
{ "Tags": [ { "Value": "test-tag", "Key": "name" } ] }
Para obter mais informações sobre a marcação de relatórios de análise de desempenho, consulte Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon RDS e Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte ListTagsForResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource
.
- AWS CLI
-
Para adicionar uma tag a um relatório de análise de desempenho
O
tag-resource
exemplo a seguir adiciona a chave da tagname
com o valor da tagtest-tag
a um relatório de análise de desempenho com a ID do relatórioreport-0d99cc91c4422ee61
.aws pi tag-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
\ --tagsKey=name,Value=test-tag
Este comando não produz saída.
Para obter mais informações sobre a marcação de relatórios de análise de desempenho, consulte Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon RDS e Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte TagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource
.
- AWS CLI
-
Para excluir uma tag para um relatório de análise de desempenho
O
untag-resource
exemplo a seguir exclui a tag de um relatórioname
de análise de desempenho com o IDreport-0d99cc91c4422ee61
do relatório.aws pi untag-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
\ --tag-keysname
Este comando não produz saída.
Para obter mais informações sobre a marcação de relatórios de análise de desempenho, consulte Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon RDS e Adicionar tags a um relatório de análise de desempenho em Performance Insights no Guia do usuário do Amazon Aurora.
-
Para obter detalhes da API, consulte UntagResource
em Referência de AWS CLI Comandos.
-