Sentry 日志记录错误,我的配置有什么问题,如何从 sentry 获得更详细的错误? (可能 Docker 相关?)

Sentry Logging Error, what's wrong with my config and how can I get more detailed errors from sentry? (Possibly Docker related?)

我最近一直在使用 Sentry,但遇到了一些问题。

经过几个小时的挫折让它开始工作后,我启用了调试模式以查看输出。每次都是这样:

我已经按照文档一步一步地集成了它。我有一个文件来初始化日志记录,然后是我的索引文件。这是我的日志记录初始化文件:

const Sentry = require("@sentry/node");
const Tracing = require("@sentry/tracing");

Sentry.init({
  dsn: [REDACTED],
  tracesSampleRate: 1.0,
  attachStacktrace: true,
  debug: true,
  environment: process.env.VERSION
});

module.exports = Sentry

从那里,我将此文件导入到我的索引中,并在此文件中包含一个故意错误以对其进行测试:

const Sentry = require('./logging/sentry.js')


try {
    doSomeFunction();
} catch(error) {
    Sentry.captureException(error);
}

这是怎么回事?我使用哨兵错了吗?我一直无法找到有关此的任何信息。我能够让它在我的机器上工作(当然哈哈)但是当我将它部署到我的 Docker 容器时,它没有工作,这让我相信这可能是问题的一部分。

谢谢!

更新:

尝试重写它,但没有成功,我真的不确定这里出了什么问题,即使我按照文档进行操作,我也无法让它工作。如果能提供一些帮助,我们将不胜感激。

更新 2:

我现在确信这个问题是由于 Docker,可能阻塞了端口 443。我已经 sudo ufw allow 443 成功了,但问题仍然完好无损。

更新 3:

根据一些资料,我认为 IPTables 存在这个问题(甚至可能是 cloudflare?)

这是我的 IPTables:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere             anywhere             ADDRTYPE match dst-type LOCAL
DNAT       tcp  --  anywhere             anywhere             tcp dpt:https to:172.17.0.3:8443

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  --  anywhere            !localhost/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  172.17.0.0/16        anywhere            
MASQUERADE  all  --  172.18.0.0/16        anywhere            
MASQUERADE  tcp  --  172.18.0.6           172.18.0.6           tcp dpt:3000
MASQUERADE  tcp  --  172.18.0.7           172.18.0.7           tcp dpt:https
MASQUERADE  tcp  --  172.18.0.7           172.18.0.7           tcp dpt:http

Chain DOCKER (2 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere            
RETURN     all  --  anywhere             anywhere            
DNAT       tcp  --  anywhere             anywhere             tcp dpt:3000 to:172.18.0.6:3000
DNAT       tcp  --  anywhere             anywhere             tcp dpt:https to:172.18.0.7:443
DNAT       tcp  --  anywhere             anywhere             tcp dpt:http to:172.18.0.7:80

我想知道这是否相关!

  1. DSN是数组还是字符串?根据哨兵文档,它应该是一个字符串。

  2. 提及 0.0.0.0 的错误通常与 DNS 相关。您检查过 docker 的 DNS 配置了吗?有hosts文件吗?一个可能的原因可能是拦截 DNS 请求并返回 0.0.0.0.