Протоколирование в Sentry для Twisted

При настройке протоколирования в Sentry для наших проектов возник интересный вопрос: как лучше передавать сообщения об ошибках из Twisted. Простое гугление подсказало один из очевидных вариантов, но он имел свои недостатки: ошибки протоколировались в лучшем случае в непотребном виде:

'Traceback (most recent call last):\n  File "/usr/lib/python2.7/dist-packages/XXX/XXX/XXX/xxx.py", line 180, in connect\n    connection = cx_Oracle.connect(**self.dsn)\nDatabaseError: ORA-12170: TNS:\xd0\xb8\xd1\x81\xd1\x82\xd0\xb5\xd0\xba\xd0\xbb\xd0\xbe \xd0\xb2\xd1\x80\xd0\xb5\xd0\xbc\xd1\x8f \xd0\xbe\xd0\xb6\xd0\xb8\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f \xd1\x81\xd0\xbe\xd0\xb5\xd0\xb4\xd0\xb8\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f\n\n'

Понятно, что для практических целей это трудноприменимо, поэтому путем экспериментов и чтения документации Twisted был найден следующий более оптимальный вариант:

Continue reading Протоколирование в Sentry для Twisted

Упрощение инсталляции сервера sentry

Sentry предоставляет удобный интерфейс для оперативного мониторинга ошибок или успешности работы сервисов. Однако, использовать платный сервис с getsentry.com не всем удобно да и не все могут в силу различных мер безопасности отправлять уведомления о своих ошибках во внешние сервисы. В связи с этим для многих актуально устанавливать сервер на внутренних ресурсах, и раньше я уже даже делал небольшую типовую конфигурацию. Но, после открытия удобных инструментов вроде dh-virtualenv появилось желание упростить прежнюю процедуру до простой установки debian-пакета, в связи с чем появился новый репозиторий в GitHub – sentry-server.

Настраиваем sentry с virtualenv и uwsgi

UPD: для debian-систем появилась возможность упростить порядок инсталляции и сделать её более изолированной и удобной для управления: см. здесь.

В предыщуем посте я описал свой рецепт установки django + virtualenv + uwsgi. Сегодня настраивал под свои проекты новую версию Sentry для протоколирования ошибок и описываю шаги, которые специфичны для неё:

Continue reading Настраиваем sentry с virtualenv и uwsgi