Ejemplos de Amazon RDS Performance Insights utilizando AWS CLI - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Amazon RDS Performance Insights utilizando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante Amazon RDS Performance Insights. AWS Command Line Interface

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar create-performance-analysis-report.

AWS CLI

Creación de un informe de análisis de rendimiento

En el siguiente ejemplo de create-performance-analysis-report, se crea un informe de análisis de rendimiento con la hora de inicio 1682969503 y la hora de finalización 1682979503 para la base de datos db-abcdefg123456789.

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

Salida:

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

Para obtener más información sobre la creación de informes de análisis de rendimiento, consulte Creación de un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon RDS y Creación de un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-performance-analysis-report.

AWS CLI

Eliminación de un informe de análisis de rendimiento

El siguiente ejemplo de delete-performance-analysis-report, se elimina el informe de análisis de rendimiento con el ID de informe report-0d99cc91c4422ee61.

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

Este comando no genera ninguna salida.

Para obtener más información sobre la eliminación de informes de análisis de rendimiento, consulte Eliminación de un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon RDS y Eliminación de un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-dimension-keys.

AWS CLI

Ejemplo 1: Para describir las claves de dimensión

En este ejemplo se solicitan los nombres de todos los eventos de espera. Los datos se resumen por nombre del evento y los valores agregados de esos eventos durante el período de tiempo especificado.

Comando:

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

Salida:

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

Ejemplo 2: Para encontrar el ID de SQL de las instrucciones que más contribuyen a la carga de la base de datos

La siguiente describe-dimension-keys solicita la instrucción SQL y el ID de SQL para las 10 instrucciones que más han contribuido a la carga de la base de datos.

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

Salida:

{ "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 obtener más información sobre las dimensiones en Información de rendimiento, consulte Carga de la base de datos en la Guía del usuario de Amazon RDS y Carga de la base de datos en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte DescribeDimensionKeysla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-dimension-key-details.

AWS CLI

Obtención de detalles de un grupo de dimensiones específico para una instancia de base de datos

En el siguiente ejemplo de get-dimension-key-details, se recupera el texto completo de una instrucción SQL para una instancia de base de datos db-10BCD2EFGHIJ3KL4M5NO6PQRS5. El --group es db.sql y el --group-identifier es db.sql.id. En este ejemplo, example-sql-id representa un ID de SQL recuperado mediante las operaciones get-resource-metrics o describe-dimension-keys. En este ejemplo, los detalles de las dimensiones están disponibles. Por lo tanto, Performance Insights recupera el texto completo de la instrucción SQL, sin truncarlo.

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

Salida:

{ "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 obtener más información sobre las dimensiones en Información de rendimiento, consulte Carga de la base de datos en la Guía del usuario de Amazon RDS y Carga de la base de datos en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte GetDimensionKeyDetailsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-performance-analysis-report.

AWS CLI

Obtención de un informe de análisis de rendimiento

En el ejemplo de get-performance-analysis-report siguiente se obtiene el informe de análisis de rendimiento para la base de datos db-abcdefg123456789 con el ID de informe report-0d99cc91c4422ee61. La respuesta proporciona el estado del informe, el identificador, los detalles del tiempo y la información.

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

Salida:

{ "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 obtener más información sobre los informes de análisis de rendimiento, consulte Análisis del rendimiento de la base de datos durante un periodo de tiempo en la Guía del usuario de Amazon RDS y Análisis del rendimiento de la base de datos durante un periodo de tiempo en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar get-resource-metadata.

AWS CLI

Obtención de metadatos de recursos para una base de datos

En el ejemplo de get-resource-metadata siguiente se obtienen los metadatos de recursos de la base de datos db-abcdefg123456789. La respuesta muestra que las estadísticas de resumen SQL están habilitadas.

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

Salida:

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

Para obtener más información sobre las estadísticas de SQL para Información de rendimiento, consulte Estadísticas de SQL para Información de rendimiento en la Guía del usuario de Amazon RDS y Estadísticas de SQL para Información de rendimiento en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte GetResourceMetadatala Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-resource-metrics.

AWS CLI

Para obtener métricas de recursos

En este ejemplo, se solicitan puntos de datos para el grupo de dimensiones db.wait_event y para la dimensión db.wait_event.name dentro de ese grupo. En la respuesta, los puntos de datos relevantes se agrupan por la dimensión solicitada (db.wait_event.name).

Comando:

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

Los argumentos de --metric-queries se almacenan en el archivo JSON metric-queries.json: A continuación, se muestra el contenido de ese archivo:

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

Salida:

{ "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 obtener más información sobre la API, consulte GetResourceMetricsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-available-resource-dimensions.

AWS CLI

Muestra de las dimensiones que se pueden consultar para un tipo de métrica en una instancia de base de datos

El ejemplo de list-available-resource-dimensions siguiente muestra las métricas de db.load que puede consultar para la base de datos db-abcdefg123456789.

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

Salida:

{ "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 obtener más información sobre las dimensiones en Información de rendimiento, consulte Carga de la base de datos en la Guía del usuario de Amazon RDS y Carga de la base de datos en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar list-available-resource-metrics.

AWS CLI

Muestra de las métricas que se pueden consultar para un tipo de métrica en una instancia de base de datos

El ejemplo de list-available-resource-metrics siguiente muestra las métricas de db.load que puede consultar para la base de datos db-abcdefg123456789.

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

Salida:

{ "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 obtener más información sobre las métricas en Información de rendimiento, consulte Carga de la base de datos en la Guía del usuario de Amazon RDS y Carga de la base de datos en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar list-performance-analysis-reports.

AWS CLI

Muestra de los informes de análisis de rendimiento de una base de datos

En el ejemplo de list-performance-analysis-reports siguiente se muestran los informes de análisis de rendimiento para la base de datos db-abcdefg123456789. La respuesta enumera todos los informes con el ID del informe, el estado y los detalles del período de tiempo.

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

Salida:

{ "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 obtener más información sobre los informes de análisis de rendimiento, consulte Análisis del rendimiento de la base de datos durante un periodo de tiempo en la Guía del usuario de Amazon RDS y Análisis del rendimiento de la base de datos durante un periodo de tiempo en la Guía del usuario de Amazon Aurora.

En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.

AWS CLI

Muestra de las etiquetas de un informe de análisis de rendimiento

El ejemplo de list-tags-for-resource siguiente muestra las etiquetas de un informe de análisis de rendimiento con el ID de informe 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

Salida:

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

Para obtener más información sobre el etiquetado de informes de análisis de rendimiento, consulte Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon RDS y Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.

AWS CLI

Agregación de una etiqueta a un informe de análisis de rendimiento

El ejemplo de tag-resource siguiente agrega la clave de etiqueta name con el valor de etiqueta test-tag a un informe de análisis de rendimiento con el ID de informe 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

Este comando no genera ninguna salida.

Para obtener más información sobre el etiquetado de informes de análisis de rendimiento, consulte Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon RDS y Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.

AWS CLI

Eliminación de una etiqueta para un informe de análisis de rendimiento

El ejemplo de untag-resource siguiente elimina la etiqueta name de un informe de análisis de rendimiento con el ID de informe 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

Este comando no genera ninguna salida.

Para obtener más información sobre el etiquetado de informes de análisis de rendimiento, consulte Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon RDS y Agregación de etiquetas a un informe de análisis de rendimiento en Información de rendimiento en la Guía del usuario de Amazon Aurora.

  • Para obtener más información sobre la API, consulte UntagResourcela Referencia de AWS CLI comandos.