1

我的一些 AppEngine 项目遇到问题,因为几天后我开始在 Stackdriver Logging 的 vm.syslog 日志中看到很多错误(我注意到它们可能会在运行状况检查到达时发生)。

具体来说有:

  • write_gcm: 服务器响应 (CollectdTimeseriesRequest) 包含错误:#012{#012 "payloadErrors": [#012 {#012 "index": 71,#012 "error": {#012 "code": 3,#012 "message ": "预期 4 个标签。找到 0。负载 [values {\n data_source_name: \"value\"\n data_source_type: GAUGE\n value {\n double_value: 694411264\n }\n}\nstart_time {\ n 秒:1513266364\n nanos:618061284\n}\nend_time {\n 秒:1513266364\n nanos:618061284\n}\nplugin:\“processes\”\nplugin_instance:\“all\”\ntype:\“ps_rss \"\n] 资源 [type: \"gce_instance\"\nlabels {\n key: \"instance_id\"\n value: \"xxx\"\n}\nlabels {\n key: \"zone\ "\n 值:\"europe-west2-a\"\n}\n] for project xxx"#​​012 }#012 }#012 ]#012}
  • write_gcm: HTTP 请求不成功 400: {#012 "error": {#012 "code": 400,#012 "message": "Field timeSeries[11].metric.labels[1] has an invalid value of \"health_check_type \": 无法识别的度量标签。",#012 "status": "INVALID_ARGUMENT"#012 }#012}
  • write_gcm:与端点交谈时出错。
  • write_gcm:wg_transmit_unique_segment 失败。
  • write_gcm:wg_transmit_unique_segments 失败。冲洗。

同时,我注意到我在 AppEngine 仪表板中对于相同项目的内存使用量随着时间的推移而增加,达到最大可用量并且实例重新启动,在访问网络时抛出 502 错误该应用程序正在服务的网站。

所有这一切都没有发生在至少 2 周以来没有更新的几​​个项目上(上述错误或内存增加都没有),但是当使用与其中一个健康的代码库相同的代码库部署时,它确实发生在新创建的实例上项目。此外,在本地运行我的项目时,我没有碰巧看到内存有任何增加。

有人可以温和地告诉我他们是否经历过类似的事情,或者他们是否认为错误和内存增加有关?我最近没有更改我的 yaml 文件进行部署,也没有为运行状况检查指定任何自定义配置(以默认速率在传统模式下运行)。

谢谢你的帮助,尼古拉

4

2 回答 2

0

我不确定所有错误,但对于“write_gcm:服务器响应(CollectdTimeseriesRequest)”,我遇到了同样的问题并联系了谷歌云支持。他们告诉我,Stackdriver 服务最近已更新以接受有关ps_rss指标的更详细信息,但它导致来自旧代理的指标根本无法发送。

您应该能够通过将 Stackdriver 代理升级到最新版本来解决此问题。在 Compute Engine(我正在运行)上,您可以控制这一点,我不确定您将如何在 AppEngine 上执行此操作,也许会触发新的部署?

于 2017-12-21T01:11:16.760 回答
0

App Engine Deferred: Tracking Down Memory Leaks这里有类似的问题

在单个 VM 上的计算引擎中经历同样的事情。我尝试增加内存,但问题仍然存在。似乎与堆栈驱动程序方法调用有关。不知道该怎么做,导致机器在我大约 24 小时后停止。就我而言,我每 3 秒从一组 API 获取信息,但串行端口 1(控制台)中每分钟都会出现错误,这让我怀疑这是我的代码之外的某种故障. 更多来自 Google 的信息:https ://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.collectdTimeSeries/create 。

于 2017-12-15T18:21:21.370 回答