问题标签 [sentry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
791 浏览

python - 如何配置哨兵以记录从 django 应用程序抛出的所有未捕获的异常?

老实说,我认为这是开箱即用的......

我有自己的哨兵服务器启动并运行。我的 django 应用程序完全按照此处所述进行配置:http ://raven.readthedocs.org/en/latest/config/django.html 。Raven 连接已经过测试,所以我知道我的哨兵服务器是可以访问的。

现在我的模型中有这段代码:

现在我在调试模式下运行'python manage.py runserver'。

我看到一堆这样的东西:

但是没有错误记录到哨兵。为什么?

0 投票
3 回答
1405 浏览

python - Django sentry 默认标签

我正在使用 python-raven 自动捕获我的 django 项目中的所有 500 个,并且效果很好。我还转发了一些我处理的异常并将它们附加一个特殊标签以便能够将它们过滤掉。问题是我无法过滤缺少特定标签的消息,因此我想为所有消息设置默认标签,但无法使其正常工作。

我已经尝试了以下方法,但它只是被忽略了。

有谁知道如何将默认标签发送到哨兵?

0 投票
0 回答
2807 浏览

python - 当 Django settings.py 中的 DEBUG = False 时,Raven/Sentry 不起作用

我已经安装了 Sentry(6.3.2)/Raven(3.5.1) 来监控我的 Django 1.5.5 应用程序,如果我的应用程序在我的 settings.py 中设置为 DEBUG=True,它就可以工作。但是,如果我将其设置为 False,则不再有错误消息到达 Sentry。我的 Raven 应用程序在使用“python manage.py raven test”进行测试时肯定可以工作(除了在调试模式下运行 Django 时出现的错误消息)。Sentry 在与我的 Django 应用程序不同的虚拟环境中运行,它们都通过 Nginx 反向代理运行。我正在运行 python 2.6。

我的 settings.py 看起来像这样:

我的 sentry.conf.py 是这样的:

在 Django 不处于调试模式时,如何让 Raven/Sentry 运行?

非常感谢您的帮助!

更新: 我只是想补充一点,即使调试模式关闭,我也会在 Sentry 上收到“SuspiciousOperation:无效的 HTTP _ HOST 标头(您可能需要设置 ALLOWED _ HOSTS) ”错误消息。

这些消息中的大部分来自这样一个事实,即我已从我的 ALLOWED_HOSTS 列表中删除了我以前的一个域,并且机器人仍在寻找它。

只是为了澄清一下:我在非调试模式下没有收到的消息是我在我的代码中放入“assert False”或者只是输入一些随机字符串来抛出错误的消息。

0 投票
1 回答
329 浏览

django - 在我的 Django 项目中访问哨兵模型

我正在开发一个有两个 django 项目的系统。一个服务器和一个客户端。服务器负责管理多个客户端实例。该系统依靠 Sentry/Raven 来处理错误记录。

我的问题是哨兵需要我手动创建和配置每个客户端(哨兵项目)。由于客户端实例的数量很大,我已经不得不在我的服务器项目上手动执行此操作。我试图自动化这个过程,所以当我在服务器上创建一个新客户端时,它会创建一个新的 Sentry 项目。

就像在这个问题中一样,我尝试直接访问我项目中的 Sentry ORM。但这表明这是一个死胡同。所以我写了一个python scrypt来做到这一点。

在所述脚本中,我从哨兵导入 DJANGO_SETTINGS_MODULE 并使用它来解决问题,直到我拥有我需要的东西。

如果我在我的 shell 上运行脚本,它会完美运行。

但是,当我使用 subprocess 在我的 Django 项目中调用它时

该脚本在“from sentry.models import *”行生成以下错误:

您可能已经注意到 sentry 安装在 virtualenv 中。但是,当我在我的 bash 上调用这个脚本时,我不需要激活它,只要我提供了 virtualenv 的 python 的正确路径。

我在这里迷路了。当脚本使用 shell 运行良好时,我认为脚本没有理由使用 subprocess.call 失败。

任何指针都会非常感激。

谢谢。

0 投票
1 回答
1220 浏览

ruby-on-rails - Rails 4:ActionView::MissingTemplate 即使定义了视图?

我有一个在生产中运行的 rails 4 应用程序(社交约会网站),但出现以下错误:

根据我的哨兵错误报告服务,当用户访问以下 URL ( https://www.example.com/users ) 并由 URL https://www.example.com/users/exampleuser引用时触发它

然而,当我在其他用户手动访问这些 URL 时登录时,一切都很好。我有没有可能用完系统资源来处理这个请求?或者是什么原因造成的?

编辑:页面上的所有 css 都由资产管道提供,因此没有 css 是硬编码的:

0 投票
1 回答
5257 浏览

python - Root logger in dictconfig

I want to setup a Sentry logger for a Django project. I will define a sentry handler and will put that handler in the root logger with error level.

According to the documentation of logging module, there a special root key:

root - this will be the configuration for the root logger. Processing of the configuration will be as for any logger, except that the propagate setting will not be applicable.

At the same time in other places a logger with name '' is used to contain configuration for the root logger.

Does this have the same effect? What is preferable?

0 投票
2 回答
2667 浏览

ruby-on-rails - 如何在中间件中设置 current_user?

要为我的问题提供更多背景信息,请参阅此 Github 问题 - https://github.com/getsentry/raven-ruby/issues/144

我正在使用raven哪个是错误记录器。我想为current_user如果用户已登录添加 id。我收到的答案是

这应该通过您的中间件或类似的地方来完成。

意味着在 Raven中设置 current_user。

我已经阅读了有关中间件的信息,但仍然无法弄清楚如何才能融入current_user其中。

0 投票
1 回答
132 浏览

ruby-on-rails - 令人困惑的哨兵错误 - 用户被路由到从登录进行搜索

我有一个触发 Sentry 错误的社交约会 Rails 4 网站。在返回某个半径内最近的用户的搜索控制器中:

例外是NoMethodError undefined method `page' for nil:NilClass并且与以下代码行有关:

此请求中的引荐来源网址是 something.com/login,此请求网址是 something.com/search。"page" 方法来自Kaminari gem,一个分页 gem。用户登录并被重定向到个人资料页面,他们可以在其中单击“搜索”按钮。我的问题是:什么可能触发此错误和/或为什么 /search 有 /login 的引用 URL?登录页面上没有搜索按钮。当我手动测试所有内容时,一切正常。

编辑:问题是引荐来源网址是 /login 在导致错误的 /search 操作上。但是,登录的人不会被定向到搜索操作,他们将被重定向到个人资料页面,然后他们可以在其中单击“搜索”按钮。

0 投票
1 回答
1027 浏览

python - 本地 Django 服务器重定向到 Sentry 服务器

我已经设置了一个本地 django 服务器以及曾经位于的 celery 127.0.0.1(我可以在运行命令时调整端口python manage.py runserver <port>)。

然后,我想为我的应用设置 Sentry。我按照快速入门说明执行此操作。这是我在我的sentry.conf.py

这就是我在我的settings.py

我必须添加,ALLOWED_HOSTS = ['*']否则python manage.py raven test会由于可疑标题而失败。而且我必须添加from sentry.conf.sever import *,因为否则我会在未设置一些哨兵变量的情况下遇到 raven 错误。设置 Sentry 后,我可以从127.0.0.1:9000.

但是,我无法访问我的 django 应用程序。每次我去 127.0.0.1:8000 时,我都会被重定向到哨兵登录(登录后会出现内部服务器错误,因为它不在端口 9000 上)。此外,从控制台查看日志,SuspiciousOperation: Invalid HTTP_POST header如果我没有放在文件ALLOWED_HOSTS = ['*']末尾,我会看到一个错误settings.py

如何在同一 IP (localhost) 和不同端口上本地运行 django 应用程序和 Sentry?

0 投票
2 回答
4875 浏览

python - 从 Celery 任务登录到 Sentry

也许我的问题看起来很傻,但我不明白如何正确设置从 celery 任务到Sentry的日志记录。

例如,我有一个tasks.py包含两个任务的模块:foobar. 我想在任务中获取记录器并将所有消息直接发送到 Sentry,而不是文件logger.infologger.error

请告诉我它是如何正确完成的,如果你想要一些简单的例子。