Qu'est-ce qu'Amazon CloudWatch Application Insights ? - Amazon CloudWatch

Qu'est-ce qu'Amazon CloudWatch Application Insights ?

CloudWatch Application Insights vous aide à surveiller vos applications qui utilisent des instances Amazon EC2 ainsi que d'autres ressources applicatives. Cette solution identifie et configure des métriques, des journaux et des alertes clés sur vos ressources d'application et votre pile technologique (par exemple, votre base de données Microsoft SQL Server, les serveurs web (IIS) et d'applications, le système d'exploitation, les équilibreurs de charge et les files d'attente). Elle surveille en permanence les métriques et les journaux afin de détecter et de corréler les anomalies et les erreurs. Lorsque des erreurs et des anomalies sont détectées, Application Insights génère des CloudWatch Events que vous pouvez utiliser pour configurer des notifications ou effectuer des actions. Afin de faciliter le dépannage, elle crée des tableaux de bord automatisés pour les problèmes détectés, qui incluent les anomalies de métriques corrélées, les erreurs de journalisation, ainsi que des informations supplémentaires vous indiquant la cause racine potentielle. Les tableaux de bord automatisés vous aident à lancer des actions correctives pour maintenir l'intégrité de vos applications et pour empêcher tout impact sur les utilisateurs finaux de vos applications. Elle crée également des éléments OpsItems pour vous permettre de résoudre les problèmes à l'aide d'AWS SSM OpsCenter.

Vous pouvez configurer des compteurs importants, tels que Transactions d'écriture en miroir/s, Longueur de la file d'attente de récupération et Retard de transaction, ainsi que Journaux d'événements Windows sur CloudWatch. Lorsqu'un événement ou un problème de basculement se produit avec votre charge de travail SQL haute disponibilité, par exemple un accès restreint pour interroger une base de données cible, CloudWatch Application Insights fournit des informations automatisées.

CloudWatch Application Insights s'intègre à AWS Launch Wizard pour fournir une expérience de configuration de surveillance en un clic pour le déploiement de charges de travail SQL Server haute disponibilité sur AWS. Lorsque vous sélectionnez l'option permettant de configurer la surveillance et les informations avec Application Insights sur la console Launch Wizard, CloudWatch Application Insights configure automatiquement les métriques, journaux et alertes appropriés sur CloudWatch et démarre la surveillance des charges de travail nouvellement déployées. Vous pouvez afficher des informations automatisées et des problèmes détectés, ainsi que l'état de vos charges de travail haute disponibilité SQL Server, sur la console CloudWatch.

Fonctionnalités

Application Insights fournit les fonctions ci-dessous.

Configuration automatique des moniteurs pour les ressources d'application

CloudWatch Application Insights réduit le temps nécessaire à la configuration de la surveillance de vos applications. Pour ce faire, il analyse les ressources de votre application, fournit une liste personnalisable de métriques et de journaux recommandés, et les configure sur CloudWatch pour offrir la visibilité nécessaire sur les ressources de votre application, telles que Amazon EC2 et Elastic Load Balancers (ELB). Cette solution configure également des alertes dynamiques sur des métriques surveillées. Les alertes sont automatiquement mises à jour en fonction des anomalies détectées au cours des deux dernières semaines.

Détection et notification des problèmes

CloudWatch Application Insights détecte des signes de problèmes potentiels liés à votre application, tels que des anomalies métriques et des erreurs de journaux. La solution met en corrélation ces observations pour faire apparaître les problèmes potentiels de votre application. Elle génère ensuite des événements CloudWatch Events, qui peuvent être configurés pour recevoir des notifications ou pour prendre des mesures. Vous n'avez donc plus besoin de créer des alertes individuelles en fonction des métriques ou des erreurs de journaux. En outre, vous pouvez configurer les notifications Amazon SNS pour recevoir des alertes en cas de problèmes détectés.

Résolution des problèmes

CloudWatch Application Insights crée des tableaux de bord CloudWatch automatiques pour les problèmes détectés. Les tableaux de bord affichent des détails sur le problème, notamment les anomalies métriques et les erreurs de journaux associées, afin de faciliter le dépannage. Ils fournissent également des informations supplémentaires qui vous indiquent les causes potentielles des anomalies et des erreurs.

Concepts

Les concepts suivants sont importants pour comprendre comment Application Insights surveille votre application.

Composant

Un groupement automatique, autonome ou personnalisé de ressources similaires qui constituent une application. Pour garantir une surveillance optimale, il est recommandé de regrouper les ressources similaires dans des composants personnalisés.

Observation

Un événement individuel (anomalie métrique, erreur du journal ou exception) qui est détecté dans une application ou une ressource d'application.

Problème

Les problèmes sont détectés par la corrélation, la classification ou le groupement d'observations associées.

Pour obtenir les définitions d'autres concepts clés relatifs à CloudWatch Application Insights, consultez Concepts Amazon CloudWatch.

Tarification

CloudWatch Application Insights configure les métriques et les journaux recommandés pour les ressources d'applications sélectionnées à l'aide de CloudWatch Metrics, Logs et Events pour recevoir des notifications sur les problèmes détectés. Ces fonctions sont facturées à votre compte AWS selon la tarification CloudWatch. Pour les problèmes détectés, les SSM OpsItems sont également créés par Application Insights pour vous avertir des problèmes. En outre, Application Insights crée des paramètres SSM Parameter Store pour configurer les agents CloudWatch sur vos instances. Les fonctions d'Amazon EC2 Systems Manager sont facturées selon la tarification SSM. Vous n'êtes pas facturé pour l'aide à la configuration, la surveillance, l'analyse des données ou la détection des problèmes.

Coûts pour CloudWatch Application Insights

Les coûts pour Amazon EC2 comprennent l'utilisation des fonctions suivantes :

  • Agent CloudWatch

    • Groupes de journaux CloudWatch Agent

    • Métriques de l'agent CloudWatch

    • Groupes de journaux Prometheus (pour les charges de travail JMX)

Les coûts pour toutes les ressources comprennent l'utilisation des fonctions suivantes :

  • Alarmes CloudWatch (majorité des coûts)

  • SSM OpsItems (coût minimal)

Exemple de calcul des coûts

Les coûts dans cet exemple sont considérés selon le scénario suivant.

Vous avez créé un groupe de ressources qui comprend les éléments suivants :

  • Une instance Amazon EC2 avec SQL Server installé.

  • Un volume Amazon EBS attaché.

Lorsque vous intégrez ce groupe de ressources avec CloudWatch Application Insights, la charge de travail SQL Server installée sur l'instance Amazon EC2 est détectée. CloudWatch Application Insights commence à surveiller les métriques suivantes.

Les métriques suivantes sont surveillées pour l'instance SQL Server :

  • CPUUtilization

  • StatusCheckFailed

  • % d'octets validés de mémoire en cours d'utilisation

  • Mo de mémoire disponible

  • Total octets interface réseau/sec

  • Utilisation en % du fichier de pagination

  • Temps disque en % de disque physique

  • Temps de traitement en % du processeur

  • SQLServer : Taux de réussite du cache du gestionnaire des buffers

  • SQLServer : Espérance de vie de la page du gestionnaire des buffers

  • SQLServer : Statistiques générales - Processus bloqués

  • SQLServer : Statistiques générales - Connexions utilisateurs

  • SQLServer : Verrouillages - Nombre de blocages/s

  • SQLServer : Statistiques SQL - Requêtes par lots/sec

  • Longueur de la file d'attente du processeur système

Les métriques suivantes sont surveillées pour les volumes attachés à l'instance SQL Server :

  • VolumeReadBytes

  • VolumeWriteBytes

  • VolumereAdops

  • VolumeWriteOps

  • VolumeTotalReadTime

  • VolumeTotalWriteTime

  • VolumeIdleTime

  • VolumeQueueLength

  • VolumeThroughputPercentage

  • VolumeConsumedReadWriteOps

  • BurstBalance

Pour ce scénario, les coûts sont calculés selon la page de tarification de CloudWatch et la page de tarification de SSM :

  • Métriques personnalisées

    Pour ce scénario, 13 des métriques ci-dessus sont émises vers CloudWatch à l'aide de l'agent CloudWatch. Ces métriques sont traitées comme des métriques personnalisées. Le coût de chaque métrique personnalisée est de 0,3 USD/mois. Le coût total de ces métriques personnalisées est de 13 * 0,3 USD = 3,90 USD/mois.

  • Alarmes

    Dans ce scénario, CloudWatch Application Insights surveille 26 métriques au total, ce qui crée 26 alarmes. Le coût de chaque alarme est de 0,1 USD/mois. Le coût total des alertes est de 26 * 0,1 USD = 2,60 USD/mois.

  • Ingestion de données et journaux d'erreurs

    Le coût de l'ingestion de données est de 0,05 USD/Go et le stockage du journal des erreurs du serveur SQL est de 0,03 USD/Go. Le coût total de l'ingestion de données et du journal des erreurs est de 0,05 USD/Go + 0,03 USD/Go = 0,08 USD/Go.

  • Amazon EC2 Systems Manager OpsItems

    Un SSM OpsItem est créé pour chaque problème détecté par CloudWatch Application Insights. Pour un nombre n de problèmes dans votre application, le coût total est de 0,00267 USD * n/mois.

Les services suivants sont utilisés avec CloudWatch Application Insights :

Services AWS connexes
  • Avec Amazon CloudWatch, vous obtenez une visibilité à l'échelle du système sur l'utilisation des ressources, les performances des applications et leur état opérationnel. Il collecte et suit les métriques, envoie des notifications d'alerte, met automatiquement à jour les ressources que vous surveillez en fonction des règles que vous définissez et vous permet de surveiller vos propres métriques personnalisées. CloudWatch Application Insights est initié via CloudWatch, CloudWatch opérationnelles par défaut dans les tableaux de bord. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon CloudWatch.

  • CloudWatch Container Insights collecte, agrège et résume les métriques et les journaux de vos applications et microservices conteneurisés. Vous pouvez utiliser Container Insights pour surveiller les plates-formes Amazon ECS, Amazon Elastic Kubernetes Service et Kubernetes sur Amazon EC2. Lorsque Application Insights est activé sur les consoles Container Insights ou Application Insights, Application Insights affiche les problèmes détectés sur votre tableau de bord Container Insights. Pour plus d'informations, consultez Container Insights.

  • Amazon DynamoDB est un service de base de données NoSQL totalement géré qui vous permet de ne pas avoir à assurer les charges administratives liées au fonctionnement et à la mise à l'échelle d'une base de données distribuée, vous n'avez pas à vous soucier de l'allocation, du paramétrage, de la configuration et de la réplication du matériel, ainsi que des correctifs logiciels ou de la mise à l'échelle des clusters. DynamoDB offre également le chiffrement au repos, qui élimine la lourdeur opérationnelle et la complexité induites par la protection des données sensibles.

  • Amazon EC2 offre une capacité de calcul évolutive dans le cloud AWS. Vous pouvez utiliser Amazon EC2 pour lancer autant de serveurs virtuels que nécessaire, configurer la sécurité et la mise en réseau, et gérer le stockage. Vous pouvez monter ou descendre en puissance afin de gérer les modifications en termes d'exigences ou de pics de popularité, et réduire ainsi le besoin de prévoir le trafic. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon EC2 pour les instances Linux ou le Guide de l'utilisateur Amazon EC2 pour les instances Windows.

  • Amazon Elastic Block Store (Amazon EBS) fournit des volumes de stockage niveau bloc à utiliser avec les instances Amazon EC2. Les volumes d'Amazon EBS se comportent comme des périphériques de stockage en mode blocs bruts non formatés. Vous pouvez monter ces volumes en tant qu’appareils sur vos instances. Les volumes d'Amazon EBS qui sont attachés à une instance sont exposés en tant que volumes de stockage qui sont conservés indépendamment du cycle de vie de l'instance. Vous pouvez créer un système de fichiers au-dessus de ces volumes ou les utiliser comme vous utiliseriez un périphérique de stockage en mode bloc (comme un disque dur). Vous pouvez modifier dynamiquement la configuration d’un volume attaché à une instance. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon EBS.

  • Amazon EC2 Auto Scaling permet de vous assurer que vous disposez du bon nombre d'instances EC2 disponibles pour gérer la charge de l'application. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon EC2 Auto Scaling.

  • Elastic Load Balancing répartit le trafic réseau ou le trafic applicatif entrant sur plusieurs cibles (par exemple, des instances EC2, des conteneurs et des adresses IP) dans plusieurs zones de disponibilité. Pour plus d'informations, consultez le Guide de l'utilisateur Elastic Load Balancing.

  • IAM est un service web qui vous permet de contrôler en toute sécurité l'accès aux ressources AWS de vos utilisateurs. IAM vous permet de contrôler qui peut utiliser vos ressources AWS (authentification), quelles ressources ils peuvent utiliser et comment ils peuvent les utiliser (autorisation). Pour plus d’informations, consultez Authentification et contrôle d’accès pour Amazon CloudWatch.

  • AWS Lambda vous permet de générer des applications sans serveur composées de fonctions qui sont déclenchées par des événements, et de les déployer automatiquement à l'aide de CodePipeline et d'AWS CodeBuild. Pour plus d'informations, consultez AWS Lambda Applications.

  • AWS Launch Wizard for SQL Server réduit le temps nécessaire au déploiement de la solution haute disponibilité SQL Server dans le cloud. Vous entrez les exigences de votre application, y compris les performances, le nombre de nœuds et la connectivité sur la console de service, et AWS Launch Wizard identifie les bonnes ressources AWS pour déployer et exécuter votre application SQL Server Always On.

  • AWS Groupes de ressources vous permet d'organiser les ressources qui composent votre application. L'outil Resource Groups vous permet de gérer et d'automatiser des tâches sur un grand nombre de ressources à la fois. Un seul Resource Group peut être enregistré pour une seule application. Pour plus d'informations, consultez le Guide de l'utilisateur sur les groupes de ressources AWS.

  • Amazon SQS offre une file d'attente hébergée sécurisée, durable et disponible qui vous permet d'intégrer et de découpler les systèmes et les composants de logiciels distribués. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon SQS.

  • AWS Step Functions est un compositeur de fonction sans serveur qui vous permet de séquencer une variété de services et de ressources AWS, y compris les fonctions AWS Lambda, dans des flux de travail structurés et visuels. Pour plus d'informations, consultez le Guide de l'utilisateur AWS Step Functions.

  • AWS SSM OpsCenter regroupe et standardise les OpsItems sur l'ensemble des services, tout en fournissant des données d'investigation contextuelles sur chaque OpsItem, les OpsItems associés et les ressources connexes. OpsCenter fournit également des documents Systems Manager Automation (runbooks) que vous pouvez utiliser pour résoudre rapidement les problèmes. Vous pouvez indiquer des données personnalisées pouvant être consultées pour chaque OpsItem. Vous pouvez également afficher des rapports récapitulatifs générés automatiquement sur les OpsItems, par statut et par source. Pour plus d'informations, consultez le AWS Systems ManagerGuide de l'utilisateur.

  • Amazon API Gateway est un service AWS qui permet de créer, de publier, de gérer, de surveiller et de sécuriser les API REST, HTTP et WebSocket à n'importe quelle échelle. Les développeurs d'API peuvent créer des API qui accèdent à AWS ou à d'autres services web, ainsi qu'aux données stockées dans le cloud AWS. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon API Gateway.

    Note

    Application Insights prend uniquement en charge les protocoles API REST (v1 du service API Gateway).

  • Amazon Elastic Container Service (Amazon ECS) est un service d'orchestration de conteneurs entièrement géré. Vous pouvez utiliser Amazon ECS pour exécuter vos applications les plus sensibles et stratégiques. Pour plus d'informations, consultez le Guide du développeur Amazon Elastic Container Service.

  • Amazon Elastic Kubernetes Service (Amazon EKS)est un service géré que vous pouvez utiliser pour exécuter Kubernetes sur AWS sans avoir à installer, à utiliser et à entretenir votre propre plan de contrôle Kubernetes ou nœuds. Kubernetes est un système open source destiné à l'automatisation du déploiement, la mise à l'échelle et la gestion d'applications conteneurisées. Pour plus d'informations, consultez le Guide de l'utilisateur Amazon EKS.

  • Kubernetes sur Amazon EC2. Kubernetes est un logiciel open source qui vous aide à déployer et à gérer des applications conteneurisées à grande échelle. Kubernetes gère des clusters d'instances de calcul Amazon EC2 et exécute des conteneurs sur ces instances avec des processus de déploiement, de maintenance et de mise à l'échelle. Avec Kubernetes, vous pouvez exécuter n'importe quel type d'application conteneurisée avec le même jeu d'outils sur site et dans le cloud. Pour plus d'informations, consultez Kubernetes Documentation: Getting started.

  • Amazon FSx vous aide à lancer et à exécuter des systèmes de fichiers populaires entièrement gérés par AWS. Amazon FSx vous permet de tirer parti des ensembles de fonctions et des performances des systèmes de fichiers open source courants et sous licence commerciale pour éviter des tâches administratives fastidieuses. Pour plus d'informations, consultez la documentation d'Amazon FSx.

  • Amazon Simple Notification Service (SNS) est un service de messagerie entièrement géré pour la communication d'application à application et d'application à personne. Vous pouvez configurer Amazon SNS pour la surveillance par Application Insights. Lorsque Amazon SNS est configuré comme ressource de surveillance, Application Insights suit les métriques SNS pour déterminer les raisons pour lesquelles les messages SNS pourraient rencontrer des problèmes ou échouer.

  • Amazon Elastic File System (Amazon EFS) est un système de fichiers NFS élastique entièrement géré destiné à être utilisé avec des services AWS Cloud et des ressources sur site. Il est conçu pour atteindre des pétaoctets à la demande sans perturber les applications. Il augmente ou diminue automatiquement au fil de vos ajouts et suppressions de fichiers, ce qui élimine le besoin de provisionner et gérer la capacité nécessaire pour répondre à la croissance. Pour en savoir plus, consultez la documentation d'Amazon Elastic File System.

Services tiers associés
  • Pour certaines charges de travail et applications surveillées dans Application Insights, Prometheus JMX Exporter est installé à l'aide du distributeur AWS Systems Manager afin que CloudWatch Application Insights puisse récupérer des métriques spécifiques à Java. Lorsque vous sélectionnez de surveiller une application Java, Application Insights installe automatiquement Prometheus JMX Exporter pour vous.

Composants d'application pris en charge

CloudWatch Application Insights analyse votre Resource Group pour identifier les composants de l'application. Les composants peuvent être autonomes, automatiquement regroupés (par exemple, des instances dans un groupe Auto Scaling ou derrière un équilibreur de charge), ou personnalisés (en regroupant des instances Amazon EC2).

Les composants suivants sont pris en charge par CloudWatch Application Insights :

Composants AWS
  • Amazon EC2

  • Amazon EBS

  • Amazon RDS

  • Elastic Load Balancing : Application Load Balancer et Classic Load Balancer (toutes les instances cibles de ces programmes d'équilibrage de charge sont identifiées et configurées).

  • Groupes Amazon EC2 Auto Scaling : AWS Auto Scaling (les groupes Auto Scaling sont configurés de manière dynamique pour toutes les instances cibles. Si votre application effectue une mise à niveau à la hausse, CloudWatch Application Insights configure automatiquement les nouvelles instances). Les groupes Auto Scaling ne sont pas pris en charge pour les groupes de ressources basés sur une pile CloudFormation.

  • AWS Lambda

  • Amazon Simple Queue Service (Amazon SQS)

  • Table Amazon DynamoDB

  • Métriques de compartiment Amazon S3

  • AWS Step Functions

  • Étapes d'API REST Amazon API Gateway

  • Amazon Elastic Container Service (Amazon ECS) : cluster, service et tâche

  • Amazon Elastic Kubernetes Service (Amazon EKS) : cluster

  • Kubernetes sur Amazon EC2 : cluster Kubernetes fonctionnant sur EC2

  • Rubrique Amazon SNS

Toutes les autres ressources de type de composant ne sont actuellement pas suivies par CloudWatch Application Insights. Si un type de composant qui est pris en charge n'apparaît pas dans votre solution Application Insights, le composant peut déjà être enregistré et géré par une autre de vos applications, supervisée par Application Insights.

Piles technologiques prises en charge

Vous pouvez utiliser CloudWatch Application Insights pour surveiller vos applications exécutées sur les systèmes d'exploitation Windows Server et Linux en sélectionnant l'option de menu déroulant de niveau application pour l'une des technologies suivantes :

  • Front‐end : Serveur web Microsoft Internet Information Services (IIS)

  • Niveau opérateur :

    • .NET Framework

    • .NET Core

  • Applications :

    • Java

    • Déploiements standard, distribués et à haute disponibilité de SAP NetWeaver

  • Active Directory

  • SharePoint

  • Bases de données :

    • Microsoft SQL Server s'exécutant sur Amazon RDS ou Amazon EC2 (y compris les configurations haute disponibilité SQL Server. Veuillez consulter Exemples de configuration de composants).

    • MySQL exécuté sur Amazon RDS, Amazon Aurora ou Amazon EC2

    • PostgreSQL exécuté sur Amazon RDS ou Amazon EC2

    • Table Amazon DynamoDB

    • Oracle exécuté sur Amazon RDS ou Amazon EC2

    • Base de données SAP HANA sur une instance Amazon EC2 unique et plusieurs instances EC2

    • Configuration haute disponibilité de la base de données SAP HANA inter-AZ

    • Base de données SAP Sybase ASE sur une seule instance Amazon EC2

    • Configuration de la haute disponibilité de la base de données SAP Sybase ASE entre les zones géographiques

Si aucune des piles technologiques répertoriées ci-dessus ne s'applique à vos ressources d'application, vous pouvez surveiller votre pile d'applications en sélectionnant Custom (Personnalisé) dans le menu déroulant du niveau de l'application de la page Manage monitoring (Gérer la surveillance).