问题标签 [stackdriver]

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 回答
249 浏览

logging - 将 fluentd 切换到 Stackdriver 日志记录 API v2

我们有一个在 Google Cloud Platform 上运行 Ubuntu 的 Google Compute Engine 网络服务器,它将日志发送到 Stackdriver Logging API “v1beta”

我们收到了来自 Google Cloud Platform 的关于 Stackdriver Logging API v1beta3 弃用的电子邮件,提醒我们我们的“项目”仍在访问 v1 API,并建议我们切换到 v2 API。电子邮件建议升级 Stackdriver Logging Agent (fluentd),我已经这样做了。

如果我尝试从该服务器上的命令行发送日志项:

metadata.projectId它仍然以 v1 API 格式(带有、metaData.serviceName等)出现在 Stackdriver Log 中

如何配置 fluentd 以使用 v2 API 而不是已弃用的 v1 API?我必须更新此服务器上应用程序中的所有日志记录集成,但我看不到在何处或如何让日志记录代理使用新 API。

0 投票
1 回答
84 浏览

google-app-engine - 在 GCS 中存储 Google App Engine 标准日志时,_A0 和 _S0 日志文件有什么区别

我已打开开关以将 GAE 标准应用程序的日志发送到 GCS 存储桶。我按预期看到每天都有一个文件夹。对于每一天的每一个小时,我都会看到一个非常大的 json 文件,扩展名为 _S0.json。几个小时后,我还看到一个小得多的文件,扩展名为 _A0:.json。例如:

01:00:00_01:59:59_S0.json & 01:00:00_01:59:59_A0:4679580000.json

有什么区别,我正在尝试对文件进行后期处理并且需要知道。

0 投票
1 回答
161 浏览

java - 如何在 Play Framework 1.4 上设置 Stackdriver 错误报告

我正在 Heroku 上运行 Play Framework 1.4 应用程序。我的目标是捕获生产应用程序中的任何 Java 异常,并将其报告给Stackdriver Error Reporting以进行自动异常监控和警报。

0 投票
1 回答
2987 浏览

javascript - 将浏览器 JavaScript 错误发送到 Stackdriver 错误报告

我有一个客户端 JavaScript 应用程序,我想向 Stackdriver Error Reporting 报告错误和异常。

0 投票
1 回答
36 浏览

google-app-engine - 在 Stackdriver 中,如何编辑资源数量?

最近,Google 开始对 stackdriver 服务收费。每个资源 8 美元,我只想选择单一服务。但是在我选择的项目中它有 4 个资源,如果我选择单个项目,它会占用所有 4 个资源,我不需要。它会向我收取更多费用。

他们是否有任何配置更改,我可以在哪里更改以仅选择所需的资源?

谢谢

0 投票
0 回答
112 浏览

java - 如何使用 java 在 Google App Engine 中编写自定义日志?

有没有办法以编程方式将自定义日志条目从我的 App Engine 应用程序(在标准环境中运行)写入 Stackdriver Logging 上的“自定义日志”?

我可以使用 gcloud 命令行工具编写自定义日志:

我想在我的应用程序中使用标准的 java 记录器做同样的事情。我的应用引擎应用程序将所有日志写入“request_log”下,其中包含我不需要的请求中的大量数据。

在我的应用程序中,我正在使用这样的 java 记录器:

但是,使用此选项,我只能编写带有字符串消息的日志。我想使用自定义有效负载(JSON)生成日志。

谢谢。

0 投票
1 回答
500 浏览

google-cloud-platform - Google Stackdriver 中基于日志的指标如何定价?

我正在评估应用程序日志记录解决方案,但我不清楚堆栈驱动程序的定价。

现在,我的日志记录是node.js apps-> fluentd server-> 托管elasticsearch->kibana

在我的应用程序中,我记录事件json,键入一个eventType字段,例如,

然后,在 中,对这些事件进行过滤/计数/等Kibana是一件小事。queries并构建仪表板。总而言之,我目前正在为仪表板计算大约 30 个不同的事件。

