Skip to content

Sentry

O que é o Sentry ?

O Sentry é uma aplicação open source escrita em Python para debug de log de erros de aplicações e agregar informações a eles. Apesar de ser escrito em Python o Sentry pode ser usado em PHP, Ruby, Python, Go, Javascript, Elixir, etc. Nossas Aplicações na grande maioria se usa DJANGO, então é necessario deixar claro que a integração do Django adiciona suporte para o Django Web Framework da versão 1.6 para cima.

Instalação em aplicações DJANGO:

No Dockerfile deve ser adicionado no RUN do pip install o pacote do sentry sdk:

sentry-sdk==0.10.2
  • Em caso de erro
pip install --upgrade 'sentry-sdk==0.10.2'

Para configurar o SDK, inicialize-o com a integração do Django em seu arquivo settings.py:

import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration

if os.environ.get("SENTRY_DSN"):
    sentry_sdk.init(
        dsn=os.environ["SENTRY_DSN"],
        integrations=[DjangoIntegration()]
    )

Adicione um environment no seu arquivo .env:

SENTRY_DSN=

Pegar o valor do DSN:

Cada aplicação tem seu projeto criado em sentry.geomk.com.br, o próprio sentry se encarrega de gerar o DSN, assim você pode copiar esse DSN e alimentar o SENTRY_DSN. passo a passo:

  • entre no site sentry.geomk.com.br.
  • Clique na aplicação ou crie uma em add new project.
  • Agora clique em settings.
  • E vá na guia Client Keys (DSN).
  • Ao clicar será listado o valor da DSN da aplicação desejada.

Não quero acompanhar o log de erro da aplicação com o SENTRY o que eu faço? :

Apenas comente o environment do Sentry no .env

#SENTRY_DSN=

Para acompanhamento da função no sentry:

  • Adicione um sentry_debug.py em /source/(projeto)/management/commands/
  • Dentro do arquivo adicione
from django.core.management.base import BaseCommand
from django.urls import path

class Command(BaseCommand):

    def handle(self, *args, **options):
        division_by_zero = 1 / 0
  • Agora so rodar:
python manage.py sentry_debug