Analyse des anomalies de performances avec Amazon DevOps Guru pour Amazon RDS - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Analyse des anomalies de performances avec Amazon DevOps Guru pour Amazon RDS

Amazon DevOps Guru est un service d’opérations entièrement géré qui aide les développeurs et les opérateurs à améliorer les performances et la disponibilité de leurs applications. DevOps Guru réduit les tâches associées à l’identification des problèmes opérationnels pour vous permettre de rapidement mettre en œuvre des recommandations visant à améliorer votre application. Pour plus d'informations, consultez Qu'est-ce qu'Amazon DevOps Guru ? dans le Guide de l'utilisateur Amazon DevOps Guru.

DevOps Guru détecte, analyse et formule des recommandations relatives aux problèmes opérationnels ayant trait à tous les moteurs de base de données Amazon RDS. DevOps Guru for RDS étend cette capacité en appliquant le machine learning aux métriques Performance Insights pour les bases de données RDS pour PostgreSQL. Ces fonctions de surveillance permettent à DevOps Guru for RDS de détecter et de diagnostiquer les goulets d’étranglement en matière de performances et de recommander des actions correctives spécifiques. DevOps Guru pour RDS peut également détecter les conditions problématiques dans votre base de données RDS pour PostgreSQL avant qu’elles surviennent.

Vous pouvez désormais consulter ces recommandations dans la console RDS. Pour plus d’informations, consultez Recommandations d’Amazon RDS.

La vidéo suivante est une présentation de DevOps Guru for RDS.

Pour explorer le sujet plus en détails, consultez Amazon DevOps Guru for RDS under the hood. (Capacités d’Amazon DevOps Guru pour RDS.)

Avantages du DevOps Guru for RDS

En tant que responsable d’une base de données RDS pour PostgreSQL, vous ne savez pas systématiquement lorsqu’un événement ou une régression affectant cette base de données se produit. Lorsque vous prenez connaissance de ce problème, vous ne savez pas toujours pourquoi il se produit ni comment y remédier. Plutôt que de vous adresser à un administrateur de base de données (DBA) pour obtenir de l'aide ou de vous fier à des outils tiers, vous pouvez suivre les recommandations formulées par DevOps Guru for RDS.

L'analyse détaillée de DevOps Guru for RDS vous offre les avantages suivants :

Diagnostic rapide

DevOps Guru for RDS surveille et analyse en continu la télémétrie des bases de données. Performance Insights, Surveillance améliorée et Amazon CloudWatch collectent des données de télémétrie pour votre instance de bases de données. DevOps Guru for RDS utilise des techniques statistiques et de machine learning pour explorer ces données et détecter les anomalies. Pour en savoir plus sur les données de télémétrie, consultez Surveillance de la charge de la base de données avec Performance Insights sur Amazon RDS et Surveillance des métriques du système d'exploitation à l'aide de la Surveillance améliorée dans le Guide de l'utilisateur Amazon RDS.

Résolution rapide

Chaque anomalie identifie le problème de performances et suggère des pistes d'enquête ou des actions correctives. Par exemple, DevOps Guru for RDS peut vous recommander de vous pencher sur des événements d'attente spécifiques. Il peut également vous recommander de régler les paramètres de votre groupe d'applications afin de limiter le nombre de connexions à la base de données. Sur la base de ces recommandations, vous pouvez résoudre les problèmes de performances plus rapidement qu’en effectuant un dépannage manuel.

Insights proactifs

DevOps Guru for RDS utilise les métriques de vos ressources pour détecter les comportements potentiellement problématiques avant qu'ils ne s'aggravent. Par exemple, il peut détecter lorsque votre base de données utilise un nombre croissant de tables temporaires sur disque, ce qui peut avoir un impact sur les performances. DevOps Guru fournit ensuite des recommandations pour vous aider à résoudre les problèmes avant qu'ils ne s'aggravent.

Connaissance approfondie des ingénieurs Amazon et du machine learning

Pour détecter les problèmes de performances et vous aider à résoudre les goulets d'étranglement, DevOps Guru pour RDS s'appuie sur le machine learning (ML) et les formules mathématiques avancées. Les ingénieurs en bases de données Amazon ont participé au développement de DevOps Guru for RDS, qui englobe de nombreuses années la gestion de centaines de milliers de bases de données. Fort de ces connaissances mises en commun, DevOps Guru for RDS peut vous apprendre les bonnes pratiques.

