Surveillance des applications – Meilleures pratiques
Vous savez que vous devez surveiller les performances de vos systèmes pour vous assurer qu'ils continuent de fonctionner efficacement. Les applications sont très importantes pour les opérations de votre entreprise et doivent donc être surveillées. Surveillance automatisée réduit les coûts de surveillance des activités de vos applications et de tous les services qui les supportent.
L’automatisation n’est pas aussi simple qu’il y paraît. Pour commencer, il existe de nombreuses techniques différentes qui peuvent être utilisées pour surveiller les applications, et la principale raison en est qu’il existe de nombreux types d’applications différents.
Qu'est-ce qu'une candidature ?
Il semble absurde de commencer par expliquer ce qu’est une application. Vous savez de quelles applications vous disposez – ce sont les progiciels auxquels vos utilisateurs accèdent pour faire leur travail. Cependant, le mot « application » est vague. Rappelez-vous que protocoles sont également connus sous le nom d'applications, telles que FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) et Kerberos. Alors, que surveille un système de surveillance des applications, des progiciels ou des services réseau ?
Même le applications de programme que vous installez comportent plusieurs couches. Un serveur Web est-il une application ou fait-il partie du Infrastructure ? Une base de données prend en charge les pages Web auxquelles les utilisateurs accèdent. Le système de gestion de base de données (SGBD) est une application, tout comme HTTP, qui assure les communications entre les applications. Cependant, HTTP fait partie du système de communication, donc peut-être fait-il partie de l’infrastructure.
Qu'un élément d'un système soit défini comme une application ou une infrastructure, il doit toujours être surveillé .
Dépendances des applications
À partir d'un système accessible par l'utilisateur, vous recherchez tous ses Composants dans le colis et documentez-les. Vous examinez ensuite chacun de ces éléments, qui sont pour la plupart des applications en eux-mêmes, et examinez leurs composants. Ce processus aboutit à la création de une hiérarchie d'applications , jusqu'aux services, puis jusqu'aux ressources système.
Un moniteur d'application a besoin d'informations sur les composants d'une application et sur la manière dont ils fonctionnent ensemble. Les outils automatisés peuvent identifier automatiquement cette hiérarchie. Sans une carte des dépendances des applications, il est impossible de surveiller correctement les activités d'une application et de détecter les moments où les ressources s'épuisent.
Une application problème de performances est plus susceptible d'être la faute de l'un des systèmes qui prennent en charge l'application destinée à l'utilisateur que de cette application elle-même.
Le carte des dépendances des applications fournit un chemin de recherche lorsque les performances d’une application frontale sont altérées. Cet enregistrement évite des heures de recherche et permettra de découvrir la véritable cause des problèmes d’une application. Cette tâche s'appelle Analyse de la cause originelle et un bon moniteur d’applications fera tout ce travail à votre place.
Point clé sur les meilleures pratiques en matière de surveillance des applicationsUtilisez un outil de surveillance automatisé qui suivra et enregistrera de manière indépendante tous les systèmes de support et établira une carte des dépendances des applications. Cela fournira toute votre analyse des causes profondes lorsque des problèmes surviennent. |
Compatibilité des plateformes
Basé sur le cloud les systèmes prennent rapidement le relais des serveurs internes en tant qu’hôtes d’applications. Cette situation complique les tâches de surveillance car les services sont souvent intégrés à la plateforme de manière protégée, ce qui empêche toute falsification mais bloque également les efforts de surveillance.
De nombreuses entreprises exécutent des applications sur des plates-formes cloud tout en exploitant également des applications sur leurs serveurs. C'est ce qu'on appelle un environnement hybride et nécessite des transferts de données étendus entre les applications coopérantes qui doivent partager des informations. Les applications peuvent s'étendre sur une plate-forme avec des fichiers gérés sur un système mais accessibles par des outils fournis à partir d'un système distinct. Forfait SaaS exploité par un autre fournisseur.
Les plateformes cloud incluent des services de reporting. Ceux-ci sont intégrés AWS , Plateforme Google Cloud , et Azur et sont gratuits à utiliser. Cependant, les rapports cloisonnés ne vous offriront pas les avantages que peuvent apporter les statistiques cumulatives. Vous avez besoin d'un moniteur d'applications capable de collecter des données de performances provenant de nombreuses plates-formes différentes, de les corréler, de les résumer et de les analyser.
Au minimum, vous avez besoin d'un système de surveillance des applications pouvant accéder à toutes les plates-formes que vous utilisez actuellement. Cependant, bénéficier d'un service doté des capacités les plus étendues possibles vous donne la liberté de choisir d'autres plates-formes pour prendre en charge vos utilisateurs à l'avenir sans avoir à modifier votre système de surveillance.
Point clé sur les meilleures pratiques en matière de surveillance des applicationsChoisissez un outil de surveillance capable de fonctionner dans des environnements hybrides et disposant d'une longue liste d'intégrations pour couvrir autant de plates-formes que possible. |
Technologies de livraison
Les systèmes cloud, sur site et virtuels offrent une gamme de options de livraison . Emballer un module avec tous les services dont il a besoin dans un contenant facilite la livraison car le fournisseur n’a pas à fournir d’instructions d’installation détaillées à l’acheteur et à l’utilisateur de ces fonctions.
Les conteneurs offrent une forte sécurité contre la falsification car il n’est pas possible de contrôler les opérations de la fonction portée en infectant le système d’exploitation de l’hôte. Cependant, ils compliquent également la surveillance car chaque instance est comme un mini-serveur et doit donc être examinée pour les statistiques de performances. individuellement . Un service capable de regrouper les métriques d'activité sur plusieurs conteneurs permet de gagner du temps car il supprime le besoin de les effectuer manuellement. unifier les données provenant de plusieurs sources.
Sur site hyperviseurs et l'équivalent multiplateforme, hyperconvergé environnements, sont d’autres technologies qui peuvent bloquer l’accès du système d’exploitation de l’hôte aux fonctions de l’application. Ainsi, l'intégration avec chacune de ces plates-formes virtuelles doit également être intégré au système de surveillance des applications que vous avez choisi.
Un autre avantage de l'hébergement virtuel pour les systèmes est qu'il permet de tester de nouveaux logiciels sans risquer de conflits dans les processus requis. les paramètres du système pour chaque. Il est possible d'isoler un nouveau service avec la virtualisation pour gagner du temps évaluations de sécurité avant d'intégrer le nouveau produit dans votre système. Les machines virtuelles et les conteneurs permettent également de tester et de tester différentes versions du même logiciel ou de systèmes concurrents. évalué en parallèle pour l’évaluation des performances.
Conteneurs sont utiles pour les tests dans les environnements de développement et pour l’intégration dans des scénarios d’exploitation et la surveillance des applications joue un rôle important dans ces deux situations.
Point clé sur les meilleures pratiques en matière de surveillance des applicationsRecherchez des outils de surveillance des applications qui incluent la possibilité d'interroger les conteneurs et les virtualisations. |
Systèmes sans serveur
L'hébergement cloud a de nombreux formats et peut être fourni sans allocation complète d'espace de serveur virtuel. Systèmes sans serveur offrir des options d'hébergement efficaces car l'utilisateur n'est facturé que pour l'espace utilisé et n'en a pas besoin Capacité du processeur à réserver et à payer même lorsqu'il n'est pas utilisé.
Les modules pris en charge par l'hébergement sans serveur sont appelés microservices et ils peuvent être fournis aux développeurs via des frameworks, des bibliothèques, des API ou des kits d'outils de développement. La multiplication de ces fonctions de plug-ins pré-écrites accélère et standardise le développement des applications Web mais elles compliquer la surveillance . Sans la présence d'un package serveur, il n'y a pas d'espace adjacent pour exécuter associé programmes d'extraction de statistiques.
La difficulté de surveiller les microservices a été résolue par la création de télémétrie normes. Il s'agit de protocoles de messagerie que les développeurs d'applications Web peuvent utiliser pour produire des messages de journal de rapport d'activité. En suivant ces normes, les packages de surveillance des applications peuvent fournir le même niveau de suivi d'activité et la surveillance des performances comme les progiciels traditionnels de surveillance des applications.
La technique de surveillance des microservices s'appelle traçage distribué et il existe plusieurs normes de messagerie dans ce cadre. Les trois options principales sont appelées OuvrirTraçage , Recensement ouvert , et OpenTélémétrie . Le troisième d’entre eux est né de la fusion des deux premiers. Cependant, il existe encore de nombreux systèmes en circulation qui suivent les systèmes OpenTracing ou OpenCensus. Heureusement, OpenTelemetry est rétrocompatible, donc si vous disposez d'un moniteur d'application qui inclut des fonctionnalités dans ce protocole, vous disposez également des deux autres.
L'emplacement des microservices est masqué par leur méthode de livraison. Un développeur peut accéder à un package entier en insérant simplement une ligne dans le programme. Les fonctions appelées par cette ligne doivent être identifié et surveillé ainsi que le programme appelant. Découverte d'applications supporté par traçage distribué fournira une carte complète des dépendances qui identifie non seulement les microservices derrière les API et les plates-formes, mais aussi les couches de fonctions hébergées sans serveur qui composent ces microservices.
Point clé sur les meilleures pratiques en matière de surveillance des applicationsLe traçage distribué devient de plus en plus important pour la surveillance des applications, en particulier pour les applications Web. Le traçage distribué vous donne également la possibilité de surveiller les activités des applications mobiles, qui sont généralement soutenues par des microservices. |
Mise en place du suivi des applications
Même les outils de surveillance des applications qui incluent la découverte automatique ont besoin d'un point de départ et cela inclut l'octroi de accéder à la plate-forme qui héberge l'application destinée à l'utilisateur à explorer.
L'automatisation dans un outil d'application réside dans un système de alertes qui sont déclenchés par des seuils de performance. Alors que la plupart des moniteurs d'applications sont livrés avec des paramètres prédéfinis règles d'alerte , d'autres peuvent être ajoutés et les niveaux de seuil existants peuvent être ajustés. Un exemple du type d'événements susceptibles de déclencher une alerte est la capacité disponible d'un processeur ou l'utilisation de la mémoire.
Plutôt que d'attendre qu'une ressource soit entièrement épuisée, Un seuil serait réglé à un niveau d'avertissement, tel que 75 pour cent, ce qui donne aux techniciens avertis le temps d'agir avant que la ressource ne soit complètement épuisée.
Il est également possible de créer seuils composites cela ne déclenchera une alerte que si toutes les conditions de la règle sont remplies.
Les alertes sont affichées dans le console système . Cependant, l'automatisation sans surveillance ne peut être mise en œuvre en toute sécurité que s'il existe un mécanisme permettant d'envoyer ces alertes en dehors du système aux services de messagerie auxquels les techniciens ont régulièrement accès, tels que e-mail , SMS , un système de collaboration ou un service de routage de tickets du centre de services.
Point clé sur les meilleures pratiques en matière de surveillance des applicationsLes seuils d'alerte et les routines de notification doivent être configurés dans la console du système de surveillance des applications. |
Réponses automatisées
Certains moniteurs d'application incluent réponses automatisées . Ceux-ci doivent être configurés avant d’être actifs. Les réponses sont écrites sous la forme livres de jeu sous la forme d'une condition d'alerte et d'une action associée.
La mise en œuvre d’actions automatiques doit être menée avec prudence car les décisions binaires manquent de subtilité ou de jugement et peuvent rendre un système inutilisable. Par exemple, un seuil pour la capacité d'accès des utilisateurs pourrait être calibré à un niveau trop bas et déconnectez automatiquement tous les utilisateurs du système. Un tel outil irait à l'encontre des objectifs de l'installation du moniteur d'applications, qui est de améliorer l'efficacité .
Point clé sur les meilleures pratiques en matière de surveillance des applicationsL'automatisation des réponses peut être configurée sous forme d'actions associées à des déclencheurs, mais doit être utilisée avec prudence. |
Moniteurs d'applications automatisés
La règle centrale des meilleures pratiques en matière de surveillance des applications est de disposer d’un outil compétent pour effectuer la tâche à votre place.
Que devez-vous rechercher dans un moniteur d’application ?
Nous avons examiné le marché des systèmes de surveillance des applications et analysé les outils en fonction des critères suivants :
- Découverte automatisée
- Cartographie des dépendances des applications
- Surveillance du système hybride
- Traçage distribué
- Alertes
- Un essai gratuit ou une démo offrant une période d'évaluation sans frais
- Rapport qualité-prix grâce à un outil de surveillance complet proposé à un prix équitable
En gardant ces critères de sélection à l’esprit, nous avons identifié des services flexibles de surveillance des applications pouvant s’interfacer avec une gamme de plateformes.
Voici notre liste des trois meilleurs systèmes de surveillance des applications :
- AppOptics CHOIX DE L'ÉDITEUR Surveillance de l'infrastructure et des applications à partir d'un package SaaS qui fournit un mappage des dépendances, un traçage distribué et une analyse des causes profondes. Obtenez un essai gratuit de 30 jours.
- APM Datadog Un APM SaaS avec cartographie des dépendances des applications, analyse des causes profondes et traçage distribué.
- Surveillance complète Dynatrace Un service basé sur le cloud qui utilise l'IA dans la surveillance de son infrastructure et de ses applications.
Vous pouvez en savoir plus sur chacune de ces options dans les sections suivantes.
1. AppOptics (CHOIX DE L'ÉDITEUR)
AppOptique fournit Surveillance des infrastructures pour les environnements hybrides et Surveillance des applications avec découverte automatique, mappage des dépendances des applications et traçage distribué.
Principales caractéristiques:
- Environnements hybrides
- Découverte automatique
- Infrastructures et APM
- Traçage distribué
- Profilage de codes
Le système AppOptics est un package SaaS avec une console hébergée dans le cloud accessible via n'importe quel navigateur Web standard. Le moniteur fonctionne avec personnalisable seuils qui déclenchent des notifications si des problèmes de performances sont détectés.
Le forfait comprend un profileur de code qui détecte automatiquement la langue du framework de chaque segment de code d'application. Il fonctionne sur des systèmes écrits sur Java Virtual Machine (JVM), .NET et WCF. Il suit PHP, Python, Ruby et Node.js.
Avantages:
- Une plateforme SaaS avec une console Web
- Alertes personnalisables
- Cartographie des dépendances des applications et analyse des causes profondes
- Profilage de code pour le suivi des erreurs
- Adapté au développement et aux opérations
Les inconvénients:
- Pas de surveillance du réseau
LE CHOIX DES ÉDITEURS
AppOptics est notre premier choix pour un moniteur d'applications car il offre une surveillance depuis les applications destinées aux utilisateurs jusqu'à l'infrastructure, créant ainsi une carte de dépendance des applications. Le système AppOptics découvre et cartographie automatiquement les dépendances des applications, couvrant les systèmes sur site, cloud et virtuels et comprend un profileur de code.
Télécharger:Obtenez un essai gratuit de 30 jours
Site officiel:https://my.appoptics.com/sign_up
TOI:Basé sur le cloud
2.APM Datadog
APM Datadog fait partie d'une plateforme cloud qui offre de nombreux outils de surveillance et de gestion du système. L'APM est centré sur un service de traçage distribué et est également disponible avec un profileur de code.
Principales caractéristiques:
- Découverte d'applications
- Cartographie des dépendances
- Traçage distribué
- Option de profilage de code
L'APM Datadog comprend un suivi du déploiement qui est capable d'identifier les packages de déploiement avec des variations de paramètres permettant d'exécuter simultanément et de comparer différentes versions.
Profilage de codes est proposé dans un plan supérieur qui vous offre toujours les fonctionnalités APM standard. Cela analysera le code écrit en Java, .NET, PHP, Node.js, Ruby, Python, Go ou C++ pendant son exécution.
Avantages:
- Modules associés disponibles
- Profileur de code facultatif qui trace via des programmes en texte brut
- Suivi du déploiement pour les tests et l'expédition
- Alertes avec options de notification et de routage
Les inconvénients:
- Vous devez vous abonner à de nombreux modules pour bénéficier d'une observabilité full-stack
D'autres modules de Datadog fonctionnent de concert avec l'APM et étendent ses capacités. Ceux-ci incluent un I Surveillance des infrastructures paquet et Surveillance du réseau choix. Tu peux recevoir un essai gratuit de 14 jours de Datadog qui donne accès à tous les modules.
3. Surveillance complète de la pile Dynatrace
Dynatrace propose un Plateforme SaaS avec une gamme de packages incluant l’option Full-stack Monitoring. Ce service inclut la possibilité de surveiller toutes les couches de la pile de support d'applications, depuis les systèmes destinés aux utilisateurs, en passant par l'infrastructure, jusqu'aux ressources du serveur.
Principales caractéristiques:
- Cartographie des dépendances des applications
- Analyse de la cause originelle
- Alertes prédictives basées sur l'IA
Outils Dynatrace mappage des dépendances des applications qui utilise l’IA pour relier l’identification des éléments contributifs et établir des pistes pour l’analyse des causes profondes. L'IA est également utilisée pour les alertes prédictives qui peuvent calculer le moment où tous les processus exécutés sur le même serveur vont épuiser les ressources ou provoquer un verrouillage. Le service fournit également traçage distribué et profilage de code .
Avantages:
- Offre une identification des erreurs et un suivi des bogues pour le développement
- Analyse les fichiers journaux et génère des avertissements système via le traçage distribué
- Processus d’IA pour l’analyse des causes profondes
Les inconvénients:
- La gestion des logs est un module supplémentaire