问题标签 [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.
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。这是因为请求在等待创建新实例时在挂起队列中超时。配置您的工作负载,使其在一分钟内逐渐增加流量可以帮助解决此问题。另请参阅云功能故障排除了解更多信息。
再次感谢大家!
google-cloud-platform - 从 GCP 错误报告 Webhook 触发云功能
我正在努力将云错误报告连接到请求的云函数(最终与 JIRA API 联络)。
我已经能够成功接收到 Webhook 的 Monitoring Notification Channels 的测试通知,但是触发电子邮件通知通道的事件不会同时触发 Webhook。
有没有办法将错误报告事件发送到附加了 error_group 的 Web URL 或 pubsub 作业?
security - 限制给定 API 的端点子集的 GCP API 密钥
根据有关向 API 密钥添加 API 限制的文档,我指定了一个 GCP API,我希望特定的 API 密钥能够对其进行操作(在我的情况下;错误报告)。
但是,错误报告 REST API有很多功能,我不希望允许此 API 密钥对其进行操作......事实上,我希望允许我的 API 密钥在该 REST API 中只有一个端点称呼。
因此,我如何将 API 密钥限制为仅访问给定 GCP API 的端点子集。
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
.
如何在错误报告中显示此类错误?
请让我知道是否有任何好的方法。谢谢你。
google-app-engine - 如何使用错误报告在 BigQuery 中加入 Google App Engine 的日志记录表
Google App Engine (GAE)为每天的日志记录创建一个表,其中包含多个日志信息,例如“状态”(例如:500
、404
)等。
但是,此表不包含错误报告中错误的解决状态。例如:
目前,我想知道每天发生多少“已确认”错误。appengine_googleapis_com_request_log_*
我可以通过(例如:)了解每天发生的错误appengine_googleapis_com_request_log_20211130
。但是,我不知道如果错误是Acknowledged或Open我怎么能得到。
有谁知道我如何组合这些信息,或者至少如果错误报告将其信息保存在任何 BigQuery 表中?
python - 防止 GCP 错误报告从日志消息中间记录嵌套堆栈跟踪
我在抛出/捕获异常的 try/except 块中有一段代码(在一种情况下为 psycopg2,在另一种情况下为 CRCError)。使用标准库(下面的示例代码)记录异常。
GCP 错误报告正在记录捕获的异常(缺少上下文)。
我们如何才能完成以下任务?
- 确保我的异常与上下文异常明确显示在错误报告控制台中。- 我实际上知道这里的答案是[明确使用错误报告客户端][1],因为我已经在其他地方这样做了,或者允许未捕获异常(在这种情况下不希望出现,因为它会改变执行流程)。
- 防止 GCP 显式记录这些“错误” - 这是让我难过的部分。我不想明确吞下捕获的异常的堆栈跟踪。这与我为整个应用程序配置日志记录的方式有关吗?请注意 GCP 日志资源管理器如何在下面显示 2 个单独的条目。
处理/记录 OSError 的示例代码:
对应的报错条目:
显示两个单独条目的日志资源管理器:
node.js - 如何在 Cloud Run 上使用 Node.js 进行错误报告
我有一个快速服务器部署到 Cloud Run。如果我使用 express 中间件并将错误发送到next()
,如文档中所述,它会显示在错误报告中。
但是,如果我以report
如下各种形式使用该方法,则不会报告任何内容。
我尝试将 IAM 角色“Error Reporter Writer”添加到我用于部署到 Cloud Run 的(AppEngine 默认)服务帐户中,但它仍然不起作用。
TS 编译器也不接受示例中使用的回调函数,因此要么示例已过时,要么 TS 类型定义错误。
有任何想法吗?
google-app-engine - 如何在 Google App Engine 中的每个异常事件中获得通知?
我希望在我的 GAP 服务中发生的每个异常都得到通知(通过 slack 频道的电子邮件)。
当我尝试通过 GCP 错误报告创建通知时,似乎我能够为每个事件(而不是每次发生)获得一个通知,并且每天/每小时/每月只查询一次.
我还尝试根据日志严重性在 GCP 日志监控中创建一个策略,但当然我不会仅收到异常通知,松弛通知只是宣布已通过阈值,而没有我想要的实际数据推。
有什么方法可以让错误报告在每次发生时通知我?
GCP 是否有其他内部工具可以在事件发生时发出通知?还是应该使用外部工具,例如 Epsagon/Operations(以前称为 Stackdriver)?
google-cloud-platform - 如何修复“无法构建应用程序。错误:无法流式传输构建输出:命令'/bin/sh -c pip install --no-cache-dir -r requirements.txt”
我对 gcloud 有点陌生,我不知道如何解决这个错误:(
当我尝试将我的 API 部署到云运行时,我收到以下错误消息:
这是详细的日志:
这是我要在第一个文件(snsr.py)中导入的内容:
这是我要在第二个文件(main.py)中导入的内容:
这是我的 requirements.txt 文件:
这是我的码头工人:
google-cloud-platform - 有没有办法在 GCP 错误报告中创建错误,而错误报告将它们关联在一起?
通常,GCP 错误报告的分组有助于使工具保持连贯性并允许快速识别问题;但是,有时我想确保错误报告为特定错误创建一个单独的组,而不是将其组合在一起,例如系统故障。是否可以通过 ErrorReporting Node.js 客户端(我们正在使用 Node.js 云函数)或其他方式强制创建错误并确保它不与其他类似的堆栈跟踪分组?