paint-brush
Repenser la journalisation : connectez-vous moins, apprenez-en davantagepar@prefab
840 lectures
840 lectures

Repenser la journalisation : connectez-vous moins, apprenez-en davantage

par Prefab3m2023/09/16
Read on Terminal Reader

Trop long; Pour lire

À mesure que les applications évoluent, les coûts d’ingestion et de stockage de nos journaux augmentent également. Avec Prefab, vous pouvez ajuster les niveaux de journalisation à la volée. Prefab ne facture pas en fonction du volume de journaux mais simplement en fonction de la configuration dynamique de vos serveurs. Cette approche peut conduire à des économies significatives, en particulier pour les applications à grande échelle.
featured image - Repenser la journalisation : connectez-vous moins, apprenez-en davantage
Prefab HackerNoon profile picture

Le dilemme de l’exploitation forestière

Les journaux peuvent être notre bouée de sauvetage lorsque les choses tournent mal. Pour résoudre un problème, nous devons reproduire le problème, et la journalisation du débogage peut être inestimable. Mais il y a un problème : les coûts. À mesure que les applications évoluent, les coûts d'ingestion et de stockage de nos journaux augmentent également, ce qui nous oblige à un compromis entre une journalisation trop limitée pour être utile ou le paiement pour des journaux que nous n'utilisons pas.


Thom Shutt a un jour plaidé en faveur de la journalisation uniquement des erreurs , suggérant que les niveaux d'avertissement, d'information et de débogage soient ignorés. Sa justification ? La difficulté de modifier les niveaux de logs en production :


Niveaux à jeter - À quand remonte la dernière fois que vous avez exécuté la production sur autre chose qu'Info ? Est-ce que changer de niveau est un processus rapide que tous les membres de l’équipe savent comment faire ?


Et en effet, la plupart d'entre nous ne modifient pas souvent les niveaux de journalisation car cela nécessite une validation, une construction et un déploiement. Si changer le niveau de log est un processus fastidieux, ces lignes supplémentaires ne deviennent en effet que du bruit.

La puissance de la configuration dynamique

Entrez dans la configuration dynamique. Même si beaucoup ne le connaissent pas, ceux qui l’ont adopté ne peuvent pas imaginer la vie sans lui. Contrairement à la configuration statique, dans laquelle les applications lisent un fichier de propriétés ou une variable d'environnement, la configuration dynamique est, comme son nom l'indique, dynamique.


Il offre la possibilité de définir de nouvelles valeurs via une interface utilisateur, garantissant que chaque évaluation récupère la dernière version.


Cette technologie constitue l’épine dorsale de la journalisation dynamique. En stockant le mappage Logger -> LogLevel dans notre système de configuration et en mettant à jour l'enregistreur en cas de modifications, nous pouvons passer de l'avertissement au débogage en millisecondes, et non en heures.

Présentation de Prefab : l'avenir de l'exploitation forestière

Prefab révolutionne la façon dont nous abordons la journalisation. Avec Prefab, vous pouvez :

  • Modifications des niveaux de journalisation en temps réel : ajustez les niveaux de journalisation à la volée. Pas besoin d'attendre le redémarrage du serveur. Changez et le tour est joué.


  • Journalisation ciblée : la journalisation ciblée de Prefab vous permet de consulter les journaux de débogage pour un seul utilisateur, transaction ou zone de disponibilité, améliorant ainsi la précision et réduisant le bruit. Prefab vous permet de vous concentrer sur le code, la tâche ou même un utilisateur spécifique pertinent.


  • Intégration avec les systèmes existants : Prefab n'est pas un autre outil de journalisation. Il s'intègre parfaitement à votre fournisseur de journalisation existant, qu'il s'agisse de DataDog, Sumo Logic ou d'une pile ELK.

Économiser de l'argent sur la journalisation

Les coûts de l’exploitation forestière deviennent importants à grande échelle et sont tous liés au volume. Les agrégateurs proposent de nouveaux moyens pour tenter de réduire ces dépenses, comme Log Without Limits de Datadog, et Cribl est fondamentalement une entreprise entière consacrée à ce problème.


Mais toutes ces solutions vous facturent en fonction de votre utilisation. En fin de compte, vous payez toujours pour les journaux que vous envoyez.


Étant donné que vos journaux ne transitent pas par Prefab, celui-ci ne facture pas en fonction du volume de journaux mais simplement en fonction de la configuration dynamique de vos serveurs. Prefab contrôle simplement les valeurs d'un filtre, garantissant que vous n'enregistrez que ce qui est nécessaire. Cette approche peut conduire à des économies significatives, en particulier pour les applications à grande échelle.

Redéfinir la culture forestière

Adopter la journalisation dynamique ne consiste pas seulement à utiliser un nouvel outil ; c'est un changement culturel. Au début, cela peut paraître intimidant. Mais à mesure que les équipes s’habituent à la puissance de la journalisation ciblée, celle-ci favorise un état d’esprit opérationnel plus fort. Les développeurs peuvent désormais se demander : « Si cela tourne mal, quelles informations aurais-je besoin ? » et préparez-vous en conséquence.


Par exemple, considérons cet extrait de code :

 def charge(user, amount) balance = get_balance(user) min_balance = get_min_balance(user) do_charge = balance > min_balance logger.debug("charge decision", charge: do_charge, amount: amount, balance: balance, user_id: user.id, min_balance: min_balance) if do_charge charge_user(user, amount) else end

Auparavant, beaucoup auraient vu la ligne logger.debug comme un simple bruit de développement. Mais avec la journalisation dynamique, ces lignes deviennent des outils inestimables, prêts à être activés en cas de besoin.

Conclusion

Le paysage de l’exploitation forestière subit un changement sismique. Avec des outils comme Prefab , les développeurs n'ont plus à choisir entre des journaux détaillés et la rentabilité. La journalisation dynamique offre le meilleur des deux mondes, fournissant des informations en cas de besoin sans le prix élevé qui y est associé.


Bon débogage ! 🚀