【问题标题】:GCP stackdriver-agent installed on VM send strange logs every minute安装在 VM 上的 GCP stackdriver-agent 每分钟发送一次奇怪的日志
【发布时间】:2020-09-01 21:21:36
【问题描述】:

请您帮我解决以下问题。

我在 node.js 上有一个后端服务 我将它部署在 GCE VM 上。 它工作正常,但在安装日志记录和监控代理后,我在日志查看器中看到非常奇怪的日志。我查看了生成该日志的付费。它是 stackdriver-agent。

这是他们:

A 2020-05-15T22:45:26Z write_gcm: can not take infinite value
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:26Z write_gcm: can not take infinite value 
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:26Z write_gcm: can not take infinite value 
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:28Z write_gcm: Server response (CollectdTimeseriesRequest) contains errors:#012{#012  "payloadErrors": [#012    {#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    },#012    {#012      "index": 5,#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    },#012    {#012      "index": 10,#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    },#012    {#012      "index": 15,#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    },#012    {#012      "index": 20,#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    },#012    {#012      "index": 25 
A 2020-05-15T22:45:29Z write_gcm: Server response (CollectdTimeseriesRequest) contains errors:#012{#012  "payloadErrors": [#012    {#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012      }#012    }#012  ]#012} 
A 2020-05-15T22:45:29Z write_gcm: Unsuccessful HTTP request 400: {#012  "error": {#012    "code": 400,#012    "message": "Field timeSeries[3].points[0].interval.start_time had an invalid value of \"2020-05-15T15:45:27.348251-07:00\": The start time must be before the end time (2020-05-15T15:45:27.348251-07:00) for the non-gauge metric 'agent.googleapis.com/agent/api_request_count'.",#012    "status": "INVALID_ARGUMENT"#012  }#012} 
A 2020-05-15T22:45:29Z write_gcm: Error talking to the endpoint. 
A 2020-05-15T22:45:29Z write_gcm: wg_transmit_unique_segment failed. 
A 2020-05-15T22:45:29Z write_gcm: wg_transmit_unique_segments failed. Flushing. 

所以,每分钟我都会看到这样的日志出现。 当我停止 stackdriver-agent 服务时,它们消失了。 我的项目中有 4 个虚拟机。只有其中两个出现这样的问题 在 Cent OS7 虚拟机和 Ubuntu 18 虚拟机上

【问题讨论】:

  • 但是,错误并不意味着代理有问题。
  • 错误有“不成功HTTP request 400"here
  • 我在基于 CentOS7 的镜像和最新的 v6.0.2 监控代理中出现了相同的日志
  • 我建议您可以创建一个PIT,这样支持工程师可以适当地解决问题
  • 在 Debian 9 上看到这个

标签: google-cloud-stackdriver google-cloud-monitoring


【解决方案1】:

目前有 2 个 PIT:

最后一个有谷歌工程师对错误400的解释:

这些消息令人讨厌但无害。您不会丢失任何指标。您可以放心地忽略这些日志。

根本原因是服务器端配置更改并影响所有代理。该更改仅影响响应的详细程度,而不影响请求的处理。一些传入的指标在该更改之前被静默删除,现在被嘈杂地删除。

这些指标默认由上游 collectd 插件发送,我们没有任何控制措施可以完全阻止这些指标被发送。日志垃圾邮件消息来自 collectd 对这些指标的内部处理。

如果您想过滤掉您看到的所有嘈杂的日志,您可以创建一个 Log Exclusion[1][2] 或 Log Sink[3][4]。日志排除会将日志与指定的过滤器匹配,并在它们进入之前将它们从日志查看器中删除,而日志接收器将获取日志并将它们定向到存储桶、大查询表或 PubSub 主题。

关于swap有一篇博文:

出现此错误是因为 VM 实例没有交换内存,因此此指标插件尝试除以 0。

要解决此问题,请删除此配置并重新启动 stackdriver-agent

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2020-10-15
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多