Skip to content

Debugging ‐ Investigate errors on the production server

Théophile MADET edited this page Jul 3, 2024 · 4 revisions

There are 3 ways to investigate errors happening on the production server.

Read the logs directly

If you have access to the production server, you can ssh to it then run docker logs tapir-tapir-1. You should see the latest errors.

You can also check the scheduled tasks with docker logs tapir-celery-1 for example. Run docker ps to get a list of running containers. This method also works on the test server.

Get email notifications

Django can send emails automatically when an error happens on the server. The email contains the stacktrace and informations about the request that triggered the error, like which user was logged in, which headers were sent...

If you want to receive these emails, you need to add your email to prod1.supercoop.de/tapir/docker-compose.yml on the Infrastructure repo, under services/tapir/environment/DJANGO_ADMINS. If you don't have access to the Infrastructure repo, ask in the #tapir or #it_team channels on Slack for someone that has access to add your email to the file.

Email notifications are only sent from the production server. The test server does not send emails.

Get Slack notifications.

Similarly to email notifications, we also send messages to Slack when errors happen on the production server. Join the #tapir-server-errors channel to receive the notifications.

Slack messages are sent through the SendExceptionsToSlackMiddleware

Slack messages are only sent from the production server. The test server does not send messages.