Accédez à la gestion intelligente des erreurs et des journaux de Stackify

Qu'est-ce que Stackify??

Stackify fournit des outils de performance et de contrôle des applications, de surveillance et de dépannage de serveurs basés sur des nuages, appelés Smart Error and Log Management (SmartELM). Dans ce tutoriel, je vais vous présenter ses puissantes fonctionnalités SmartELM, particulièrement utiles pour les développeurs professionnels qui surveillent et résolvent le code de production post-déploiement..

Pour beaucoup d'entre nous, les journaux sont les beaux-enfants négligés du codage; pour les codeurs professionnels, ils sont essentiels mais leur utilité est souvent insuffisante. Stackify change cela en fournissant une sorte d'enregistreur de vol de cockpit en direct pour votre application..

Une fois que votre application quitte la production, dans quelle mesure vos fichiers journaux sont-ils accessibles et utiles? Il y a une tonne de données. Vous devez y avoir accès. Les fichiers dont vous avez besoin peuvent être répartis sur plusieurs serveurs ou limites de services. Ce sont des fichiers plats, difficiles à rechercher et à lire. Ils manquent aussi souvent de contexte, par exemple, quel compte d'utilisateur ou quelle méthode est associé à l'entrée de journal. Ensuite, il y a la complexité de la gestion des fichiers au fur et à mesure de leur croissance: appelez l'administrateur système, n'est-ce pas? Heureusement que vous avez été gentil avec eux ces derniers temps.

Le suivi intelligent des erreurs et la gestion des journaux de Stackify résolvent bon nombre de ces problèmes.

À un niveau élevé, SmartELM de Stackify effectue les opérations suivantes:

  • Agrège toutes les données de journal et d'exception en un seul service.
  • Le rend disponible, instantanément, à tous les membres de votre équipe.
  • Présente une chronologie de journalisation sur l'ensemble de votre infrastructure de pile, de test et de production.
  • Est hautement indexé, consultable et «intelligent» à ce sujet.

Une fois que vous avez commencé à enregistrer vos données d’application sur Stackify, vous pouvez procéder comme suit:

  • Gérer et rechercher des journaux sur toutes vos applications et serveurs.
  • Transformez les erreurs brutes en erreurs intelligentes pouvant être interrogées, contextualisées.
  • Afficher des collections d'instructions de journalisation liées à une erreur spécifique.
  • Recevez des alertes en fonction des taux d'erreur et des requêtes permanentes telles que les nouvelles exceptions, les pics d'erreur et la réapparition des problèmes résolus..

En fin de compte, ces fonctionnalités vous aident à trouver et à résoudre les problèmes d’application plus rapidement..

Vous pouvez exécuter la surveillance des applications et des serveurs de Stackify avec Smart Logs et la gestion des erreurs, ou vous pouvez les exécuter indépendamment. Bien que ce tutoriel mettra surtout en avant SmartELM, je vous expliquerai également les bases du service de surveillance..

Installation de la surveillance Stackify

Vous pouvez trouver la documentation du guide d'installation pour votre plate-forme ici. J'utilise Stackify avec Linux.


Stackify prend en charge la surveillance pour Windows, Linux et Azure, ainsi que les erreurs et la journalisation pour .NET et Java. Le support de PHP, Node.js, Python et Ruby arrive bientôt.

Visiter le Réglages menu et faites défiler pour obtenir votre clé d'activation:

Connectez-vous à votre serveur et exécutez les commandes suivantes pour installer l'agent en une étape:

sudo -s wget https://s1.stackify.com/Account/AgentDownload/Linux --output-document = stackify.tar.gz && tar -zxvf stackify.tar.gz stackify-agent-install-32bit && cd stackify- agent-install-32bit && ./agent-install.sh 

Vous aurez besoin de coller la clé d'activation d'en haut. Vous devriez voir quelque chose comme ça:

Donnez à l'application un peu de temps pour commencer à collecter des données, puis poursuivez ci-dessous. Vous pouvez également explorer le bac à sable Stackify - cet article de blog contient une présentation détaillée des fonctionnalités ainsi que les instructions du bac à sable tout à la fin (défilement vers le bas de la page)..

Stackify Dashboard

Le tableau de bord Stackify vous donne une visibilité sur la santé de vos serveurs et de vos applications grâce à la télémétrie temporelle et à la mise en évidence des événements sur lesquels vous devez enquêter..

Une fois les données entrées, votre tableau de bord Stackify ressemblera à ceci:

