【问题标题】:Dialogflow - TIMEOUT_DNSLOOKUP on webhook executionDialogflow - webhook 执行时的 TIMEOUT_DNSLOOKUP
【发布时间】:2021-10-15 09:15:58
【问题描述】:

我在 Dialogflow 的实现方面遇到了一个非常奇怪的问题。

上下文:

  • 我制作了一个简单的 Dialogflow 机器人,其中包含一些实现意图。当我在我的开发环境中测试这些意图时(使用 ngrok 隧道服务为我的 webhook 服务器生成一个可公开访问的 https 端点),这些意图按预期工作。
  • 此后,我开始在我的预生产服务器中遇到问题。最后一个服务器中的架构与开发中的架构完全相同。事实是,意图在大多数情况下都能正常工作,但有时相同的意图无法正常工作;更具体地说,机器人根本没有回答。

错误:

  • 查看我的 Dialogflow 历史记录,我注意到所有“未响应”消息之间的共享错误如下:

似乎正在制作 Dialogflow 的 DNS 查找过程有时会出现超时错误。

我正在添加图表以添加更多上下文:

我已经通过对我的履行端点检查进行超过 50k 次调用进行压力测试来测试我的域的可用性:

  • 响应状态码为 200。
  • 调用在 5 秒前解决(Dialogflow 在 webhook 调用上的最大超时)。

所有这些调用都通过了测试。

意图失败的事实有时(工作的次数多于失败的次数)让我发疯......我会很感激这方面的任何线索。

谢谢。

【问题讨论】:

  • 嗨 Mochis,您能否提供更多详细信息,例如您正在使用的 Dialogflow 库的版本控制?此外,消息是否同时发生? (如果有一些配额可能超过(CX 和 ES 代理),您可以检查它here
  • 嗨@Betjens,就代码而言,我没有使用任何Dialogflow库。我正在使用当前版本的 Dialogflow ES。这似乎也不是我的配额使用问题,因为我正在单独测试机器人,除了我之外没有人与它交互。提醒一下,当我使用 ngrok 隧道为我的 webhook 后端提供服务时,该机器人正常工作。
  • 很难重现您的错误场景。此外,它看起来更像是在您的流程的 NGNIX 方面,我想更多地了解您的 NGNIX 设置。另外,see
  • 请注意,发生此错误时,我的 NGINX 没有收到任何呼叫。无论如何,我会告诉你更多关于我的 NGINX 的信息。我刚刚将其配置为侦听 443 ssl,设置主机名和证书(+ 密钥)并启用 2 proxy_pass(/chat 和 /api)。与您提到的线程相关,我正在使用 docker-compose 来编排部署,因此我使用服务名称来配置 proxy_pass。另外,我猜如果是 NGINX 故障,我会看到任何我没有看到的 NGINX 日志。

标签: dialogflow-es


【解决方案1】:

我也有同样的问题。直到三天前一切正常(我没有改变任何东西)。使用DialogFlow ES,有时会出现问题。我不知道发生了什么。

我在 GCP 项目的虚拟机中实现了这一点

  "diagnosticInfo": {
    "webhook_latency_ms": 1226
  },
  "webhookStatus": {
    "webhookStatus": {
      "code": 4,
      "message": "Webhook call failed. Error: DEADLINE_EXCEEDED, State: URL_TIMEOUT, Reason: TIMEOUT_DNSLOOKUP."
    },
    "webhookUsed": true
  },

【讨论】:

  • 会不会是google端的问题?
  • 嗨布鲁诺。事实上,这似乎是谷歌方面的一个问题,但我不是 100% 确定。你能分享更多关于你的场景吗?让我们看看我们是否可以找到共同点并解决这个问题。
  • 嗨 Mochics。我在 GCP 中有两个不同的项目,它们都是完全隔离的。每个项目由部署在 GCP 中的 VM 组成,VM 内部有多个 docker 用于不同目的,我也使用 docker-compose。在一个 docker 中,我有一个调用 dialogflow API 的 NodeJs 服务器,在同一个 docker 中,我有履行服务器(webhook 调用)。上周五,这两个项目一切正常。我没有改变任何东西,问题开始于周五和周一之间。我想 DialogFlow 或 DNS 服务器中发生了一些变化。
  • 您用于生产的 DNS 提供商是什么?
  • 我不确定 DNS 提供商,因为我不是域的所有者。可以询问它是否超级相关。
【解决方案2】:

最近几天发现DialogflowES有一些更新,查看
DialogFlowES Release Notes

也许您应该直接向 Google Issue Report 提出此问题,他们可以提供进一步的帮助。

【讨论】:

  • 嗨 Betjens,我在过去几个月没有看到相关的发布,但我会将问题提交给您链接的问题跟踪器。谢谢。
  • 我已经在 Dialogflow 的问题跟踪器中打开了该问题。手指交叉。 issuetracker.google.com/issues/203461124
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多