2

我希望收到有关发送到 Google Cloud Logging 的所有标准错误日志的通知。最好是通过 Google Cloud Error Reporting 获取通知,这样我就可以通过 GCP 移动应用程序轻松地在手机上获取通知。

我已将应用程序部署到 Google Kubernetes Engine,这些应用程序正在将日志写入标准错误,并且 GKE 很好地将所有标准错误日志转发到 Google Cloud LogginglogName: "projects/projectName/logs/stderr"

我看到日志显示在 Google Cloud Logging 中,但错误报告没有发现它们。

我已尝试按照此处所述进行故障排除:https ://cloud.google.com/error-reporting/docs/troubleshooting 。但是建议的解决方案围绕以某种方式格式化日志。如果我部署了无法控制日志消息的应用程序怎么办?

一个(完全荒谬的)选项可能是根据发送到 stderr 的任何日志创建“基于日志的指标”,然后在该指标超过 1 时收到通知。

获得 stderr 日志通知的推荐方法是什么?

4

2 回答 2

0

@type您可以通过在文档中显示的上下文中设置来强制错误。出于某种原因,即使这是 Google 库,并且它具有检测抛出异常的代码,但它的堆栈跟踪不会将其识别为值得报告的错误。

我还添加了服务数组,以便能够在错误报告中识别我的服务。

在此处输入图像描述

于 2021-07-23T03:33:21.023 回答
0
  • 如果错误报告无法识别容器中的 stderr 日志,则意味着它们没有以正确的格式显示,因此该 API 无法检测到它们。

  • 查看指南,了解如何为 GKE API 设置错误报告

  • 使用gSlack等第三方产品还有其他方法可以做到这一点,基本上你会将堆栈驱动程序日志导出到 pub/sub,然后使用 Cloud Functions 将它们发送到 Slack 通道。

  • 您也可以尝试使用Cloud Build并尝试将其与 GKE 容器日志集成。

不过,我认为最好和最简单的选择是使用监控警报。

于 2021-02-11T22:04:21.460 回答