Sentry                         Xavier Ordoquy                   Freelance Python & Djangolundi 9 avril 12
Sentrylundi 9 avril 12
Qu’est-ce que                           Sentry ?                   • Logs applicatifs                   • Pile d’exécution...
Historique                   • Développé pour Disqus                   • 250 serveurs                   • 4 milliards de p...
Environnement                   • Sites Django                   • Scripts Python                   • Sites Flask         ...
Architectures                   • Un serveur, plusieurs sites                   • Un site, plusieurs serveurs             ...
Avant        Django permet l’envoi de mails :        Traceback (most recent call last):           File "[..]/django/core/h...
Avec Sentrylundi 9 avril 12
Problèmes résolus                       par Sentry                   • Des fichiers de logs tronqués                   • D...
Les atouts                   • Gestion par projet                   • Filtrages                   • Pluginslundi 9 avril 12
Projetslundi 9 avril 12
Filtreslundi 9 avril 12
Plugins                   • Lors d’un évènement :                    • Mails                    • Messageries instantanées...
Utiliser Sentry                   • Installation                   • Mise en place avec :                    • Django     ...
Installer Sentry                   • $ pip install sentry                   • $ sentry start                     OU       ...
Raven                   • $ pip install raven                   • Créer un projet sur sentry                   • Noter le ...
Django                             Editez votre settings.py :                   # Set your DSN value                   SEN...
Scripts Python                   from raven import Client                   client = Client(http://public:secret@example.c...
Intégration avec                                logging                   import logging                   from raven.hand...
Logs de base                   # Log                   logger = logging.getLogger(‘demo’)                   logger.warning...
Logs avec pile                   # Log                   logger = logging.getLogger(‘demo’)                   logger.warni...
Prochain SlideShare
Chargement dans…5
×

Sentry

618 vues

Publié le

Sentry est un aggrégateur de log pour Django.
Dans cette présentation, nous allons voir quel peut en être les usages et comment l'utiliser concrètement.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
618
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Sentry

  1. 1. Sentry Xavier Ordoquy Freelance Python & Djangolundi 9 avril 12
  2. 2. Sentrylundi 9 avril 12
  3. 3. Qu’est-ce que Sentry ? • Logs applicatifs • Pile d’exécution Python • Client ( Raven ) / Serveur ( Sentry ) • Centralisélundi 9 avril 12
  4. 4. Historique • Développé pour Disqus • 250 serveurs • 4 milliards de pages / mois • Mises en production perpétuelleslundi 9 avril 12
  5. 5. Environnement • Sites Django • Scripts Python • Sites Flask • Autre langages: • PHP • Javalundi 9 avril 12
  6. 6. Architectures • Un serveur, plusieurs sites • Un site, plusieurs serveurs • Des scripts isoléslundi 9 avril 12
  7. 7. Avant Django permet l’envoi de mails : Traceback (most recent call last): File "[..]/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/sentry_talk/views.py", line 9, in demo total = array1[i]*array2[i] IndexError: list index out of rangelundi 9 avril 12
  8. 8. Avec Sentrylundi 9 avril 12
  9. 9. Problèmes résolus par Sentry • Des fichiers de logs tronqués • Des problèmes difficilement reproductibles • Un centraliseur de logs à mettre en place ( complexité, services différents ).lundi 9 avril 12
  10. 10. Les atouts • Gestion par projet • Filtrages • Pluginslundi 9 avril 12
  11. 11. Projetslundi 9 avril 12
  12. 12. Filtreslundi 9 avril 12
  13. 13. Plugins • Lors d’un évènement : • Mails • Messageries instantanées • Analyse post mortem : • Création d’un bug dans votre outillundi 9 avril 12
  14. 14. Utiliser Sentry • Installation • Mise en place avec : • Django • Python • Logginglundi 9 avril 12
  15. 15. Installer Sentry • $ pip install sentry • $ sentry start OU • http://www.getsentry.com/lundi 9 avril 12
  16. 16. Raven • $ pip install raven • Créer un projet sur sentry • Noter le DSN du projet / serveur • $ raven test <DSN>lundi 9 avril 12
  17. 17. Django Editez votre settings.py : # Set your DSN value SENTRY_DSN = http://xxxx:yyyy@host:8000/5 # Add raven to the list of installed apps INSTALLED_APPS = INSTALLED_APPS + ( # ... raven.contrib.django, )lundi 9 avril 12
  18. 18. Scripts Python from raven import Client client = Client(http://public:secret@example.com/1) try: 1/0 except ZeroDivisionError: ident = client.get_ident(client.captureException()) print "Exception caught; reference is %%s" %% identlundi 9 avril 12
  19. 19. Intégration avec logging import logging from raven.handlers.logging import SentryHandler # Setup logging handler = SentryHandler(http://public:secret@example.com/1) base_logger = logging.getLogger() base_logger.addHandler(handler)lundi 9 avril 12
  20. 20. Logs de base # Log logger = logging.getLogger(‘demo’) logger.warning(‘log de base’)lundi 9 avril 12
  21. 21. Logs avec pile # Log logger = logging.getLogger(‘demo’) logger.warning(log avec pile 2, extra={stack: True})lundi 9 avril 12

×