问题标签 [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 投票
1 回答
393 浏览

stackdriver - 一种对 Stackdriver 中的日志记录指标字段执行数学运算的方法?

我在 Google Cloud 上针对 AppEngine 日志创建了一个基于日志的指标。该指标扫描特定 URL 并从该 URL 中提取一个字段。

例如:
http ://www.example.com/page.html?type=a
http://www.example.com/page.html?type=b

在 Stackdriver 中,我可以创建同时显示按类型细分的两个指标(类型 A 和 B)的图表。

我希望创建的是一个图表,显示类型 A 和 B 之间的比率。这样的可能吗?对时间间隔的结果执行任何算术运算?

0 投票
1 回答
811 浏览

google-cloud-dataflow - 在 Dataflow 管道中解析 Stackdriver LogEntry JSON

我正在构建一个 Dataflow 管道来处理 Stackdriver 日志,从 Pub/Sub 读取数据并将结果写入 BigQuery。当我从 Pub/Sub 读取时,我得到LogEntry对象的 JSON 字符串,但我真正感兴趣的是protoPayload.line包含用户日志消息的记录。为了得到那些我需要解析LogEntryJSON 对象,我发现了一个两年前的谷歌示例如何做到这一点:

不幸的是,这对我不起作用,logEntry.getTextPayload()回报null。我什至不确定它是否应该工作,因为com.google.api.services.logging谷歌云文档中没有提到任何库,当前的日志库似乎是google-cloud-logging

那么,如果有人能提出解析LogEntry对象的正确或最简单的方法是什么?

0 投票
1 回答
2000 浏览

logging - 为什么我的 json 日志在输出中有 text-payload,而不是 json-payload?

我在 GKE 中运行 Fluentd 以使用我自定义的 Fluentd 配置文件在 Stackdriver 中获取容器的日志。

一些日志是 /var/log/containers/ 容器日志文件中的 json 对象,在 Stackdriver 中具有文本有效负载。我希望它们显示为 json-payload。

当我使用 Stackdriver 的内置 Fluentd 代理(即不使用我自定义的 Fluentd 配置文件)时,这些日志具有 json-payload。我的配置文件中的什么可能导致此问题?

这是我的配置文件:

0 投票
2 回答
724 浏览

google-app-engine - 为什么 Google Cloud 日志记录显示响应为 200,同时还将日志条目标记为错误?

以下是 Google Cloud 控制台日志记录的屏幕截图。从我的服务器调用 /get_user 时显示错误。但是响应状态是 200,这应该意味着成功。这怎么可能?还有什么是实际错误?下面的所有行都没有给出任何类似于错误消息的东西。

在此处输入图像描述

0 投票
1 回答
767 浏览

python - 在 App Engine Standard python 中使用 Google Stackdriver Logging 时出错

我的堆栈:
Google App Engine 标准
Python (2.7)

目标:
在 Google Stackdriver Logging 中创建命名日志,https: //console.cloud.google.com/logs/viewer

文档 - Stackdriver 日志记录: https ://google-cloud-python.readthedocs.io/en/latest/logging/usage.html

代码:

错误: 找到 1 个没有匹配响应的 RPC 请求

如果这在 Google App Engine 标准 (Python) 中是不可能的,那么可以通过任何方式使此代码正常工作:

如果需要凭据,我喜欢使用项目服务帐户。

任何帮助,将不胜感激。谢谢你。

0 投票
1 回答
1429 浏览

typescript - 在 typescript 函数项目中添加 @google-cloud/logging 会出错

编辑: 对于有同样问题的其他人 -在课堂上const Logging: any = require('@google-cloud/logging')一起使用var logger = Logging()就像一种魅力!

请记住使用var logger = Logging()来实例化记录器库。否则你仍然会得到logger.log 不是一个函数

原帖

我有一个 firebase 函数项目,用 typescript 编写 - 用 webpack 编译。我目前正在尝试实现 @google-cloud/logging 库,但我遇到了问题。它出来说

找不到模块“google-cloud/logging”的声明文件。尝试npm install @types/@google-cloud/logging它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module '@google-cloud/logging';

我尝试通过以下方式添加库:

但我仍然收到此错误。尝试运行使用“日志记录”的函数会导致

logging.log 不是函数

我什至尝试过要求库的javascript方式,但仍然没有成功。

我的 tsconfig.json:

我读到有些人通过手动将“d.ts”文件添加到项目中取得了成功,尽管我不太了解它。这是堆栈溢出中文章的链接 - Importing non-typescript module in typescript

我该如何在打字稿项目中添加库?

如果需要,我可以提供更多详细信息。这是我能想到的。

0 投票
1 回答
121 浏览

google-app-engine - 谷歌应用引擎灵活环境如何下载日志

我正在尝试将我的下载Google App Engine Flexible Environment Logs到我的Local Machine. 我看到这个链接为env下载日志Standard,但我没有找到任何有关灵活 env 的相关信息。

谁能告诉我我该怎么做。

0 投票
1 回答
162 浏览

python - 在 Google App Engine Standard (Python) 中创建命名日志

ISSUE: 无法创建命名日志

代码:

错误:“模块”对象没有属性“信息”

此代码需要在 Google App Engine Standard 上运行

0 投票
2 回答
876 浏览

google-cloud-platform - 将 Google Cloud Platform 日志接收器设置为存储桶中的特定文件夹

我在 Google Cloud Stackdriver 中创建了五个单独的日志导出接收器。目前,它们都设置为与目的地相同的存储桶(my-bucket):

storage.googleapis.com/my-bucket

bucket(my-bucket)有以下5个文件夹:iam、compute、firewall、project和storage

我想将每个日志接收器关联到我的存储桶中的其中一个文件夹,这可能吗?一个相关问题的答案(Pointing multiple projects' log sinks to one bucket)似乎表明它是,但是,我不明白“FOLDER_ID”,如果这是我需要的,如果是的话,我从哪里得到那个。

我尝试使用命令在 google cloud shell 中手动更新目标

gcloud logging sinks update my-compute-log-sink storage.googleapis.com/my-bucket/compute

并确认接收器已更新,但是,运行gcloud logging sinks list显示没有变化,现在我被卡住了。

0 投票
1 回答
324 浏览

python - 如何在接收器创建上设置 `uniqueWriterIdentity=true`

尝试使用日志记录Python SDK创建新接收器时出现以下错误:

google.gax.errors.RetryError: RetryError(异常发生在未被归类为瞬态的重试方法中,由以 (StatusCode.INVALID_ARGUMENT 终止的 RPC 的 <_Rendezvous 引起,目标项目必须与接收器的项目相同。使用 uniqueWriterIdentity =true 允许跨项目导出。)>)

我完全理解为什么会出现此错误(我正在创建一个接收器跨项目),但我没有看到可以uniqueWriterIdentity按照此处所述设置的位置。

我错过了什么?