Fonctionnement de DevOps Guru for RDS

DevOps Guru for RDS collecte des données sur vos bases de données RDS pour PostgreSQL à partir d’Analyse des performances d’Amazon RDS. La métrique la plus importante est DBLoad. DevOps Guru for RDS utilise les métriques Performance Insights, les analyse à l'aide du machine learning et publie des informations sur le tableau de bord.

Une information est un ensemble d’anomalies connexes détectées par DevOps Guru.

Dans DevOps Guru pour RDS, une anomalie est un modèle qui s’écarte de ce qu’on entend par performances normales pour votre base de données RDS pour PostgreSQL.

Insights proactifs

Un insight proactif vous permet de connaître un comportement problématique avant qu’il se produise. Il contient des anomalies accompagnées de recommandations et de métriques associées pour vous aider à résoudre les problèmes dans vos bases de données RDS pour PostgreSQL avant qu’ils ne s’aggravent. Ces insights sont publiés dans le tableau de bord DevOps Guru.

Par exemple, DevOps Guru peut détecter que votre base de données RDS pour PostgreSQL crée de nombreuses tables temporaires sur disque. Si elle n’est pas corrigée, cette tendance peut entraîner des problèmes de performances. Chaque insight proactif inclut des recommandations de comportement correctif et des liens vers des rubriques pertinentes dans Réglage de RDS pour PostgreSQL avec les insights proactifs Amazon DevOps Guru. Pour plus d’informations, consultez Utilisation d’insights dans DevOps Guru dans le Guide de l’utilisateur Amazon DevOps Guru.

Insights réactifs

Un insight réactif identifie un comportement anormal lorsqu’il se produit. Si DevOps Guru for RDS détecte des problèmes de performances dans vos instances de base de données RDS pour PostgreSQL, il publie un insight réactif dans le tableau de bord DevOps Guru. Pour plus d’informations, consultez Utilisation d’insights dans DevOps Guru dans le Guide de l’utilisateur Amazon DevOps Guru.

Anomalies causales

Une anomalie causale est une anomalie de premier niveau au sein d'un insight réactif. La charge de base de données est l’anomalie causale pour DevOps Guru for RDS.

Une anomalie mesure l'impact sur les performances en attribuant un niveau de gravité High (Élevé), Medium (Moyen) ou Low (Faible). Pour en savoir plus, consultez Concepts clés pour DevOps Guru for RDS dans le Guide de l’utilisateur Amazon DevOps Guru.

Si DevOps Guru détecte une anomalie en cours dans votre instance de base de données, vous en êtes alerté dans la page Databases (Bases de données) de la console RDS. La console vous alerte également des anomalies survenues au cours des dernières 24 heures. Pour accéder à la page des anomalies à partir de la console RDS, cliquez sur le lien présent dans le message d’alerte. La console RDS vous alerte également dans la page de votre instance de base de données RDS pour PostgreSQL.

Anomalies contextuelles

Une anomalie contextuelle est un résultat dans la charge de base de données qui est associé à un insight réactif. Chaque anomalie contextuelle décrit un problème de performances RDS pour PostgreSQL spécifique qui requiert un examen. Par exemple, DevOps Guru for RDS peut vous recommander d’augmenter la capacité de l’UC ou d’examiner les événements d’attente qui contribuent à la charge de base de données.

Important

Nous vous recommandons de tester toutes les modifications apportées à une instance test avant de modifier une instance de production. Vous pouvez ainsi mieux appréhender l’impact d’une modification.

Pour en savoir plus, consultez Analyzing anomalies in Amazon RDS (Analyse des anomalies dans Amazon Aurora) dans le Guide de l'utilisateur Amazon DevOps Guru.

Configuration de DevOps Guru for RDS

Pour permettre à DevOps Guru for Amazon RDS de publier des insights sur une base de données RDS pour PostgreSQL, procédez comme suit.

Configuration des stratégies d’accès IAM pour DevOps Guru for RDS

