我已经尝试模拟一个错误,并记录在Raven库中的整个过程从获取异常到发送到哨兵. Raven返回了200个Http代码(成功),但是当我检查到Sentry Dashboard时,日志是空的.
我们的Raven版本为0.9.0
更新:
我已经尝试过Raven CLI测试器,如图here所示,它成功发送异常,但Sentry Dashboard中没有显示任何日志.
更新:
通过重新安装Sentry并使用新的dsn来修复这个问题.如果还有其他解决方案不需要重新安装并使用新的dsn.随意分享你的答案.
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运行一个worker可能会解决这个问题:
$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"