问题标签 [google-cloud-logging]

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 投票
2 回答
776 浏览

go - 如何通过 Stackdriver Logging 将错误记录到 Stackdriver Error Reporting

我正在尝试将错误记录到 Go 中的 Stackdriver 错误报告。在错误报告的第一页上,有说明“可以通过将应用程序错误记录到 Google Stackdriver Logging 或...来实现从您的应用程序报告错误”(https://cloud.google.com/error-reporting/docs /)。我如何使用 Go 客户端库来做到这一点?

日志Entry提供的构造如下:

github.com/GoogleCloudPlatform/.../logging.go#L412

我是否需要将此JSON 结构编组到有效负载中?或者我可以将堆栈跟踪作为字符串插入吗?

0 投票
1 回答
253 浏览

python - Google Stackdriver 不显示跟踪

以前,当我的应用程序中发生错误时,我可以找到整个代码到它发生的位置(文件、行号)的踪迹。在 Google Cloud 控制台中。

现在我只收到一个请求 ID 和一个时间戳,当在 Google Cloud Console 的“日志记录”窗口中时,代码中没有任何跟踪或行号的指示。选择“日志事件”仅显示请求的某种 JSON 结构,但不显示任何关于代码或任何有用信息的应用程序出了什么问题。

应该在谷歌云控制台中选择什么选项来显示 Python App Engine 应用程序的堆栈跟踪?

0 投票
2 回答
4187 浏览

python - ImportError:没有名为 auth.credentials 的模块

我试图添加 GAE StackDriver 日志记录功能: https ://cloud.google.com/logging/docs/reference/libraries#client-libraries-resources-python

...到我正在运行的一个简单的 Web 服务,并且收到以下错误:

我让所有这些都在虚拟环境中运行。我仔细查看了依赖项、权限,并检查了 dist-packages/google/ 目录以确认 auth 包在其中。

非常感谢任何帮助故障排除。

0 投票
0 回答
183 浏览

google-app-engine - BigQuery 中导出的 App Engine 日志缺少字段

对于 App Engine(Python,标准环境),我在与应用程序相同的项目中创建了一个日志导出 (v2)。接收器的目的地是 Google BigQuery 中的数据集。

我可以在 BigQuery 中执行一些简单的查询:

虽然httpRequest.status将在结果中显示值(并且所有其他选定字段都相同),但其他字段httpRequest显示为null,例如:requestMethoduserAgentremoteIp

在 Cloud Log 网页上,我可以看到这些日志条目并且这些值是存在的,但似乎它们没有导出到 BigQuery。

当我尝试按请求方法过滤时GET,例如:

此查询将返回零记录。

知道吗,为什么某些字段未在查询中显示并且不能用于 BigQuery 中的过滤器?

0 投票
2 回答
443 浏览

google-bigquery - 为什么使用 V2 格式的 BigQuery 审核日志的列名带有“_v1_”?

我使用新的 V2 格式通过控制台打开了审计日志,并创建了一个接收器以将它们导出回 BigQuery 进行分析:

在此处输入图像描述

即使我选择了 V2 格式,导出到 BigQuery 的表的列名中也都有“ v1 ”:

在此处输入图像描述

然后,当我尝试查询表时,由于列名超过 128 个字符,它会引发错误:

在此处输入图像描述

为什么使用 v1 命名架构导出审计日志,以及如何绕过超过 128 个字符限制的列名?

0 投票
2 回答
1201 浏览

google-cloud-platform - Google Cloud Logs 未导出到存储

我正在尝试设置一个接收器,它将一组特定的 Google Cloud Platform 日志导出到 Google Cloud Storage 存储桶,但无法使其工作,并且文档似乎与 GCP 控制台上发生的情况不匹配。

步骤(全部使用 GCP 控制台):

1)我在日志查看器上设置了一个过滤器,它向我显示了预期的日志

2)我选择“创建导出”并填写以下字段:

  • 接收器名称 = defaultServiceToGCSSink
  • 接收器服务 = 谷歌云
  • 存储接收器目标 = mylogsBucket

点击 OK 后,我收到一条消息: 未知用户电子邮件地址:defaultServiceToGCSSink@logging-somedigits.iam.gserviceaccount.com

显然,接收器正在尝试使用我给它的名称作为将写入存储桶的用户。

当我检查存储桶时,我可以看到拥有该电子邮件的用户作为所有者添加到mylogsBucket。但存储桶中仍然没有日志。

我还将组 cloud-logs@google.com 作为所有者添加到存储桶(如文档所述),但没有任何效果,也没有日志导出到存储桶(我已经等了几个小时)。

我应该将该新用户添加到 IAM 吗?我尝试了,但它不接受电子邮件地址作为有效的用户名。

0 投票
3 回答
2573 浏览

google-cloud-logging - Python 中的 Google Cloud Logging - ImportError

尝试在 Python 中导入 Google Cloud Logging 时出现以下错误:

我让它在一个虚拟环境中运行,在 requirements.txt 中有这个:

0 投票
1 回答
2249 浏览

google-cloud-platform - “gcloud app logs tail”显示一周前的数据

我正在尝试为我的 Google Cloud Platform 应用程序流式传输日志。我注意到的第一件事是谷歌至少每秒发送大约 10 次健康检查,所以我必须grep -v /health获取任何有用的信息。那是标准吗?

第二件事是它流式传输旧日志。我正在运行gcloud app logs tail -s default并从 4 月 11 日(此时是一周前)开始获取日志。较新的日志(从 4、3 和 2 天前开始)在几个小时内慢慢流入。我刚刚在我的应用程序上点击了刷新(这会触发一条日志消息)并且没有看到新的日志。

有什么方法可以获得新日志消息的近实时(几分钟或几小时内)视图?

0 投票
1 回答
249 浏览

python - 使用 Python 客户端写入 Stackdriver 的日志偶尔不会被记录

我使用 Python 客户端编写的日志偶尔不会出现在 Web 控制台中。这些应该出现在默认 python 记录器下的全局区域中。只有极少数人真正到达那里,没有真正的模式来说明哪些做哪些不做。我在容器引擎中运行并且启用了堆栈驱动程序日志记录。

我的代码如下所示:

我这样记录的所有内容都会在 stdout 上获取,但我想使用 python 日志框架来正确获取级别。有什么建议我哪里出错了吗?

0 投票
2 回答
737 浏览

node.js - nodejs 在 google-cloud/logging 中编写 protopayload

我们如何在 NodeJS 中使用 google-cloud/logging 包传递 protopayload 联合标签?

到目前为止,我能够在日志中写入 textPayload 和 jsonPayload。

尝试使用 google-protobuf 和 protobufjs 创建协议缓冲区,甚至尝试了协议缓冲区包,但是当我执行 log.entry 和 log.write 时,在日志中看不到有效负载。

这是写日志的代码
//writelogs.js

//test.proto

编写代码是从 github 的 nodejs-doc-samples 复制的,我自己对 protopayload 的更改很少。示例日志写入仅适用于 jsonPayload 和 textPayload。