问题标签 [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.
google-compute-engine - Google Stackdriver 错误报告未发现错误
错误和报告工具无法识别严重性为“ERROR”的日志。应用程序日志正在使用 fluentd 代理定向到 Google Stackdriver Logging,其中一些是第三方 Java 组件。
使用以下配置可以将我的应用程序日志正确转发到 Google 的 Stackdriver 日志记录,并且正确识别所有条目。
但是对于严重性ERROR,错误报告从未注意到这些条目。
输出被标识为textPayLoad,我使用了以下过滤器,确保输出为jsonPayload
仍然忽略错误 jsonPayload。
如果我使用过滤器替换消息,那么突然错误报告正在工作
我如何强制错误报告选择这些错误条目,因为我的下一步是实施某种形式的警报。
google-cloud-platform - 如何在 Stackdriver 中导出以前的日志
我在 Stackdriver 中有一个日志记录每个请求进入我的 api 并失败,我想编写一个脚本来计算每条错误消息出现的次数。问题是,Stackdriver V2 中的导出功能只允许我接收即将出现的错误消息,但我只关心日志中已经存在的日志条目。有没有办法从 Stackdriver 下载完整的日志?
google-compute-engine - 将 Container-Optimized OS 服务日志输出发送到 Stackdriver Logging
如何从我的 Cloud-Config 服务获取输出到 Stackdriver Logging?
我正在使用 node.js API 创建我的 VM 实例,并按照此处找到的示例创建我的服务:https ://cloud.google.com/container-optimized-os/docs/how-to/run-container -instance#starting_a_docker_container_via_cloud-config
一切都运行成功,但我可以看到日志输出的唯一方法是通过 SSH 进入实例并运行sudo journalctl -ef
,但我真的很想将日志流式传输到 Stackdriver Logging。但是 COS 似乎不允许我安装日志代理。
这是我的服务文件,/home/ci/run.sh
只是运行一些 docker 容器,这些容器运行一些测试并输出到标准输出:
我使用的是 Container-Optimized OS,因为它带有 Docker、开箱即用的 GCR 访问、安全性,并且可以快速启动。但我认为我可能必须切换回基于 Ubuntu/Debian 的映像,因为这将允许我安装日志代理,但代价是自定义映像中的更多基本配置。
对此使用 COS 的任何帮助将不胜感激,因此在此先感谢您 :)
google-app-engine - 用于 Google App Engine 成本跟踪的 Appstats 的功能和限制是什么?
在搜索创建 App Engine 实例的成本(作为最准确地将 Google Cloud Platform 项目成本与 App Engine 活动相关联的更大努力的一部分)时,我偶然发现了一篇古老但有趣的博客文章。具体来说,http: //blog.initlabs.com/post/16359268329/how-i-reduced-google-app-engine-costs-by-75 支持使用 Appstats,它“可以跟踪 RPC 成本以及时间。” (顺便说一句,Google Cloud 文章于 2017 年 8 月 25 日更新,不包含“已弃用”、“已替换”、“跟踪”或“Stackdriver”之类的术语,这让我认为 Appstats 可能仍然提供价值。)关于这个笔记的三个问题:
根据Alex Martelli 在 2015 年初对 StackOverflow 的回答, 'Cloud Trace 处于测试阶段,这意味着“它不受任何 SLA 或弃用政策的约束,并且可能会受到向后不兼容的更改”,而 AppStats 是 App Engine 的受支持组件。虽然 Trace 似乎从测试版毕业,但我也没有看到 Appstats 的任何弃用通知。Alex 继续说道,“由于 AppStats 是一个受支持的组件,它受制于通常的弃用政策,因此在正式宣布弃用(如果这样的公告曾经发生)后,它将至少存在一年,所以有你现在真的没有紧迫性考虑将生产应用程序从它迁移出去。” 然而,在他下面的评论中,“[Cloud Trace 并未宣布为 AppStats 的替代品],但可以理解的是,有多少人正在感知它:-)。”
https://cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.ext.appstats.recording中列出了一些已弃用的方法,但没有成本信息。是否有理由相信 Appstats 的成本信息有意义,而Stackdriver 的成本信息却没有,或者文档是否需要修改(不过最后一次更新是 2017 年 8 月 28 日)?
使用 Appstats 有什么限制?我看到只支持 Java 7 运行时(https://cloud.google.com/appengine/docs/standard/java/tools/appstats)。我也找不到关于 App Engine 柔性环境的 Appstats 的文档;是否需要使用标准?后者对我来说更重要。
如果您想详细了解我为什么要调查此问题以及我已经探索过的内容(尤其是关于 Stackdriver 提供的信息和向 BigQuery 的计费导出),请查看如何最准确地关联App Engine 活动的 Google Cloud Platform 项目成本?
notifications - 如何使用 stackdriver 进行重复通知
使用 stackdriver 的 url 监控。当它下降时,一次会到来,但下一次不会到来。
如果情况在接下来的 5 分钟内没有变化,我希望您反复通知此信息,但我不知道设置。有人帮忙!
stackdriver - 具有相同操作 ID 的 Stackdriver 组日志语句
我正在尝试根据操作 id 关联多个日志语句(它们是同一 HTTP 请求的日志语句,但由不同的类创建)。要分组的日志语句具有相同的操作 ID。我将 jsonPayload 用于日志语句。我正在使用最新版本的 google-fluentd 进行日志记录。任何人都可以让我知道在堆栈驱动程序中对日志语句进行分组是否还需要其他任何东西?
google-cloud-platform - 使用 gcloud 报告 Stackdriver 错误
我正在重新使用 gcloud cli 将事件发送到 StackDriver 错误报告。
(非常有限的)文档在这里:https ://cloud.google.com/sdk/gcloud/reference/beta/error-reporting/events/report
无论我发送什么消息,我似乎都会收到此错误:
错误:(gcloud.beta.error-reporting.events.report)INVALID_ARGUMENT:ReportedErrorEvent.context 必须包含位置,除非
message
包含异常或堆栈跟踪。
我尝试将消息格式化为错误报告的 JSON 表示形式:https ://cloud.google.com/error-reporting/docs/formatting-error-messages 但消息似乎相同。这是一个示例命令和 JSON:
kubernetes - 如何将 fluentd 中的日志和与 pod 相关的其他日志发送到 stackdriver 监控仪表板?
我必须将 pod 的日志和与 pod 相关的其他事件(例如更新的 configmap、新的 pod 缩放等)发送到谷歌云的 stackdriver 监控仪表板
google-cloud-platform - Pod 重新调度时触发的基于日志的指标的指标缺失警报
设置
注意:使用伪代码实例表示法:
ObjectType("<name>", | <attr>: <attr-value>])
.
我们有一个容器:
Container("k8s-snapshots")
在Pod("k8s-snapshots-0")
一个 `StatefulSet("k8s-snapshots", spec.replicas: 1)
我们预计在任何时间点最多运行 1 个 Pod。
我们有一个基于日志Counter
Metric("k8s-snapshots/snapshot-created")
的过滤器:
我们有一个 Stackdriver 政策:
为了监控是否Container("k8s-snapshots")
已停止创建快照。
预期结果
如果没有任何实例Pod("k8s-snapshots-0")
记录任何匹配的事件,则会触发警报Metric("k8s-snapshots/snapshot-created")
。
结果
Policy(Name: "snapshot metric absent")
每次都Pod("k8s-snapshots-0")
被重新安排。
似乎为每个实例创建了基于日志的主要指标的子指标Pod("k8s-snapshots")
,并为每个子指标创建了 Stackdriver 警报。