Análisis de anomalías de rendimiento de Aurora con Amazon DevOps Guru para Amazon RDS - Amazon Aurora

Análisis de anomalías de rendimiento de Aurora con Amazon DevOps Guru para Amazon RDS

Amazon DevOps Guru es un servicio de operaciones totalmente administrado que ayuda a los desarrolladores y operadores a mejorar el rendimiento y la disponibilidad de sus aplicaciones. DevOps Guru descarga las tareas asociadas a la identificación de problemas operativos para que pueda implementar rápidamente recomendaciones para mejorar su aplicación. Para obtener más información, consulte What is Amazon DevOps Guru? (¿Qué es Amazon DevOps Guru?) en la Guía del usuario de Amazon DevOps Guru.

DevOps Guru detecta, analiza y hace recomendaciones sobre problemas operativos existentes para todos los motores de base de datos de Amazon RDS. Para ampliar esta capacidad, DevOps Guru para RDS aplica machine learning a las métricas de Información sobre rendimiento de bases de datos Amazon Aurora . Estas funciones de monitoreo permiten a DevOps Guru for RDS detectar y diagnosticar cuellos de botella en el rendimiento y recomendar acciones correctivas específicas. DevOps Guru para RDS también puede detectar condiciones problemáticas en las bases de datos Aurora antes de que se produzcan.

Ahora puede ver estas recomendaciones en la consola de RDS. Para obtener más información, consulte Visualización y respuesta a las recomendaciones de Amazon Aurora.

El siguiente vídeo contiene información general de DevOps Guru para RDS.

Para profundizar en el tema, consulte la publicación del blog de Amazon DevOps Guru para RDS entre bastidores.

Beneficios de DevOps Guru para RDS

Si es responsable de una base de datos Amazon Aurora, es posible que no sepa que se está produciendo un evento o una regresión que está afectando a esa base de datos. Cuando aprenda sobre el problema, es posible que no sepa por qué está ocurriendo o qué hacer al respecto. En lugar de recurrir a un administrador de base de datos (DBA) para obtener ayuda o confiar en herramientas de terceros, puede seguir las recomendaciones de DevOps Guru para RDS.

Obtiene las siguientes ventajas del análisis detallado de DevOps Guru para RDS:

Diagnóstico rápido

DevOps Guru para RDS monitorea y analiza continuamente la telemetría de bases de datos. Información sobre rendimiento, Monitorización mejorada y Amazon CloudWatch recopilan datos de telemetría de su clúster de base de datos. DevOps Guru para RDS utiliza técnicas estadísticas y de machine learning para extraer estos datos y detectar anomalías. Para obtener más información sobre los datos de telemetría, consulte Monitoreo de la carga de base de datos con Performance Insights en Amazon Aurora y Supervisión de las métricas del sistema operativo con supervisión mejorada en la Guía del usuario de Amazon Aurora .

Resolución rápida

Cada anomalía identifica el problema del rendimiento y sugiere vías de investigación o medidas correctivas. Por ejemplo, DevOps Guru para RDS podría recomendar investigar eventos de espera específicos. O podría recomendarle que ajuste la configuración del grupo de aplicaciones para limitar el número de conexiones de base de datos. Según estas recomendaciones, puede resolver los problemas de rendimiento más rápido que mediante la solución de problemas de forma manual.

Información proactiva

DevOps Guru para RDS utiliza métricas de sus recursos para detectar posibles comportamientos problemáticos antes de que se conviertan en un problema mayor. Por ejemplo, puede detectar si la base de datos utiliza un número cada vez mayor de tablas temporales en el disco, lo que podría empezar a afectar al rendimiento. A continuación, DevOps Guru ofrece recomendaciones para ayudarle a solucionar los problemas antes de que se conviertan en problemas mayores.

Conocimiento profundo de los ingenieros de Amazon y machine learning