Pour afficher les alertes de DevOps Guru dans la console RDS, votre utilisateur ou votre rôle AWS Identity and Access Management (IAM) doit posséder l'une des politiques suivantes :

  • La politique gérée par AWS AmazonDevOpsGuruConsoleFullAccess

  • La politique AmazonDevOpsGuruConsoleReadOnlyAccess gérée par AWS et l'une des politiques suivantes :

    • La politique gérée par AWS AmazonRDSFullAccess

    • Politique gérée par le client qui inclut pi:GetResourceMetrics et pi:DescribeDimensionKeys

Pour plus d’informations, consultez Configuration des politiques d’accès pour Performance Insights.

Activation de Performance Insights pour vos instances de base de données RDS pour PostgreSQL

En matière de données, DevOps Guru for RDS s’appuie sur Performance Insights. Sans Performance Insights, DevOps Guru publie des anomalies, mais n’inclut ni l’analyse détaillée ni les recommandations.

Lorsque vous créez ou modifiez une instance de base de données RDS pour PostgreSQL, vous pouvez activer Performance Insights. Pour plus d’informations, consultez Activation ou désactivation de l’Analyse des performances pour Amazon RDS.

Activation de DevOps Guru et spécification de la couverture des ressources

Vous pouvez activer DevOps Guru pour qu’il surveille vos bases de données RDS pour PostgreSQL de l’une des manières suivantes.

Activation de DevOps Guru dans la console RDS

Vous pouvez activer DevOps Guru dans la console Amazon RDS de plusieurs façons.

Activation de DevOps Guru lorsque vous créez une base de données RDS pour PostgreSQL

Le flux de travail de création inclut un paramètre qui active la couverture DevOps Guru pour votre base de données. Ce paramètre est activé par défaut lorsque vous choisissez le modèle Production.

Pour activer DevOps Guru lorsque vous créez une base de données RDS pour PostgreSQL
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/.

  2. Suivez les étapes de la section Création d’une instance de base de données, jusqu’à l’étape où vous choisissez les paramètres de surveillance, sans la réaliser.

  3. Dans Monitoring (Surveillance), choisissez Turn on Performance Insights (Activer Performance Insights). Pour que DevOps Guru for RDS fournisse une analyse détaillée des anomalies de performances, Performance Insights doit être activé.

  4. Choisissez Turn on DevOps Guru (Activer DevOps Guru).

    Activer DevOps Guru lorsque vous créez une instance de base de données
  5. Créez une balise pour votre base de données afin que DevOps Guru puisse la surveiller. Procédez comme suit :

    • Dans le champ de texte Tag key (Clé de balise), saisissez un nom commençant par Devops-Guru-.

    • Dans le champ de texte Tag value (Valeur de balise), saisissez n’importe quelle valeur. Par exemple, si vous saisissez rds-database-1 comme nom de votre base de données RDS pour PostgreSQL, vous pouvez également saisir rds-database-1 comme valeur de balise.

    Pour plus d’informations sur les balises, consultez « Use tags to identify resources in your DevOps Guru applications » (Utilisation de balises pour identifier les ressources de vos applications DevOps Guru) dans le Guide de l’utilisateur Amazon DevOps Guru.

  6. Suivez les étapes restantes fournies dans Création d’une instance de base de données.

Activation de DevOps Guru à partir de la bannière de notification

Si vos ressources ne sont pas couvertes par DevOps Guru, Amazon RDS vous avertit avec une bannière aux emplacements suivants :

  • L'onglet Monitoring (Surveillance) d'une instance de cluster de bases de données

  • Tableau de bord Performance Insights

Bannière DevOps Guru
Pour activer DevOps Guru pour votre base de données RDS pour PostgreSQL
  1. Dans la bannière, choisissez Turn on DevOps Guru for RDS (Activer DevOps Guru for RDS).

  2. Saisissez un nom de clé et une valeur pour la balise. Pour plus d'informations sur les balises, consultez « Use tags to identify resources in your DevOps Guru applications » (Utilisation de balises pour identifier les ressources de vos applications DevOps Guru) dans le Guide de l'utilisateur Amazon DevOps Guru.

    Activer DevOps Guru dans la console RDS
  3. Choisissez Turn on DevOps Guru (Activer DevOps Guru).

Résolution d’une erreur d’autorisations lorsque vous activez DevOps Guru

Si vous activez DevOps Guru à partir de la console RDS lorsque vous créez une base de données, RDS peut afficher la bannière suivante, indiquant que des autorisations sont manquantes.

