Журналы ошибок PHP были успешно отправлены в Sentry, но на Sentry Dashboard никаких журналов не показали

Каковы причины, по которым Sentry Dashboard не обновляется, хотя ошибки были успешно отправлены?

Я попытался имитировать ошибку и зарегистрировать весь процесс в библиотеке Raven, чтобы получить исключение до отправки в часовой. Ворон вернул 200 Http-код (успех), но когда я проверил его на Sentry Dashboard, журналы были пустыми.

Наша версия ворона 0.9.0

UPDATE:

Я пробовал тестер Raven CLI, как показано здесь, он успешно отправил исключение, но никаких журналов не было показано на панели мониторинга Sentry.

UPDATE:

Исправлено это путем переустановки Sentry и использования нового dsn. Если есть другие решения, которые не потребуют переустановки и использования нового dsn. Не стесняйтесь делиться своими ответами.

Ответ 1

Если вы используете SENTRY ON-PREMISE, это может произойти, если рабочие процессы не запущены или ваша очередь не резервируется. В официальных документах говорится:

Sentry поставляется со встроенной очередью для обработки задач в более асинхронная мода. Например, когда происходит событие, а не немедленно записывая его в базу данных, он отправляет задание в очередь, поэтому что запрос может быть возвращен сразу, а фон рабочие обрабатывают фактическое сохранение этих данных.

И обратите внимание, что он полагается на библиотеку сельдерея для управления рабочими. Таким образом, запуск сотрудника из CLI может решить эту проблему:

$ sentry celery worker

Рекомендуется использовать это как услугу, например, конфигурацию с супервизором:

[program:sentry-worker]
directory=/www/sentry/
command=/www/sentry/bin/sentry celery worker -l WARNING
autostart=true
autorestart=true
redirect_stderr=true
killasgroup=true

Sentry поддерживает два основных брокера, которые могут быть скорректированы в зависимости от вашей рабочей нагрузки:

RabbitMQ  and `Redis`

.

Redis

Брокер по умолчанию - Redis и будет работать в большинстве ситуаций. Основное ограничение на использование Redis заключается в том, что все ожидающие работы должны вписываться в память.

BROKER_URL = "redis://localhost:6379/0"

Если для вашего подключения Redis требуется пароль для аутентификации, вам необходимо использовать следующий формат:

BROKER_URL = "redis://:[email protected]:6379/0"

RabbitMQ

Если вы работаете с большой нагрузкой или имеете проблемы с установкой ожидающей рабочей нагрузки в памяти, тогда RabbitMQ является идеальным кандидатом для поддержки рабочих Sentrys.

BROKER_URL = "amqp://guest:[email protected]:5672/sentry"