gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:23:41 26 4
gpt4 key购买 nike

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

我尝试模拟错误并在 Raven 库中记录从获取异常到发送给 Sentry 的整个过程。 Raven 返回了 200 Http 代码(成功),但当我将其检查到 Sentry Dashboard 时,日志为空。

我们的 Raven 版本是 0.9.0

更新:

我已经尝试了 Raven CLI 测试器,如图 here ,它成功发送了异常,但 Sentry Dashboard 中没有显示任何日志。

更新:

通过重新安装 Sentry 并使用新的 dsn 修复了此问题。如果有其他解决方案,则不需要重新安装并使用新的 dsn。欢迎分享您的答案。

最佳答案

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

Sentry comes with a built-in queue to process tasks in a more asynchronous fashion. For example when an event comes in instead of writing it to the database immediately, it sends a job to the queue so that the request can be returned right away, and the background workers handle actually saving that data.

请注意,它依赖 Celery 库来管理工作人员。因此,从 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://:password@localhost:6379/0"

RabbitMQ

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

BROKER_URL = "amqp://guest:guest@localhost:5672/sentry"

关于PHP 错误日志已成功发送到 Sentry,但在 Sentry 仪表板上没有显示日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com