Voici un gros plan de la barre d'outils:

Des piles répertoriez les applications et les services que vous utilisez:

surveillance vous montre ce qui se passe sur des serveurs spécifiques:

Vous pouvez également filtrer entre vos environnements de développement, de test et de production:

Maintenant que vous avez une connaissance approfondie de l’environnement Stackify, passons plus profondément au suivi intelligent des erreurs et à la gestion des journaux (SmartELM)..

Suivi intelligent des erreurs et gestion des journaux

Vous voudrez utiliser SmartELM pour quelques scénarios clés, tels que l'identification et l'obtention d'une notification:

  1. Nouvelles exceptions
  2. Réapparition ou récurrence des problèmes résolus pour lesquels vous avez configuré des filtres
  3. Pointes d'erreurs dans la dernière minute ou la dernière heure
  4. Analyse plus approfondie de l'erreur et de sa source

Je vais vous expliquer comment Stackify vous aide à résoudre ce problème. Mais d’abord, abordons l’installation des appenders appropriés du journal.

Stackify a créé des ajouts de journalisation pour une poignée des cadres les plus courants. Pour en savoir plus sur leur installation, consultez la documentation en ligne: Guides d’installation de la journalisation et des métriques. J'ai également fourni des liens individuels ci-dessous:

  • log4net
  • NLog
  • Elmah
  • log4j
  • Logback

Si vous utilisez NuGet à partir de Visual Studio, vous pouvez rechercher et intégrer rapidement et facilement les bibliothèques et les configurations de journalisation Stackify. Il suffit de rechercher Stackify, puis d'installer l'appender approprié:

Une fois ceux-ci installés, Stackify commencera à suivre et à enregistrer les erreurs et les journaux..

Lorsque vous visitez le tableau de bord d'Error, vous verrez quelque chose comme ceci:

Le graphique en haut nous montre une représentation visuelle des taux d'erreur dans le temps. Les résumés détaillent les erreurs spécifiques survenant dans notre code. Stackify évite la duplication des erreurs signalées. Vous ne voyez donc que des occurrences uniques..

Cette vue peut être entièrement personnalisée avec une variété de filtres. Vous pouvez cliquer actif, Résolu, ou Régressé pour voir les problèmes en fonction de leur état connu. Vous pouvez définir des filtres par App, Environnement, ou Serveur. Et, vous pouvez personnaliser l'ensemble de champs affiché dans la vue tableau.

Supposons que vous souhaitiez examiner une plage de temps spécifique pour un événement. Vous pouvez sélectionner visuellement cette plage de temps sur le graphique pour limiter la requête d'erreur:

Notez comment la plage de temps de la fréquence des événements représentée sur la carte change avec la sélection, et le nombre d'erreurs sous le graphique s'ajuste également pour afficher uniquement celles qui se trouvent dans la plage de temps spécifique..

Zoomons sur la première erreur apparaissant dans Résumés. Cette erreur s'est produite 172 fois dans cette plage de temps restreinte. Nous devons donc l'examiner davantage:

Cliquez sur la description de l'erreur et vous verrez une grande variété d'informations sur l'erreur. Voici les informations de première ligne:

Faites défiler la liste et vous pouvez voir les données contextuelles affichées en JSON. Nous verrons ci-dessous comment vous pouvez enregistrer des événements avec plus de précision et de contexte.

Faites défiler plus loin et vous pouvez voir Variables du serveur avec l'événement:

Maintenant, passons à la Bûche page (vous pouvez également restreindre ici la plage de temps par sélection visuelle):

Vous visualisez les journaux capturés au moment de l'erreur sur vos serveurs, regroupés par Stackify sans avoir à demander à votre administrateur système une aide ou un accès spécial.. 

Vous pouvez également effectuer des recherches en texte intégral dans ces fichiers journaux:

Et vous pouvez enregistrer ces recherches pour filtrer rapidement des problèmes spécifiques en production:

L'icône de bogue est associée à l'affichage du modal des détails de l'erreur. En cliquant sur la section bleue du début de l'hyperlien du JSON, vous obtenez l'affichage des données structurées enregistrées..

Ensuite, en cliquant sur les icônes rouges "bogues", je peux zoomer sur les données structurées que j'ai enregistrées avec l'événement, telles que customerid, email et orderid:

Repenser la manière dont les développeurs se connectent

Stackify essaie d'encourager les développeurs à repenser la journalisation:

