问题标签 [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.
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 之间的比率。这样的可能吗?对时间间隔的结果执行任何算术运算?
google-cloud-dataflow - 在 Dataflow 管道中解析 Stackdriver LogEntry JSON
我正在构建一个 Dataflow 管道来处理 Stackdriver 日志,从 Pub/Sub 读取数据并将结果写入 BigQuery。当我从 Pub/Sub 读取时,我得到LogEntry对象的 JSON 字符串,但我真正感兴趣的是protoPayload.line
包含用户日志消息的记录。为了得到那些我需要解析LogEntry
JSON 对象,我发现了一个两年前的谷歌示例如何做到这一点:
不幸的是,这对我不起作用,logEntry.getTextPayload()
回报null
。我什至不确定它是否应该工作,因为com.google.api.services.logging
谷歌云文档中没有提到任何库,当前的日志库似乎是google-cloud-logging。
那么,如果有人能提出解析LogEntry
对象的正确或最简单的方法是什么?
logging - 为什么我的 json 日志在输出中有 text-payload,而不是 json-payload?
我在 GKE 中运行 Fluentd 以使用我自定义的 Fluentd 配置文件在 Stackdriver 中获取容器的日志。
一些日志是 /var/log/containers/ 容器日志文件中的 json 对象,在 Stackdriver 中具有文本有效负载。我希望它们显示为 json-payload。
当我使用 Stackdriver 的内置 Fluentd 代理(即不使用我自定义的 Fluentd 配置文件)时,这些日志具有 json-payload。我的配置文件中的什么可能导致此问题?
这是我的配置文件:
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) 中是不可能的,那么可以通过任何方式使此代码正常工作:
如果需要凭据,我喜欢使用项目服务帐户。
任何帮助,将不胜感激。谢谢你。
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
我该如何在打字稿项目中添加库?
如果需要,我可以提供更多详细信息。这是我能想到的。
google-app-engine - 谷歌应用引擎灵活环境如何下载日志
我正在尝试将我的下载Google App Engine
Flexible Environment
Logs
到我的Local Machine
. 我看到这个链接为env下载日志Standard
,但我没有找到任何有关灵活 env 的相关信息。
谁能告诉我我该怎么做。
python - 在 Google App Engine Standard (Python) 中创建命名日志
ISSUE: 无法创建命名日志
代码:
错误:“模块”对象没有属性“信息”
此代码需要在 Google App Engine Standard 上运行
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
显示没有变化,现在我被卡住了。
python - 如何在接收器创建上设置 `uniqueWriterIdentity=true`
尝试使用日志记录Python SDK创建新接收器时出现以下错误:
google.gax.errors.RetryError: RetryError(异常发生在未被归类为瞬态的重试方法中,由以 (StatusCode.INVALID_ARGUMENT 终止的 RPC 的 <_Rendezvous 引起,目标项目必须与接收器的项目相同。使用 uniqueWriterIdentity =true 允许跨项目导出。)>)
我完全理解为什么会出现此错误(我正在创建一个接收器跨项目),但我没有看到可以uniqueWriterIdentity
按照此处所述设置的位置。
我错过了什么?