Surveillance du système d'exploitation - AWS Directives prescriptives

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.

Surveillance du système d'exploitation

Une instance de base de données dans Amazon RDS pour MySQL ou MariaDB s'exécute sur le système d'exploitation Linux, qui utilise les ressources système sous-jacentes : processeur, mémoire, réseau et stockage.

MySQL [(none)]> SHOW variables LIKE 'version%'; +-------------------------+---------------------+ | Variable_name | Value | +-------------------------+---------------------+ | version | 8.0.28 | | version_comment | Source distribution | | version_compile_machine | aarch64 | | version_compile_os | Linux | | version_compile_zlib | 1.2.11 | +-------------------------+---------------------+ 5 rows in set (0.00 sec)

Les performances globales de votre base de données et du système d'exploitation sous-jacent dépendent fortement de l'utilisation des ressources du système. Par exemple, le processeur est l'élément clé des performances de votre système, car il exécute les instructions du logiciel de base de données et gère les autres ressources du système. Si le processeur est surutilisé (c'est-à-dire si la charge nécessite une puissance de processeur supérieure à celle qui a été allouée à votre instance de base de données), ce problème peut affecter les performances et la stabilité de votre base de données et, par conséquent, de votre application.

Le moteur de base de données alloue et libère de la mémoire de manière dynamique. Lorsque la mémoire vive est insuffisante pour effectuer le travail en cours, le système écrit des pages de mémoire dans la mémoire d'échange, qui se trouve sur le disque. Comme le disque est beaucoup plus lent que la mémoire, même s'il est basé sur la technologie SSD NVMe, une allocation excessive de mémoire entraîne une dégradation des performances. L'utilisation élevée de la mémoire entraîne une augmentation de la latence des réponses de la base de données, car la taille d'un fichier de page augmente pour prendre en charge de la mémoire supplémentaire. Si l'allocation de mémoire est si élevée qu'elle épuise à la fois la RAM et les espaces de mémoire d'échange, le service de base de données peut devenir indisponible et les utilisateurs peuvent observer des erreurs telles que[ERROR] mysqld: Out of memory (Needed xyz bytes).

Les systèmes de gestion de bases de données MySQL et MariaDB utilisent le sous-système de stockage, qui se compose de disques qui stockentstructures sur disquetels que les tables, les index, les journaux binaires, les journaux de restauration, les journaux d'annulation et les fichiers de mémoire tampon à double écriture. Par conséquent, la base de données, contrairement à d'autres types de logiciels, doit effectuer une activité importante sur le disque. Pour un fonctionnement optimal de votre base de données, il est important de surveiller et d'ajuster l'utilisation des E/S du disque ainsi que l'allocation de l'espace disque. Les performances de la base de données peuvent être affectées lorsque la base de données atteint les limites d'IOPS ou de débit maximaux pris en charge par le disque. Par exemple, les accès aléatoires en rafale provoqués par une analyse d'index peuvent entraîner un grand nombre d'opérations d'E/S par seconde, ce qui peut éventuellement atteindre les limites du stockage sous-jacent. Les scans complets des tables peuvent ne pas atteindre la limite d'IOPS, mais ils peuvent entraîner un débit élevé, mesuré en mégaoctets par seconde. Il est essentiel de surveiller et de générer des alertes sur l'allocation d'espace disque, car des erreurs telles queOS error code 28: No space left on devicepeut entraîner l'indisponibilité et la corruption de la base de données.

Amazon RDS fournit des métriques en temps réel pour le système d'exploitation sur lequel s'exécute votre instance de base de données. Amazon RDS publie automatiquement un ensemble de mesures du système d'exploitation surCloudWatch. Ces mesures sont à votre disposition pour affichage et analyse dans la console Amazon RDS et dansCloudWatchtableaux de bord, et vous pouvez définir des alarmes sur les métriques sélectionnées dansCloudWatch. En voici quelques exemples :

  • CPUUtilization— Le pourcentage d'utilisation du processeur.

  • BinLogDiskUsage— La quantité d'espace disque occupée par les journaux binaires.

  • FreeableMemory— La quantité de mémoire vive disponible. Cela représente la valeur duMemAvailabledomaine de/proc/meminfo.

  • ReadIOPS— Nombre moyen d'opérations d'E/S de lecture de disque par seconde.

  • WriteThroughput— Nombre moyen d'octets écrits sur le disque par seconde pour le stockage local.

  • NetworkTransmitThroughput— Le trafic réseau sortant sur le nœud de base de données, qui combine à la fois le trafic de base de données et le trafic Amazon RDS utilisé pour la surveillance et la réplication.

