即使成功发送了错误,仍未更新Sentry Dashboard的原因是什么?
我试过模拟错误,并将整个过程记录在Raven库中,从获取异常直到发送到哨兵。 Raven返回了200 Http代码(成功),但是当我将其检查到Sentry Dashboard时,日志为空。
我们的Raven版本是0.9.0
更新:
我已经尝试过如here所示的Raven CLI测试器,它成功发送了异常,但Sentry仪表板中未显示任何日志。
更新:
通过重新安装Sentry并使用新的dsn来解决此问题。如果还有其他解决方案,则不需要重新安装并使用新的dsn。随时分享您的答案。
参考方案
如果您使用的是SENTRY ON-PREMISE,则在工作进程未运行或队列未备份的情况下可能会发生这种情况。官方文档说:
Sentry带有一个内置的队列,可以处理更多任务
异步方式。例如,当一个事件而不是
立即将其写入数据库,它将作业发送到队列,因此
该请求可以立即返回,并且背景
工作人员实际处理该数据。
请注意,它依靠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的主要限制是所有待处理的工作必须适合内存。
BROKER_URL = "redis://localhost:6379/0"
如果您的Redis连接要求使用密码进行身份验证,则需要使用以下格式:
BROKER_URL = "redis://:password@localhost:6379/0"
兔子MQ
如果您的工作量很大,或者担心将待处理的工作量存储在内存中,那么RabbitMQ是支持Sentry工作者的理想选择。
BROKER_URL = "amqp://guest:guest@localhost:5672/sentry"
PHP getallheaders替代 - php我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…
PHP:将字符串拆分为字母和数字部分的最佳方法 - php我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…