Monitoramento Sentry (Sentry)¶
A extensão Sentry integra o Moodle à plataforma de observabilidade Sentry.io (ou GlitchTip/Self-hosted). Ela monitora a saúde da aplicação em tempo real, capturando erros e gargalos de performance.
No Moodle padrão, quando ocorre um "Erro 500" ou uma tela branca, o administrador precisa acessar o servidor via SSH e ler arquivos de log brutos para tentar adivinhar o que aconteceu. Com esta extensão, o erro aparece no painel do Sentry com o Stack Trace completo, dados do usuário e contexto da requisição, permitindo uma correção proativa.
Para que serve?¶
- Detecção Proativa: Descobrir que uma funcionalidade quebrou antes que o aluno abra um chamado no suporte.
- Diagnóstico Rico: Saber exatamente em qual linha do código o erro ocorreu, qual navegador o usuário estava usando e quais foram os passos anteriores (Breadcrumbs).
- Monitoramento de Performance: Identificar quais páginas do curso estão lentas e por quê (ex: consulta de banco demorada).
Funcionalidades Principais¶
1. Captura de Erros (PHP e JavaScript)¶
A extensão monitora tanto o Backend (servidor) quanto o Frontend (navegador do aluno). * Se um botão não funciona no Chrome do aluno, o Sentry captura o erro de JavaScript e avisa a equipe de TI.
2. Enriquecimento de Contexto¶
Um erro genérico diz: "Call to undefined function".
O erro via MIDDAG Sentry diz:
* Usuário: ID 54 (João Silva)
* Curso: ID 10 (Matemática Financeira)
* URL: /course/view.php?id=10
* Release: Versão 2.5.0 do plugin
3. Rastreamento de Performance (Tracing)¶
A extensão instrumenta o carregamento das páginas. Você consegue visualizar um gráfico em cascata mostrando quanto tempo o Moodle gastou: * Conectando ao Banco de Dados. * Carregando o Tema. * Processando Webhooks.
4. Gestão de Releases¶
Ao fazer um deploy de uma nova versão do Moodle ou de um plugin, o Sentry marca esse evento na linha do tempo. Se o número de erros disparar logo após a atualização, você sabe exatamente qual commit causou o problema.
Casos de Uso¶
Falha de Pagamento Silenciosa¶
O webhook do gateway de pagamento está dando erro 500, mas o aluno não vê isso (acontece no background). O Sentry alerta a equipe de TI no Slack imediatamente, permitindo corrigir a falha antes de perder vendas.
Lentidão no Quiz¶
Alunos reclamam que a prova demora para carregar. O Performance Monitoring mostra que uma consulta SQL específica no banco está levando 4 segundos, orientando o DBA a criar um índice.
Como Configurar¶
- No Sentry.io:
- Crie um Projeto (PHP ou Laravel).
- Copie o DSN (Client Key).
- No Moodle:
- Acesse Administração do Site > Extensões > Integrações > Sentry.
- DSN: Cole a chave copiada.
- Ambiente: Defina como
production,stagingoulocal. - Traces Sample Rate: Defina a porcentagem de tráfego a ser monitorada (ex:
0.1para 10%, recomendado para não estourar a cota em sites grandes). - Capturar JS: Ative para monitorar erros de navegador.
Perguntas Frequentes¶
Isso expõe dados sensíveis (LGPD)? A extensão possui uma configuração de Sanitização de Dados. Por padrão, ela remove senhas, tokens de sessão e pode ser configurada para não enviar o IP ou E-mail do usuário (enviando apenas o ID), garantindo a privacidade.
Deixa o site lento? O impacto é insignificante. O envio de erros é feito de forma assíncrona (no JavaScript) ou no final da execução do script (no PHP), não bloqueando a navegação do usuário.
Preciso pagar o Sentry? O Sentry tem um plano gratuito generoso para desenvolvedores. Para grandes instituições com milhões de requisições, pode ser necessário um plano pago ou hospedar uma versão Self-Hosted (gratuita, mas exige servidor próprio).