Bannière signalant une erreur d’autorisations manquantes
Pour résoudre une erreur d’autorisations
  1. Accordez à votre utilisateur ou rôle IAM le rôle géré par l'utilisateur AmazonDevOpsGuruConsoleFullAccess. Pour plus d’informations, consultez Configuration des stratégies d’accès IAM pour DevOps Guru for RDS.

  2. Ouvrez la console RDS.

  3. Dans le panneau de navigation, choisissez Performance Insights.

  4. Choisissez une instance de base de données dans le cluster que vous venez de créer.

  5. Choisissez l’interrupteur pour activer DevOps Guru for RDS.

    Choisissez l’interrupteur pour activer DevOps Guru for RDS
  6. Choisissez une valeur de balise. Pour plus d’informations, consultez « Use tags to identify resources in your DevOps Guru applications » (Utilisation de balises pour identifier les ressources de vos applications DevOps Guru) dans le Guide de l’utilisateur Amazon DevOps Guru.

    Activer DevOps Guru dans la console Amazon RDS
  7. Choisissez Turn on DevOps Guru (Activer DevOps Guru).

Ajout de ressources RDS pour PostgreSQL dans la console DevOps Guru

Vous pouvez spécifier la couverture de vos ressources DevOps Guru sur la console DevOps Guru. Suivez l'étape décrite à la section Specify your DevOps Guru resource coverage (Spécifiez la couverture de vos ressources DevOps Guru) dans le Guide de l'utilisateur Amazon DevOps Guru. Lorsque vous modifiez vos ressources analysées, choisissez l’une des options suivantes :

  • Choisissez Toutes les ressources du compte pour analyser toutes les ressources prises en charge, y compris les bases de données RDS pour PostgreSQL, dans votre Compte AWS et votre région.

  • Choisissez Piles CloudFormation pour analyser les bases de données RDS pour PostgreSQL qui se trouvent dans les piles de votre choix. Pour plus d’informations, consultez Use AWS CloudFormation stacks to identify resources in your DevOps Guru applications (Utilisation de piles pour identifier les ressources de vos applications DevOps Guru) dans le Guide de l’utilisateur Amazon DevOps Guru.

  • Choisissez Balises pour analyser les bases de données RDS pour PostgreSQL que vous avez balisées. Pour plus d’informations, consultez Use tags to identify resources in your DevOps Guru applications (Utilisation de balises pour identifier les ressources de vos applications DevOps Guru) dans le Guide de l’utilisateur Amazon DevOps Guru.

Pour plus d’informations, consultez Enable DevOps Guru (Activation de DevOps Guru) dans le Guide de l’utilisateur Amazon DevOps Guru.

Ajout de ressources RDS pour PostgreSQL à l’aide d’CloudFormation

Vous pouvez utiliser des balises pour ajouter la prise en charge de vos ressources RDS pour PostgreSQL sur vos modèles CloudFormation. La procédure suivante suppose que vous disposez d’un modèle CloudFormation à la fois pour votre instance de base de données RDS pour PostgreSQL et pour la pile DevOps Guru.

Pour spécifier une instance de base de données RDS pour PostgreSQL à l’aide d’une balise CloudFormation
  1. Dans le modèle CloudFormation de votre instance de base de données, définissez une identification à l’aide d’une paire clé/valeur.

    L’exemple suivant attribue la valeur my-db-instance1 à Devops-guru-cfn-default pour une instance de base de données RDS pour PostgreSQL.

    MyDBInstance1: Type: "AWS::RDS::DBInstance" Properties: DBInstanceIdentifier: my-db-instance1 Tags: - Key: Devops-guru-cfn-default Value: devopsguru-my-db-instance1
  2. Dans le modèle CloudFormation de votre pile DevOps Guru, spécifiez la même identification dans votre filtre de collecte de ressources.

    L’exemple suivant configure DevOps Guru pour fournir une prise en charge pour la ressource avec la valeur d’identification my-db-instance1.

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

    L'exemple suivant fournit une prise en charge pour toutes les ressources à l'intérieur du périmètre de l'application Devops-guru-cfn-default.

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

Pour plus d'informations, consultez AWS::DevOpsGuru::ResourceCollection et AWS::RDS::DBInstance dans le Guide de l'utilisateur CloudFormation.