问题标签 [google-cloud-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 回答
226 浏览

kubernetes - Fetch the zone of the master node from a pod in container engine

For a multi zoned, multi cluster setup. Is it possible to dynamically expose or retrieve the zone in which the master node is running, from a pod? Since this is needed to correctly push our metrics to stackdriver, in order to run a horizontal pod autoscaler based on them.

I can hardcode it in the individual deployments but I would like to avoid that.

I've tried looking in the compute internal metadata endpoint, and in the reference variables kubernetes has, but none seem to expose the zone of the master.

0 投票
2 回答
723 浏览

java - 在下游微服务中继续跟踪

我们正在尝试向微服务添加跟踪,以便可以在 google Stackdriver UI 中查看。我们正在使用部署到 Kubernetes 容器中的 Java Springboot 应用程序,每个微服务都通过 http 进行通信。我们已经看到有 Sleuth 和 Zipkin,如果我们将 RestTemplate 移动到一个 bean 上,它们就可以工作。但是,我们真的不想在每个容器中部署 zipkin pod 或创建新的 zipkin 收集器 pod。理想情况下,我们希望仅使用 google cloud tracking sdk 和 sleuth/zipkin 来完成这项工作。使用 sdk,我们可以使用 google cloud grpc 库将数据直接从应用程序发送到 Stackdriver 中。我们现在遇到的问题是我们可以将跟踪 id 发送到下游微服务,但我们似乎无法找到一种方法来在相同的跟踪 id 上创建一个新的跨度,它总是会创建一个新的跨度。我似乎找不到任何有关如何执行此操作的文档。当然,我们正在做的是构建这个库的目的吗?对此有任何帮助的指针都会很棒。

添加更多信息......

我无法提供实际代码,因为这是我的问题,我实际上找不到我想做的事情。
让我尝试用一​​些代码/伪代码来解释。所以让我们假设这种情况,我有 3 个微服务,A、B 和 C。

希望这对我正在尝试做的事情有意义。

0 投票
1 回答
1303 浏览

python - “没有为 GAE Flex 上的 python 运行时设置 Stackdriver 调试器”警告

我正在尝试调试在 Google Appengine 灵活环境上运行的 Flask/Python 应用程序。

但是,我在 Google 控制台的 Stackdriver 调试界面中看到一条警告消息,并且无法设置任何断点。

警告内容如下:

Stackdriver Debugger 未针对 GAE Flex 上的 python 运行时设置

警告截图

对我做错了什么有任何想法吗?

我有:

  • 启用 Stackdriver Debugger API(如此所述)
  • 导入并初始化调试器(按照此处的说明)
  • 在 requirements.txt 中包含 google-python-cloud-debugger

main.py(app.yaml 中定义的应用入口点)

应用程序.yaml

更新 1

在发表评论并注意到 urllib 导入错误后,我想知道我的应用程序的 wsgi 特性是否导致了问题。我回到文档,看到一个关于 Django 框架做类似事情的注释并更改了以下内容:

这摆脱了 urllib 导入错误,但还没有解决整体问题。

0 投票
0 回答
598 浏览

stackdriver - Stackdriver Dashboard 没有基于自定义数据的图表的共享选项

我可以在基于 Stackdriver 代理数据的图表的下拉菜单中看到共享选项,但对于基于自定义指标、日志指标的图表,我看不到它。

来自 stackdriver 代理 的指标:来自 stackdriver 代理的指标

日志指标、自定义指标: 日志指标、自定义指标

图表共享文档

可以分享这些图表吗?

0 投票
1 回答
968 浏览

google-cloud-logging - 使用 stackdriver 监控 docker 上的 nginx(gcloud 托管)

为了使用 stackdriver 监控 nginx(作为应用程序),只需将登录引导到 gcploggin 驱动程序就足够了,还是必须安装监控代理?

0 投票
3 回答
3873 浏览

python - 在 Kubernetes Engine 上使用 Google Cloud Stackdriver 记录 Python 代码的重复日志条目

我有一个简单的 Python 应用程序在 Google Kubernetes Engine 上的容器中运行。我正在尝试使用本指南将标准 Python 日志记录连接到 Google Stackdriver 日志记录。我几乎成功了,但是我得到了重复的日志条目,其中一个总是处于“错误”级别......


显示重复条目的 Stackdriver 日志屏幕截图

显示重复条目的 Stackdriver 日志屏幕截图

这是我根据上述指南设置日志记录的 python 代码:

这是从屏幕截图触发日志的代码:

以下是完整的 Stackdriver 日志,从屏幕截图扩展而来,错误级别解释不正确:

以下是完整的 Stackdriver 日志,从屏幕截图扩展而来,具有正确解释的 INFO 级别:

所以,这个条目可能是关键:

看起来除了我的日志记录设置工作之外,来自容器的所有日志都被发送到容器中的 stderr,我相信默认情况下,至少在 Kubernetes Container Engine 上,所有 stdout/stderr 都由 Google 拾取Stackdriver via FluentD...话虽如此,我现在已经超出了我的深度。

任何想法为什么我会收到这些重复的条目?

0 投票
2 回答
2354 浏览

google-cloud-platform - 如何将 pubsub 日志接收器创建到不同的谷歌云项目/组织?

我想定义从一个项目到另一个项目的 pubsub 日志导出接收器的步骤。作为次要目标,我希望接收器连接组织。到目前为止,我已按照gcloud帮助页面和身份验证文档中概述的这些步骤进行操作。

首先我创建了一个接收器:

CLI 成功返回,并就为其创建的服务帐户设置权限提供了一些建议:

根据此建议,我为新服务帐户授予了该主题的适当权限。

此命令返回没有问题。

尽管一切看起来都很好,但没有日志流过水槽。

以下是一些线索: Logs Viewer 上的 Exports 选项卡报告接收器中的权限错误。项目活动选项卡报告权限问题。

图片:日志查看器,导出

图片:项目、活动

有没有解决方案来完成这项工作?是否可以将其概括为从其他 gcloud 组织将日志发送到该项目中的接收器?

0 投票
0 回答
60 浏览

google-cloud-platform - CloudSQL 故障转移实例的 Stackdriver 定价

如何在 Stackdriver 高级帐号中计算 Cloud SQL 故障转移实例?

我知道 Stackdriver 定价是按资源计算的,Cloud SQL 实例是以下有关 Stackdriver 定价的文档中定义的“收费资源”:

https://cloud.google.com/stackdriver/pricing#chargeable-resources

但是故障转移副本也算作“普通”云 SQL 实例吗?

0 投票
1 回答
167 浏览

google-cloud-platform - 如何根据事件提取实例正常运行时间?

在 stackdriver 上,创建 Uptime Check 可让您访问包含服务正常运行时间百分比的 Uptime Dashboard:

正常运行时间仪表板上的正常运行时间

我的问题是正常运行时间检查仅限于 http/tcp 检查。我有其他服务正在运行,这些服务以不同的方式报告它们的运行状况(例如,通过特定进程运行)。我已经为此服务设置了事件策略,因此如果该服务未运行,我会收到通知。

现在我希望能够回顾并知道服务在过去一个小时内中断了多长时间。有没有办法做到这一点?

0 投票
1 回答
303 浏览

google-cloud-storage - GCS 存储桶的数据访问审计日志时间戳

我想测量我们将文件上传到 GCS 存储桶需要多长时间。为此,我们想要获取对象的创建时间。

我的第一个屏幕截图显示了我们从 GCS 存储桶 API 获得的对象信息。时间戳显示“2018-01-19T14:58:14.626Z”。第二个屏幕截图显示了时间戳“14:58:14.574”(以毫秒为单位)。根据文档,在审计日志条目中,

timeStamp 包含审计操作的时间

所以我假设我在日志条目中看到的时间戳是 storage.objects.create 发生的时间。如果我没记错的话,那么在额外的 52 (626-574) 毫秒内发生了什么?

是GCS存储桶从收到对象创建请求到实际将对象写入磁盘所花费的时间吗?

我应该使用哪个时间戳作为对象可用于“获取”和“下载”的时间?

在此处输入图像描述 在此处输入图像描述