在NodeJS AppEngine上,vm.syslog和内存使用中的错误不断增加

时间:2017-12-14 17:03:26

标签: google-app-engine google-appengine-node

我的一些AppEngine项目出了问题,因为我开始在我的vm.syslog日志中看到很多错误(我注意到健康检查到来时可能会发生这些错误)

具体如下:

  • write_gcm:服务器响应(CollectdTimeseriesRequest)包含错误:#012 {#012" payloadErrors":[#012 {#012" index":71,#012"错误":{#012"代码":3,#012"消息":"预期的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]在资源上[类型:\" gce_instance \" \ nlabels {\ n key:\" instance_id \" \ n值:\" xxx \" \ n} \ nlabels {\ n key:\" zone \" \ n值:\&#34 ; Europe-west2-a \" \ n} \ n]项目xxx"#012}#012}#012]#012}
  • write_gcm:不成功的HTTP请求400:{#012"错误":{#012"代码":400,#012"消息":&#34 ;字段timeSeries [11] .metric.labels [1]的值为\" 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文件以进行部署,但我还没有为运行状况检查指定任何自定义配置(以默认速率在传统模式下运行)。

感谢您的帮助, 尼古拉

2 个答案:

答案 0 :(得分:0)

Simliar问题App Engine Deferred: Tracking Down Memory Leaks

在单个VM上的计算引擎中执行相同的操作。我试过增加内存,但问题仍然存在。似乎绑定到stackdriver方法调用。不知道该怎么做,导致机器在我24小时后停止。在我的情况下,我每3秒从一组API获取信息,但是错误在串口1(控制台)中每分钟出现一次,这让我怀疑它是我的代码之外的某种失败。 Google提供的更多内容:https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.collectdTimeSeries/create

答案 1 :(得分:0)

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

您应该可以通过upgrading your Stackdriver agent将此问题修复到最新版本。在Compute Engine(我正在运行)上你可以控制它,我不确定你是如何在AppEngine上做的,可能会触发新的部署?