问题标签 [google-cloud-error-reporting]

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 投票
1 回答
507 浏览

google-cloud-platform - “请求被中止,因为没有可用的实例” - Google Cloud Functions(PubSub 触发器)

嘿,溢出者!

我正在开发一个小型应用程序,每次将消息发布到 PubSub 主题时都会触发云函数。函数内的代码工作(显然)很好,但我正在尝试发布过程中的一些问题。

出于某种原因,当发布消息时,来自 Cloud Function 的警告日志会返回:“POST 429 [...] The request was aborted because there is no available instance”

如果有人可以提供帮助,我想知道它的含义以及如何处理它。我不确定如何从我的代码中解决这个问题。

感谢大家!

编辑:函数内存限制为 256MB,超时 60 秒。

编辑 2:我已经测试过删除实例限制,但服务一直失败(返回 POST 500 或 POST 429 错误)。

我还有一个问题,我的云函数有时会返回超时。我很确定问题的根源在于 PubSub,即之前提到的那个,这些 CF 对应于失败的 POST 请求。在大多数情况下,函数在时间范围内正确执行。

我的问题:如果消息一开始没有正确发布(也许它被重试?),为什么这些函数会被执行,更重要的是,为什么这些函数会达到它们的超时限制(它们不应该在消息发布之前触发正确,对吧)?

编辑 3:我一直在阅读 Google Cloud Functions 文档,发现我的问题已经记录在这里:https ://cloud.google.com/functions/docs/troubleshooting#scalability

正如纪尧姆所说(再次感谢!),这似乎是一个扩展问题。这些函数被触发得如此之快,以至于它们没有足够的时间来扩展实例。我将尝试处理传入消息的流,使其在加速时变慢。

本节的注释也可以提供帮助: https ://cloud.google.com/functions/docs/concepts/exec#auto-scaling_and_concurrency

注意:入站流量的极快增长可能会间歇性地导致某些请求失败,HTTP 代码为 500。这是因为请求在等待创建新实例时在挂起队列中超时。配置您的工作负载,使其在一分钟内逐渐增加流量可以帮助解决此问题。另请参阅云功能故障排除了解更多信息。

再次感谢大家!

0 投票
1 回答
191 浏览

google-cloud-platform - 从 GCP 错误报告 Webhook 触发云功能

我正在努力将云错误报告连接到请求的云函数(最终与 JIRA API 联络)。

我已经能够成功接收到 Webhook 的 Monitoring Notification Channels 的测试通知,但是触发电子邮件通知通道的事件不会同时触发 Webhook。

有没有办法将错误报告事件发送到附加了 error_group 的 Web URL 或 pubsub 作业?

0 投票
1 回答
103 浏览

security - 限制给定 API 的端点子集的 GCP API 密钥

根据有关向 API 密钥添加 API 限制的文档,我指定了一个 GCP API,我希望特定的 API 密钥能够对其进行操作(在我的情况下;错误报告)。

但是,错误报告 REST API有很多功能,我不希望允许此 API 密钥对其进行操作......事实上,我希望允许我的 API 密钥在该 REST API 中只有一个端点称呼。

因此,我如何将 API 密钥限制为仅访问给定 GCP API 的端点子集。

0 投票
1 回答
60 浏览

python - 如何将 GCE 的错误报告与 Docker 和 Django 一起使用?

我正在使用 Docker 在计算引擎上运行 Django。我想知道当应用程序遇到像云运行这样的错误时,如何检查错误报告中的错误。

我正在研究如何在 Python 中设置错误报告。https://github.com/googleapis/python-error-reporting/tree/main/samples/snippets/fluent_on_compute

查看此示例,我似乎需要引发异常并运行report (traceback.format_exc ())以使用错误报告。

示例代码

当我运行 Django 时,除了使用try: execpt.

如何在错误报告中显示此类错误?

请让我知道是否有任何好的方法。谢谢你。

0 投票
1 回答
91 浏览

google-app-engine - 如何使用错误报告在 BigQuery 中加入 Google App Engine 的日志记录表

Google App Engine (GAE)为每天的日志记录创建一个表,其中包含多个日志信息,例如“状态”(例如:500404)等。