Para detectar problemas de rendimiento y ayudarle a resolver los cuellos de botella, DevOps Guru para RDS se basa en machine learning (ML) y fórmulas matemáticas avanzadas. Los ingenieros de bases de datos de Amazon contribuyeron al desarrollo de DevOps Guru para los resultados de RDS, que encapsulan muchos años de administración de cientos de miles de bases de datos. Al aprovechar este conocimiento colectivo, DevOps Guru for RDS puede enseñarle las mejores prácticas.

Cómo funciona DevOps Guru for RDS

DevOps Guru para RDS recopila datos sobre sus bases de datos Aurora desde Información de rendimiento de Amazon RDS. La métrica más importante es DBLoad. DevOps Guru for RDS consume las métricas de Información sobre rendimiento, las analiza con machine learning y publica información en el panel de control.

La información es un conjunto de anomalías relacionadas que detecta DevOps Guru.

En DevOps Guru para RDS, una anomalía es un patrón que se desvía de lo que se considera un rendimiento normal para su base de datos Amazon Aurora.

Información proactiva

La información proactiva le permite conocer el comportamiento problemático antes de que se produzca. Contiene anomalías con recomendaciones y métricas relacionadas para ayudarlo a abordar los problemas en sus bases de datos Amazon Aurora antes de que se conviertan en problemas mayores. Esta información se publica en el panel de DevOps Guru.