我正在尝试将其转换为stackdriver的定价模型。根据他们当前的定价页面斜体重点 是我的):

基本层:每个时间序列/月 0.10 美元,每个指标描述符/月 1.00 美元。

要了解分配和超额费用,您必须了解 Stackdriver 如何使用指标描述符和时间序列:

度量描述符定义度量类型和用于参数化度量的任何关联标签。单个度量描述符可以负责任意数量的时间序列。例如,来自所有 VM 实例的时间序列数据只需要一个描述符。

时间序列包含度量类型、受监控资源(如 VM 实例或数据库)以及度量定义的任何标签的值的组合的时间戳数据。时间序列中的数据点在其保留期结束时到期。基于日志的指标是由 Stackdriver Logging 创建的自定义指标描述符。它计算与过滤器匹配的日志条目数。

例如,假设您有 180 个 VM 实例,并且您希望每分钟为每个实例编写一个自定义度量。您定义一个自定义指标描述符 custom.googleapis.com/my_measurement。在每个 VM 实例上,您每分钟向该指标写入一个数据点,同时指定指标的名称和 VM 实例的名称。这将为每个 VM 实例创建一个单独的时间序列。在高级层中,您在 180 个收费资源中的每一个中使用了一个时间序列(共 500 个),并在您的项目中使用了一个指标描述符(共 250 个)。在基本层中,此自定义数据的超额成本为每月 19.00 美元:指标描述符为 1.00 美元,180 时间序列为 18.00 美元。如果您停止将数据写入指标,所有时间序列最终都会过期,并且您需要为描述符支付每月 1.00 美元的费用,您可以将其删除。

该示例处理虚拟机,因此很难应用于我的用例。我能想到两种可能的解释:

  1. 我计算的每个eventType成本为 1.10 美元/月(描述符为 1 美元,结果时间序列为 0.10 美元)。因此,30 个事件 = 33.00 美元/月
  2. 每个eventTypeI 计数都被视为一个单独的time series,导致 1 美元/月,每个 0.10 * descriptor30 美元eventTypetime-series

鉴于 VM 示例(即,1 个“描述符”和 180 个“系列”,每个 VM 1 个),数字 2 似乎是一个合理的解释,但我知道我的阅读可能只是乐观。

0 投票
1 回答
1291 浏览

google-cloud-platform - StackDriver 是否支持 Syslog 协议?

StackDriver 是否支持 Syslog 协议?如果是这样,有人可以分享一个例子吗?

对于上下文,我希望使用 Syslog 协议将日志记录条目写入 StackDriver。我已经查看了文档,但没有办法这样做。因此,到目前为止,关闭方法似乎是使用 StackDriver 代理。但是,我想利用 API 网关,例如 Apigee,它们通过Message Logging Policy支持 Syslog 协议。

我知道可以利用 REST API 来发送这些条目。但是,我试图避免创建额外的 HTTP 层。

任何帮助表示赞赏。提前致谢!

0 投票
1 回答
185 浏览

json - 格式 json 在 google-fluend 中不起作用

背景

大家好,我正在从 EC2 实例收集日志并将其发送到 StackDriver。我的所有日​​志都是 JSON 格式。

我正在使用 google-fluend 代理,这是实现此目的的配置文件..

问题

json 格式不起作用,当我使用它时,日志停止进入输入文件(/var/log/xyz/access.log)以及堆栈驱动程序。

任何想法如何解决这个问题。

0 投票
2 回答
249 浏览

trace - Adding Service and Version to custom stackdriver trace api

I am using https://github.com/GoogleCloudPlatform/google-cloud-go/tree/master/trace to send custom traces to Stackdriver Trace from GCP. All these traces end up without a service or version. How do you add that information using the trace api ?

Is there a way to add the serviceContext in trace.NewClient or the span ?

EDIT : The first answer helps but the Stackdriver UI does not show these unless they are GAE( or internal apps). Mine is a standlone Go app.

stackdriver ui