PHP错误日志已成功发送到Sentry,但在Sentry Dashboard上没有显示日志

jhn*_*ris 12 php sentry raven

即使错误成功发送,Sentry Dashboard未更新的原因是什么?

我已经尝试模拟错误并在Raven库中记录整个过程,从获取异常到发送到哨兵.Raven返回了一个200 Http代码(成功)但是当我检查它到Sentry Dashboard时,日志是空的.

我们的Raven版本是0.9.0

更新:

我已经试过了乌鸦CLI测试仪如图所示这里,它成功地发送了异常,但没有记录在哨兵仪表板显示.

更新:

通过重新安装Sentry并使用新的dsn解决了这个问题.如果有其他解决方案不需要重新安装和使用新的dsn.随意分享您的答案.

Ama*_*tap 2

如果您使用 SENTRY ON-PREMISE,如果工作进程未运行或您的队列未备份,则可能会发生这种情况。官方文档说:

\n\n
\n

Sentry 带有一个内置队列,可以以更加异步的方式处理任务。例如,当一个事件到来而不是立即将其写入数据库时​​,它会向队列发送一个作业,以便可以立即返回请求,并且后台工作人员会实际保存该数据。

\n
\n\n

请注意,它依赖 Celery 库来管理工作人员。因此,从 CLI 运行工作线程可能会解决这个问题:

\n\n
$ sentry celery worker\n
Run Code Online (Sandbox Code Playgroud)\n\n

建议将其作为服务运行,使用主管的示例配置:

\n\n
[program:sentry-worker]\ndirectory=/www/sentry/\ncommand=/www/sentry/bin/sentry celery worker -l WARNING\nautostart=true\nautorestart=true\nredirect_stderr=true\nkillasgroup=true\n
Run Code Online (Sandbox Code Playgroud)\n\n

Sentry 支持两个主要代理,可以根据您的工作负载进行调整:

\n\n
RabbitMQ  and `Redis`\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
\n

雷迪斯

\n
\n\n

默认代理是 Redis,并且可以在大多数情况下工作。使用 Redis 的主要限制是所有待处理的工作都必须适合内存。

\n\n
BROKER_URL = "redis://localhost:6379/0"\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您的Redis连接需要密码进行身份验证,则需要使用以下格式:

\n\n
BROKER_URL = "redis://:password@localhost:6379/0"\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

RabbitMQ

\n
\n\n

如果您运行高工作负载,或者担心将挂起的工作负载装入内存,那么 RabbitMQ 是支持 Sentry\xe2\x80\x99s 工作线程的理想选择。

\n\n
BROKER_URL = "amqp://guest:guest@localhost:5672/sentry"\n
Run Code Online (Sandbox Code Playgroud)\n