Por ejemplo, DevOps Guru podría detectar que su base de datos Aurora PostgreSQL está creando muchas tablas temporales en el disco. Si no se soluciona este problema, esta tendencia podría provocar problemas de rendimiento. Cada información proactiva incluye recomendaciones sobre el comportamiento correctivo y enlaces a temas relevantes en Ajuste de Aurora MySQL con información proactiva de Amazon DevOps Guru o Ajuste de Aurora PostgreSQL con información proactiva de Amazon DevOps Guru. Para obtener más información, consulte Working with insights in DevOps Guru (Trabajo con información en DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

Información reactiva

La información reactiva identifica el comportamiento anómalo a medida que se produce. Si DevOps Guru para RDS detecta problemas de rendimiento en las instancias de bases de datos de Amazon Aurora , publica información reactiva en el panel de DevOps Guru. Para obtener más información, consulte Working with insights in DevOps Guru (Trabajo con información en DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

Anomalías causales

Una anomalía causal es una anomalía de nivel superior dentro de la información reactiva. Database load (DB load) (Carga de base de datos) es la anomalía causal de DevOps Guru for RDS.

Para medir el impacto del rendimiento, una anomalía asigna un nivel de gravedad de Alto, Mediano o Bajo. Para obtener más información, consulte Conceptos clave de DevOps Guru for RDS en la Guía del usuario de Amazon DevOps Guru.

Si DevOps Guru detecta una anomalía actual en la instancia de base de datos, se le avisará en la página Databases (Bases de datos) de la consola de RDS. La consola también le avisa de las anomalías que se han producido en las últimas 24 horas. Para ir a la página de anomalías desde la consola de RDS, elija el enlace del mensaje de alerta. La consola de RDS también le avisa en la página del clúster de base de datos de Amazon Aurora .

Anomalías contextuales

Una anomalía contextual es un resultado dentro de la carga de base de datos que está relacionada con una información reactiva. Cada anomalía contextual describe un problema de rendimiento específico de Amazon Aurora que requiere investigación. Por ejemplo, DevOps Guru for RDS podría recomendar que considere aumentar la capacidad de la CPU o investigar los eventos de espera que contribuyen a la carga de la base de datos.

importante

Recomendamos que pruebe cualquier cambio en una instancia de prueba antes de modificar una instancia de producción para que pueda entender completamente el impacto de cada cambio. De esta forma, comprende el impacto del cambio.

Para obtener más información, consulte Analyzing anomalies in Amazon Aurora clusters (Análisis de anomalías en clústeres de Amazon RDS) en la Guía del usuario de Amazon DevOps Guru.

Configuración de DevOps Guru for RDS

Para permitir que DevOps Guru para Amazon RDS publique información para una base de datos de Amazon Aurora , realice las siguientes tareas.

Configuración de las políticas de acceso de IAM para DevOps Guru para RDS

Para ver las alertas de DevOps Guru en la consola de RDS, su usuario o rol de AWS Identity and Access Management (IAM) debe contar con alguna de las siguientes políticas:

  • La política administrada de AWS AmazonDevOpsGuruConsoleFullAccess

  • La política administrada de AWS AmazonDevOpsGuruConsoleReadOnlyAccess y cualquiera de las siguientes políticas:

    • La política administrada por AWS AmazonRDSFullAccess

    • Una política administrada por el cliente que incluya pi:GetResourceMetrics y pi:DescribeDimensionKeys

Para obtener más información, consulte Configuración de directivas de acceso para información sobre rendimiento.

Activación de Información sobre rendimiento para sus instancias de base de datos de Aurora

DevOps Guru for RDS confía en Información sobre rendimiento para sus datos. Sin Información sobre rendimiento, DevOps Guru publica anomalías, pero no incluye análisis ni recomendaciones detallados.

Al crear un clúster de base de datos de Aurora o modificar una instancia de clúster, puede activar Performance Insights. Para obtener más información, consulte Activación y desactivación de Información de rendimiento de Aurora.

Activación de DevOps Guru y especificación de la cobertura de recursos

Puede activar DevOps Guru para que supervise sus bases de datos de Amazon Aurora de cualquiera de las siguientes maneras.

Activación de DevOps Guru en la consola de RDS

Puede seguir varias rutas en la consola de Amazon RDS para activar DevOps Guru.

Activación de DevOps Guru cuando crea una base de datos Aurora

El flujo de trabajo de creación incluye una configuración que activa la cobertura de DevOps Guru para su base de datos. Esta configuración se activa de forma predeterminada cuando elige la plantilla Production (Producción).

Para activar DevOps Guru cuando crea una base de datos Aurora
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. Siga los pasos de Creación de un clúster de base de datos, hasta el paso en el que elige la configuración de supervisión pero sin incluirlo.

  3. En Monitoring (Supervisión), elija Turn on Performance Insights (Activar Performance Insights). Para que DevOps Guru para RDS proporcione un análisis detallado de las anomalías de rendimiento, es necesario activar Performance Insights.

  4. Elija Turn on DevOps Guru (Activar DevOps Guru).

    Active DevOps Guru cuando cree un clúster de datos
  5. Cree una etiqueta para la base de datos para que DevOps Guru pueda supervisarla. Haga lo siguiente:

    • En el campo de texto de Tag key (Clave de etiqueta), ingrese un nombre que comience por Devops-Guru-.

    • En el campo de texto de Tag value (Valor de etiqueta), ingrese cualquier valor. Por ejemplo, si especifica rds-database-1 para el nombre de la base de datos Aurora, también puede introducir rds-database-1 como el valor de etiqueta.

    Para obtener más información sobre las etiquetas, consulte "Use tags to identify resources in your DevOps Guru applications" (Usar etiquetas para identificar los recursos en las aplicaciones de DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

  6. Complete los demás pasos proporcionados en Creación de un clúster de base de datos.

Activación de DevOps Guru desde el banner de notificación

Si sus recursos no están cubiertos por DevOps Guru, Amazon RDS se lo notifica con un banner en las siguientes ubicaciones:

  • La pestaña Monitoring (Supervisión) de una instancia de clúster de base de datos

  • Panel de Performance Insights

Banner de DevOps Guru
Para activar DevOps Guru para su base de datos Aurora
  1. En el banner, elija Turn on DevOps Guru for RDS (Activar DevOps Guru para RDS).

  2. Ingrese un nombre y un valor de la clave de la etiqueta. Para obtener más información sobre las etiquetas, consulte "Use tags to identify resources in your DevOps Guru applications" (Usar etiquetas para identificar los recursos en las aplicaciones de DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

    Activar DevOps Guru en la consola de RDS
  3. Elija Turn on DevOps Guru (Activar DevOps Guru).

Respuesta a un error de permisos al activar DevOps Guru

Si activa DevOps Guru desde la consola de RDS al crear una base de datos, es posible que RDS muestre el siguiente banner acerca de la ausencia de permisos.

Banner con un error de permisos que faltan
Para responder a un error de permisos
  1. Conceda a su usuario o rol de IAM el rol administrado por el usuario AmazonDevOpsGuruConsoleFullAccess. Para obtener más información, consulte Configuración de las políticas de acceso de IAM para DevOps Guru para RDS.

  2. Abra la consola de RDS.

  3. En el panel de navegación, seleccione Información sobre rendimiento.

  4. Elija una instancia de base de datos en el clúster que acaba de crear.

  5. Elija el conmutador para activar DevOps Guru para RDS.

    Elija el conmutador para activar DevOps Guru para RDS
  6. Elija un valor de etiqueta. Para obtener más información, consulte "Use tags to identify resources in your DevOps Guru applications" (Usar etiquetas para identificar los recursos en las aplicaciones de DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

    Activar DevOps Guru en la consola de Amazon RDS
  7. Elija Turn on DevOps Guru (Activar DevOps Guru).

Adición de recursos de Aurora en la consola de DevOps Guru

Puede especificar su cobertura de recursos de DevOps Guru en la consola de DevOps Guru. Siga el paso descrito en Specify your DevOps Guru resource coverage (Especifique su cobertura de recursos DevOps Guru) en la Guía del usuario de Amazon DevOps Guru. Cuando edite los recursos analizados, elija una de las siguientes opciones:

Para obtener más información, consulte Enable DevOps Guru (Habilitar DevOps Guru) en la Guía del usuario de Amazon DevOps Guru.

Adición de recursos de Aurora mediante AWS CloudFormation

Puede utilizar etiquetas para añadir cobertura de sus recursos de Aurora a sus plantillas de CloudFormation. En el siguiente procedimiento, se asume que tiene una plantilla de CloudFormation tanto para la instancia de base de datos de Aurora como para la pila de DevOps Guru.

Para especificar una instancia de base de datos de Auroramediante una etiqueta de CloudFormation
  1. En la plantilla de CloudFormation para su instancia de base de datos, defina una etiqueta mediante un par clave/valor.

    En el siguiente ejemplo, se asigna el valor my-aurora-db-instance1 a Devops-guru-cfn-default para una instancia de base de datos de Aurora.

    MyAuroraDBInstance1: Type: "AWS::RDS::DBInstance" Properties: DBClusterIdentifier: my-aurora-db-cluster DBInstanceIdentifier: my-aurora-db-instance1 Tags: - Key: Devops-guru-cfn-default Value: devopsguru-my-aurora-db-instance1
  2. En la plantilla de CloudFormation de su pila de DevOps Guru, especifique la misma etiqueta en el filtro de recopilación de recursos.

    En el siguiente ejemplo, se configura DevOps Guru para proporcionar cobertura para el recurso con el valor de etiqueta my-aurora-db-instance1.

    DevOpsGuruResourceCollection: Type: AWS::DevOpsGuru::ResourceCollection Properties: ResourceCollectionFilter: Tags: - AppBoundaryKey: "Devops-guru-cfn-default" TagValues: - "devopsguru-my-aurora-db-instance1"

    En el siguiente ejemplo, se proporciona cobertura para todos los recursos dentro del límite de la aplicación Devops-guru-cfn-default.

    DevOpsGuruResourceCollection: Type: AWS::DevOpsGuru::ResourceCollection Properties: ResourceCollectionFilter: Tags: - AppBoundaryKey: "Devops-guru-cfn-default" TagValues: - "*"

Para obtener más información, consulte AWS::DevOpsGuru::ResourceCollection y AWS::RDS::DBInstance en la Guía del usuario de AWS CloudFormation.