La journalisation est souvent l’une des rares lignes de vie que vous avez dans les environnements de production où vous ne pouvez pas attacher et déboguer physiquement. Vous souhaitez enregistrer autant de données contextuelles pertinentes que possible.

En d’autres termes, connectez-vous davantage, connectez-vous plus contextuellement et Stackify gérera et vous aidera à donner un sens aux données..

Comme mentionné précédemment, Stackify a créé des ajouts de journalisation pour une poignée des cadres les plus courants:

  • log4net
  • log4j
  • nLog
  • logback
  • Elmah

Et vous pouvez écrire directement sur son API pour personnaliser les données de journal contextuelles. Par exemple, une simple ligne de code pour consigner un événement avec un objet illustré ci-dessous:

log.Debug ("Créé un Foo", foo);

Génère un contexte détaillé dans la vue Stackify du fichier journal comme suit:

Autres scénarios activés par Stackify

Système d'alerte précoce pour les pointes de taux d'erreur

Vous pouvez demander à Stackify de surveiller les taux d’erreur dans votre environnement, en vous avertissant des seuils d’alerte ou urgents:

Assurer l'exécution des tâches en arrière-plan

Vous pouvez également les définir pour les événements système attendus. Par exemple, vous pouvez définir un moniteur de taux pour vérifier que votre tâche en arrière-plan s'exécute trois fois toutes les quinze minutes. sinon, Stackify vous alertera.

Vous pouvez également configurer des groupes de notification afin que les bonnes personnes soient informées des bons événements:

Évaluation de la couverture du script de test

Vous pouvez également mesurer l'évolution des taux d'erreur lorsque vous déplacez le code du test à la production. Par exemple, si vos scripts de test ne génèrent pas les mêmes erreurs et taux d'erreur que ceux rencontrés ultérieurement en production, Stackify peut vous aider à identifier les zones du code qui nécessitent une couverture de test plus automatisée..

En savoir plus sur SmartELM

Pour en savoir plus sur SmartELM en action, consultez Smarter Errors & Logs: Exploiter les données dans le blog Stackify. Vous trouverez une documentation plus détaillée sur le tableau de bord des erreurs ici et sur le tableau de bord des journaux ici..

J'espère que vous êtes impressionné par les solutions SmartELM de Stackify. J'ai beaucoup appris à connaître le produit.

En clôture

Le service sophistiqué de suivi des erreurs et de gestion des journaux basé sur le cloud de Stackify vous permet de:

  • Recevez une notification par e-mail ou par texte concernant les erreurs nouvelles ou en régression et les pointes d'erreur.
  • Accéder aux journaux avec des données de contexte structurées à partir de votre code.
  • Effectuer une recherche de texte améliorée tout au long de vos erreurs.
  • Filtrez les journaux par erreur, par heure ou par des variables personnalisées, par exemple. Adresse IP ou identifiant client.
  • Enregistrer des recherches et surveiller des recherches.
  • Avertissez les bons membres de l'équipe à temps.

Stackify encourage activement les développeurs à changer leur façon de penser en se connectant et fournit des fonctionnalités puissantes qui le rendent digne de le faire, c’est-à-dire, connectez-vous davantage, connectez-vous intelligemment avec Stackify; ils géreront les données et vous montreront des données contextuelles autour du problème que vous étudiez. Stackify dispose également d'un outil de surveillance des applications entièrement intégré à la plate-forme SmartELM présentée dans cet article, permettant aux développeurs de surveiller également les performances globales des applications, la satisfaction des clients, les serveurs, la base de données, des URL spécifiques et des mesures personnalisées..

Stackify est un outil destiné aux développeurs professionnels qui souhaitent améliorer leur jeu là où ça compte, en production.

Inscrivez-vous pour un essai gratuit chez Stackify; vous pouvez également accéder à leurs livres blancs via le site.

S'il vous plaît poster des commentaires ou des idées supplémentaires ci-dessous. J'essaie de participer aux discussions. Faites-nous savoir si vous souhaitez en savoir plus sur Stackify. Vous pouvez parcourir mes autres tutoriels Tuts + sur ma page d’auteur ou me suivre sur Twitter @reifman.

Liens connexes

  • Stackify.com 
  • Gestion intelligente des erreurs et des journaux (vue d'ensemble) 
  • Stackify Études de cas
  • 3 façons de comprendre les erreurs et la journalisation (blog Stackify)
  • 3 ensembles de données qui apportent le contexte aux exceptions (blog Stackify)
  • Smarter Errors & Logs: Utiliser les données (blog Stackify)