Pour une référence complète de toutes les métriques publiées par Amazon RDS surCloudWatch, voirAmazonCloudWatchmétriques pour Amazon RDSdans la documentation Amazon RDS.

Le tableau suivant présente des exemples deCloudWatchmétriques pour Amazon RDS qui sont affichées sur la console Amazon RDS.

CloudWatchmétriques pour Amazon RDS affichées sur la console Amazon RDS

Le graphique suivant montre des mesures similaires affichées dansCloudWatchtableau de bord.

CloudWatchmétriques pour Amazon RDS qui sont affichées sur leCloudWatchconsole

L'autre ensemble de mesures du système d'exploitation est collecté parSurveillance amélioréepour Amazon RDS. Cet outil vous donne une meilleure visibilité sur l'état de santé de vos instances de base de données Amazon RDS pour MariaDB et Amazon RDS pour MySQL, en fournissant des métriques système et des informations sur les processus du système d'exploitation en temps réel. Quand tuactiver la surveillance amélioréesur votre instance de base de données et définissez la granularité souhaitée, l'outil collecte les métriques du système d'exploitation et les informations de processus, que vous pouvez afficher et analyser surConsole Amazon RDS, comme indiqué dans l'écran suivant.

Mesures du système d'exploitation collectées par Enhanced Monitoring

Certains des indicateurs clés fournis par Enhanced Monitoring sont les suivants :

  • cpuUtilization.total— Le pourcentage total du processeur utilisé.

  • cpuUtilization.user— Pourcentage du processeur utilisé par les programmes utilisateur.

  • memory.active— La quantité de mémoire attribuée, en kilo-octets.

  • memory.cached— La quantité de mémoire utilisée pour la mise en cache des E/S basées sur le système de fichiers.

  • loadAverageMinute.one— Le nombre de processus qui ont demandé du temps processeur au cours de la dernière minute.

Pour obtenir la liste complète des indicateurs, voirMétriques du système d'exploitation dans la surveillance amélioréedans la documentation Amazon RDS.

Sur la console Amazon RDS, la liste des processus du système d'exploitation fournit des détails pour chaque processus qui s'exécute dans votre instance de base de données. La liste est organisée en trois sections :

  • Processus du système d'exploitation‒ Cette section présente un résumé agrégé de tous les processus du noyau et du système. Ces processus ont généralement un impact minimal sur les performances de la base de données.

  • Processus RDS— Cette section présente un résumé desAWSles processus requis pour prendre en charge une instance de base de données Amazon RDS. Par exemple, il inclut l'agent de gestion Amazon RDS, les processus de surveillance et de diagnostic, ainsi que des processus similaires.

  • Processus enfants RDS— Cette section présente un résumé des processus Amazon RDS qui prennent en charge l'instance de base de données. Dans ce cas, lemysqldprocessus et ses fils. Lemysqldles fils apparaissent imbriqués sous le parentmysqldprocessus.

L'illustration d'écran suivante montre la liste des processus du système d'exploitation dans la console Amazon RDS.

Liste des processus du système d'exploitation dans la console Amazon RDS

Amazon RDS fournit les métriques issues de la surveillance améliorée à votreCloudWatchConsigne le compte. Les données de surveillance affichées sur la console Amazon RDS sont extraites deCloudWatchJournaux. Vous pouvez égalementrécupérer les métriques d'une instance de base de données sous forme de flux de journalà partir deCloudWatchJournaux. Ces métriques sont stockées au format JSON. Vous pouvez utiliser la sortie JSON de surveillance améliorée depuisCloudWatchSe connecte au système de surveillance de votre choix.

Pour afficher des graphiques sur leCloudWatchtableau de bord et créez des alarmes qui déclencheraient une action si une métrique dépasse le seuil défini, vous devez créer des filtres de métriques dansCloudWatchà partir deCloudWatchJournaux. Pour des instructions détaillées, consultez leArticle AWS Re:Postsur la façon de filtrer la surveillance amélioréeCloudWatchJournaux pour générer des mesures personnalisées automatisées pour Amazon RDS.

L'exemple suivant illustre la métrique personnalisée.CPU.Userdans leCustom/RDSespace de noms. Cette métrique personnalisée est créée en filtrant lecpuUtilization.userMétrique de surveillance améliorée deCloudWatchJournaux.

Métrique personnalisée CPU.user

Lorsque la métrique est disponible dans leCloudWatchréférentiel, vous pouvez l'afficher et l'analyser dansCloudWatchtableaux de bord, appliquez d'autres opérations mathématiques et de requête, et définissez une alarme pour surveiller cette métrique spécifique et générer des alertes si les valeurs observées ne correspondent pas aux conditions d'alarme définies.