但是,此表不包含错误报告中错误的解决状态。例如:

在此处输入图像描述

目前,我想知道每天发生多少“已确认”错误。appengine_googleapis_com_request_log_*我可以通过(例如:)了解每天发生的错误appengine_googleapis_com_request_log_20211130。但是,我不知道如果错误是AcknowledgedOpen我怎么能得到。

有谁知道我如何组合这些信息,或者至少如果错误报告将其信息保存在任何 BigQuery 表中?

0 投票
1 回答
84 浏览

python - 防止 GCP 错误报告从日志消息中间记录嵌套堆栈跟踪

我在抛出/捕获异常的 try/except 块中有一段代码(在一种情况下为 psycopg2,在另一种情况下为 CRCError)。使用标准库(下面的示例代码)记录异常。

GCP 错误报告正在记录捕获的异常(缺少上下文)。

我们如何才能完成以下任务?

  • 确保我的异常与上下文异常明确显示在错误报告控制台中。- 我实际上知道这里的答案是[明确使用错误报告客户端][1],因为我已经在其他地方这样做了,或者允许未捕获异常(在这种情况下不希望出现,因为它会改变执行流程)。
  • 防止 GCP 显式记录这些“错误” - 这是让我难过的部分。我不想明确吞下捕获的异常的堆栈跟踪。这与我为整个应用程序配置日志记录的方式有关吗?请注意 GCP 日志资源管理器如何在下面显示 2 个单独的条目。

处理/记录 OSError 的示例代码:

对应的报错条目:

显示两个单独条目的日志资源管理器:

0 投票
1 回答
106 浏览

node.js - 如何在 Cloud Run 上使用 Node.js 进行错误报告

我已按照此处的 Node.js 说明进行操作

我有一个快速服务器部署到 Cloud Run。如果我使用 express 中间件并将错误发送到next(),如文档中所述,它会显示在错误报告中。

但是,如果我以report如下各种形式使用该方法,则不会报告任何内容。

我尝试将 IAM 角色“Error Reporter Writer”添加到我用于部署到 Cloud Run 的(AppEngine 默认)服务帐户中,但它仍然不起作用。

TS 编译器也不接受示例中使用的回调函数,因此要么示例已过时,要么 TS 类型定义错误。

有任何想法吗?

0 投票
1 回答
32 浏览

google-app-engine - 如何在 Google App Engine 中的每个异常事件中获得通知?

我希望在我的 GAP 服务中发生的每个异常都得到通知(通过 slack 频道的电子邮件)。

当我尝试通过 GCP 错误报告创建通知时,似乎我能够为每个事件(而不是每次发生)获得一个通知,并且每天/每小时/每月只查询一次.

我还尝试根据日志严重性在 GCP 日志监控中创建一个策略,但当然我不会仅收到异常通知,松弛通知只是宣布已通过阈值,而没有我想要的实际数据推。

  1. 有什么方法可以让错误报告在每次发生时通知我?

  2. GCP 是否有其他内部工具可以在事件发生时发出通知?还是应该使用外部工具,例如 Epsagon/Operations(以前称为 Stackdriver)?

0 投票
0 回答
32 浏览

google-cloud-platform - 如何修复“无法构建应用程序。错误:无法流式传输构建输出:命令'/bin/sh -c pip install --no-cache-dir -r requirements.txt”

我对 gcloud 有点陌生,我不知道如何解决这个错误:(

当我尝试将我的 API 部署到云运行时,我收到以下错误消息:

这是详细的日志:

这是我要在第一个文件(snsr.py)中导入的内容:

这是我要在第二个文件(main.py)中导入的内容:

这是我的 requirements.txt 文件:

这是我的码头工人:

0 投票
1 回答
40 浏览

google-cloud-platform - 有没有办法在 GCP 错误报告中创建错误,而错误报告将它们关联在一起?

通常,GCP 错误报告的分组有助于使工具保持连贯性并允许快速识别问题;但是,有时我想确保错误报告为特定错误创建一个单独的组,而不是将其组合在一起,例如系统故障。是否可以通过 ErrorReporting Node.js 客户端(我们正在使用 Node.js 云函数)或其他方式强制创建错误并确保它不与其他类似的堆栈跟踪分组?